commented out wip bobbing to film video

This commit is contained in:
Franklin 2023-12-02 17:26:47 -04:00
parent 51019a35a5
commit 9f5491948e
12 changed files with 151 additions and 96 deletions

164
Cargo.lock generated
View File

@ -343,9 +343,9 @@ checksum = "9ba43ea6f343b788c8764558649e08df62f86c6ef251fdaeb1ffd010a9ae50a2"
[[package]]
name = "bevy"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "329e344f835f5a9a4c46a6d1d57371f726aa2c482d1bd669b2b9c4eb1ee91fd7"
checksum = "e4bc7e09282a82a48d70ade0c4c1154b0fd7882a735a39c66766a5d0f4718ea9"
dependencies = [
"bevy_internal",
]
@ -416,9 +416,9 @@ dependencies = [
[[package]]
name = "bevy_a11y"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "271b812e5734f5056a400f7d64592dd82d6c0e6179389c2f066f433ab8bc7692"
checksum = "68080288c932634f6563d3a8299efe0ddc9ea6787539c4c771ba250d089a94f0"
dependencies = [
"accesskit",
"bevy_app",
@ -428,9 +428,9 @@ dependencies = [
[[package]]
name = "bevy_animation"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ab94187a1253433e14f175293d8a86ec1c2822fda2a17807908f11ec21f45f00"
checksum = "7aa37683b1281e1ba8cf285644e6e3f0704f14b3901c5ee282067ff7ff6f4a56"
dependencies = [
"bevy_app",
"bevy_asset",
@ -447,9 +447,9 @@ dependencies = [
[[package]]
name = "bevy_app"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "172d532ea812e5954fa814dae003c207f2a0b20c6e50431787c94a7159677ece"
checksum = "d41731817993f92e4363dd3335558e779e290bc71eefc0b5547052b85810907e"
dependencies = [
"bevy_derive",
"bevy_ecs",
@ -463,9 +463,9 @@ dependencies = [
[[package]]
name = "bevy_asset"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ccb2b67984088b23e223cfe9ec1befd89a110665a679acb06839bc4334ed37d6"
checksum = "935984568f75867dd7357133b06f4b1502cd2be55e4642d483ce597e46e63bff"
dependencies = [
"async-broadcast",
"async-fs",
@ -495,9 +495,9 @@ dependencies = [
[[package]]
name = "bevy_asset_macros"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "1b3245193e90fc8abcf1059a467cb224501dcda083d114c67c10ac66b7171e3a"
checksum = "3f48b9bbe4ec605e4910b5cd1e1a0acbfbe0b80af5f3bcc4489a9fdd1e80058c"
dependencies = [
"bevy_macro_utils",
"proc-macro2",
@ -507,9 +507,9 @@ dependencies = [
[[package]]
name = "bevy_audio"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "478de80ff25cb7decbcb22797774d1597e8c32914e81431c67d64faadc08f84a"
checksum = "18a69889e1bfa4dbac4e641536b94f91c441da55796ad9832e77836b8264688b"
dependencies = [
"bevy_app",
"bevy_asset",
@ -525,9 +525,9 @@ dependencies = [
[[package]]
name = "bevy_core"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "025e6800b73048092a55c3611e9327ad4c4c17b60517ec1c0086bb40b4b19ea8"
checksum = "3daa24502a14839509f02407bc7e48299fe84d260877de23b60662de0f4f4b6c"
dependencies = [
"bevy_app",
"bevy_ecs",
@ -540,9 +540,9 @@ dependencies = [
[[package]]
name = "bevy_core_pipeline"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2e4b08a2d53ba62d9ec1fca3f7f4e0f556e9f59e1c8e63a4b7c2a18c0701152c"
checksum = "b4b77c4fca6e90edbe2e72da7bc9aa7aed7dfdfded0920ae0a0c845f5e11084a"
dependencies = [
"bevy_app",
"bevy_asset",
@ -562,9 +562,9 @@ dependencies = [
[[package]]
name = "bevy_derive"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "24bf40259be12a1a24d9fd536f5ff18d31eeb5665b77e2732899783be6edc5d6"
checksum = "f484318350462c58ba3942a45a656c1fd6b6e484a6b6b7abc3a787ad1a51e500"
dependencies = [
"bevy_macro_utils",
"quote",
@ -573,9 +573,9 @@ dependencies = [
[[package]]
name = "bevy_diagnostic"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "41b5a99a9fb6cd7d1eb1714fad193944a0317f0887a15cccb8309c8d37951132"
checksum = "fa38ca5967d335cc1006a0e0f1a86c350e2f15fd1878449f61d04cd57a7c4060"
dependencies = [
"bevy_app",
"bevy_core",
@ -588,9 +588,9 @@ dependencies = [
[[package]]
name = "bevy_ecs"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ae11a1f467c372b50e9d4b55e78370f5420c9db7416200cc441cc84f08174dd3"
checksum = "7709fbd22f81fb681534cd913c41e1cd18b17143368743281195d7f024b61aea"
dependencies = [
"async-channel",
"bevy_ecs_macros",
@ -609,9 +609,9 @@ dependencies = [
[[package]]
name = "bevy_ecs_macros"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f642c2b67c4d0daf8edf15074f6351457eb487a34b3de1290c760d8f3ac9ec16"
checksum = "a8843aa489f159f25cdcd9fee75cd7d221a7098a71eaa72cb2d6b40ac4e3f1ba"
dependencies = [
"bevy_macro_utils",
"proc-macro2",
@ -675,9 +675,9 @@ dependencies = [
[[package]]
name = "bevy_encase_derive"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "65b9fb5a62c4e3ab70caaa839470d35fa932001b1b34b08bc7f7f1909bd2b3a7"
checksum = "5328a3715e933ebbff07d0e99528dc423c4f7a53590ed1ac19a120348b028990"
dependencies = [
"bevy_macro_utils",
"encase_derive_impl",
@ -685,9 +685,9 @@ dependencies = [
[[package]]
name = "bevy_gilrs"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ad31cc2c84315e0759d793d6c5bcb7d8789bbc16359c98d1b766e708c1bbae49"
checksum = "9b81ca2ebf66cbc7f998f1f142b15038ffe3c4ae1d51f70adda26dcf51b0c4ca"
dependencies = [
"bevy_app",
"bevy_ecs",
@ -701,9 +701,9 @@ dependencies = [
[[package]]
name = "bevy_gizmos"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "87d1cc978b91f416b23eb16f00e69f95c3a04582021827d8082e92d4725cc510"
checksum = "db232274ddca2ae452eb2731b98267b795d133ddd14013121bc7daddde1c7491"
dependencies = [
"bevy_app",
"bevy_asset",
@ -721,9 +721,9 @@ dependencies = [
[[package]]
name = "bevy_gltf"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6f933745c0c86e2c07948def581259b466f99708328657054e956275430ccfd7"
checksum = "85adc6b1fc86687bf67149e0bafaa4d6da432232fa956472d1b37f19121d3ace"
dependencies = [
"base64 0.13.1",
"bevy_animation",
@ -781,9 +781,9 @@ dependencies = [
[[package]]
name = "bevy_hierarchy"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "64fa240011fce8ee23f9b46e5a26a628a31d7860d6d2e4e0e361bb3ea6d5a703"
checksum = "06bd477152ce2ae1430f5e0a4f19216e5785c22fee1ab23788b5982dc59d1a55"
dependencies = [
"bevy_app",
"bevy_core",
@ -796,9 +796,9 @@ dependencies = [
[[package]]
name = "bevy_input"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9e86e241b3a10b79f65a69205552546723b855d3d4c1bd8261637c076144d32f"
checksum = "cab9a599189b2a694c182d60cd52219dd9364f9892ff542d87799b8e45d9e6dc"
dependencies = [
"bevy_app",
"bevy_ecs",
@ -810,9 +810,9 @@ dependencies = [
[[package]]
name = "bevy_internal"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "55124e486814c4d3632d5cfad9c4f4e46d052c028593ec46fef5bfbfb0f840b1"
checksum = "f124bece9831afd80897815231072d51bfe3ac58c6bb58eca8880963b6d0487c"
dependencies = [
"bevy_a11y",
"bevy_animation",
@ -849,9 +849,9 @@ dependencies = [
[[package]]
name = "bevy_log"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "011417debf7868b45932bb97fc0d5bfdeaf9304e324aa94840e2f1e6deeed69d"
checksum = "0dc10ba1d225a8477b9e80a1bf797d8a8b8274e83c9b24fb4d9351aec9229755"
dependencies = [
"android_log-sys",
"bevy_app",
@ -865,9 +865,9 @@ dependencies = [
[[package]]
name = "bevy_macro_utils"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf6fba87c6d069fcbcd8a48625ca8ab4392ad40d2b260863ce7d641a0f42986d"
checksum = "e566640c6b6dced73d2006c764c2cffebe1a82be4809486c4a5d7b4b50efed4d"
dependencies = [
"proc-macro2",
"quote",
@ -878,9 +878,9 @@ dependencies = [
[[package]]
name = "bevy_math"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "752764558a1f429c20704c3b836a019fa308961c43fdfef4f08e339d456c96be"
checksum = "58ddc2b76783939c530178f88e5711a1b01044d7b02db4033e2eb8b43b6cf4ec"
dependencies = [
"glam",
"serde",
@ -888,9 +888,9 @@ dependencies = [
[[package]]
name = "bevy_mikktspace"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b596c41a56f2268ec7cde560edc588bc7b5886e4b49c8b27c4dcc9f7c743424c"
checksum = "8ec4962977a746d870170532fc92759e04d3dbcae8b7b82e7ca3bb83b1d75277"
dependencies = [
"glam",
]
@ -912,9 +912,9 @@ dependencies = [
[[package]]
name = "bevy_pbr"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "eeb6a35a78d355cc21c10f277dcd171eca65e30a90e76eb89f4dacf606621fe1"
checksum = "520bfd2a898c74f84ea52cfb8eb061f37373ad15e623489d5f75d27ebd6138fe"
dependencies = [
"bevy_app",
"bevy_asset",
@ -938,9 +938,9 @@ dependencies = [
[[package]]
name = "bevy_ptr"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "308a02679f6ce21ef71de20fae6d6a2016c07baa21d8e8d0558e6b7851e8adf2"
checksum = "c77ec20c8fafcdc196508ef5ccb4f0400a8d193cb61f7b14a36ed9a25ad423cf"
[[package]]
name = "bevy_rapier3d"
@ -957,9 +957,9 @@ dependencies = [
[[package]]
name = "bevy_reflect"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cdd56914a8ad57621d7a1a099f7e6b1f7482c9c76cedc9c3d4c175a203939c5d"
checksum = "d7921f15fc944c9c8ad01d7dbcea6505b8909c6655cd9382bab1407181556038"
dependencies = [
"bevy_math",
"bevy_ptr",
@ -976,9 +976,9 @@ dependencies = [
[[package]]
name = "bevy_reflect_derive"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "25f627907c40ac552f798423447fc331fc1ddacd94c5f7a2a70942eb06bc8447"
checksum = "b4a8c5475f216e751ef4452a1306b00711f33d2d04d9f149e4c845dfeb6753a0"
dependencies = [
"bevy_macro_utils",
"proc-macro2",
@ -989,9 +989,9 @@ dependencies = [
[[package]]
name = "bevy_render"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "90d777f4c51bd58e9e40777c6cb8dde0778df7e2c5298b3f9e3455bd12a9856c"
checksum = "bdefdd3737125b0d94a6ff20bb70fa8cfe9d7d5dcd72ba4dfe6c5f1d30d9f6e4"
dependencies = [
"async-channel",
"bevy_app",
@ -1035,9 +1035,9 @@ dependencies = [
[[package]]
name = "bevy_render_macros"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "35b00c3d0abff94a729460fc9aa95c2ceac71b49b3041166bb5ba3098e9657e7"
checksum = "64d86bfc5a1e7fbeeaec0c4ceab18155530f5506624670965db3415f75826bea"
dependencies = [
"bevy_macro_utils",
"proc-macro2",
@ -1047,9 +1047,9 @@ dependencies = [
[[package]]
name = "bevy_scene"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ba6294396a6375f0b14341d8003408c10aa040e3f833ac8bd49677170ec55d73"
checksum = "e7df078b5e406e37c8a1c6ba0d652bf105fde713ce3c3efda7263fe27467eee5"
dependencies = [
"bevy_app",
"bevy_asset",
@ -1068,9 +1068,9 @@ dependencies = [
[[package]]
name = "bevy_sprite"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4f7d1f88a6e5497fdafd95c20984a1d1b5517bc39d51600b4988cd60c51837a"
checksum = "c7cc0c9d946e17e3e0aaa202f182837bc796c4f862b2e5a805134f873f21cf7f"
dependencies = [
"bevy_app",
"bevy_asset",
@ -1094,9 +1094,9 @@ dependencies = [
[[package]]
name = "bevy_tasks"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "3a45be906618192515bc613e46546150089adbb4a82178dc462045acd1e89e92"
checksum = "f4fefa7fe0da8923525f7500e274f1bd60dbd79918a25cf7d0dfa0a6ba15c1cf"
dependencies = [
"async-channel",
"async-executor",
@ -1108,9 +1108,9 @@ dependencies = [
[[package]]
name = "bevy_text"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c136af700af4f87c94f68d6e019528c371bf09ebf4a8ff7468bb3c73806b34f5"
checksum = "3a9a79d49ca06170d69149949b134c14e8b99ace1444c1ca2cd4743b19d5b055"
dependencies = [
"ab_glyph",
"bevy_app",
@ -1130,9 +1130,9 @@ dependencies = [
[[package]]
name = "bevy_time"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b29709cadf22d318a0b7c79f763e9c5ac414292bd0e850066fa935959021b276"
checksum = "e6250d76eed3077128b6a3d004f9f198b01107800b9824051e32bb658054e837"
dependencies = [
"bevy_app",
"bevy_ecs",
@ -1144,9 +1144,9 @@ dependencies = [
[[package]]
name = "bevy_transform"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "70262c51e915b6224129206d23823364e650cf5eb5f4b6ce3ee379f608c180d2"
checksum = "d541e0c292edbd96afae816ee680e02247422423ccd5dc635c1e211a20ed64be"
dependencies = [
"bevy_app",
"bevy_ecs",
@ -1158,9 +1158,9 @@ dependencies = [
[[package]]
name = "bevy_ui"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cd5ecbf2dceaab118769dd870e34d780bfde556af561fd10d8d613b0f237297e"
checksum = "d785e3b75dabcb2a8ad0d50933f8f3446d59e512cabc2d2a145e28c2bb8792ba"
dependencies = [
"bevy_a11y",
"bevy_app",
@ -1188,9 +1188,9 @@ dependencies = [
[[package]]
name = "bevy_utils"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c8e75d4a34ef0b15dffd1ee9079ef1f0f5139527e192b9d5708b3e158777c753"
checksum = "7915222f4a08ccc782e08d10b751b42e5f9d786e697d0cb3fd09333cb7e8b6ea"
dependencies = [
"ahash 0.8.3",
"bevy_utils_proc_macros",
@ -1206,9 +1206,9 @@ dependencies = [
[[package]]
name = "bevy_utils_proc_macros"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f7dfd3735a61a1b681ed1e176afe4eae731bbb03e51ad871e9eb39e76a2d170e"
checksum = "7aafecc952b6b8eb1a93c12590bd867d25df2f4ae1033a01dfdfc3c35ebccfff"
dependencies = [
"proc-macro2",
"quote",
@ -1217,9 +1217,9 @@ dependencies = [
[[package]]
name = "bevy_window"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e60d1830b3fbd7db5bfea7ac9fcd0f5e1d1af88c91ab469e697ab176d8b3140b"
checksum = "41ee72bf7f974000e9b31bb971a89387f1432ba9413f35c4fef59fef49767260"
dependencies = [
"bevy_a11y",
"bevy_app",
@ -1233,9 +1233,9 @@ dependencies = [
[[package]]
name = "bevy_winit"
version = "0.12.0"
version = "0.12.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f8294e78c6a1f9c34d36501a377c5d20bf0fa23a0958187bb270187741448ba"
checksum = "1eb71f287eca9006dda998784c7b931e400ae2cc4c505da315882a8b082f21ad"
dependencies = [
"accesskit_winit",
"approx",

View File

@ -15,7 +15,7 @@ opt-level = 3
opt-level = 3
[dependencies]
bevy = { version = "0.12", features = []}
bevy = { version = "0.12.1", features = []}
bevy-inspector-egui = "0.21.0"
bevy_editor_pls = "0.6"
bevy_rapier3d = { version = "0.23", features = ["debug-render-3d"] }

View File

@ -47,8 +47,8 @@ Multiplayer
- [ ] Make the weapon's collider cover the firing point
- [ ] If possible, create a new gun pose, like pushed back
- [ ] Bobbing
- [ ] Gun Bob on run
- [ ] Gun Bob on walk
- [ ] TODO: Gun Bob on run
- [ ] TODO: Gun Bob on walk
- [ ] Reload animation (procedural)
- [ ] Real world magazines
- [x] Rewriting bullet physics to use raycasts & kinematic rigidbodies (logic controlled)

View File

@ -8,7 +8,7 @@ use crate::{comps::core::{
grid::UGrid,
items::item::{Item, ItemType, ItemId},
markers::{holdable::HoldableObjectType, interactable::Interactable, proxy::{weapons::initial_attachments::InitialAttachments, physics::rapier::WhenColliderAddImpulse}}, inventory::slot::PlayerInventorySlotType, weapons::{firearm::Firearm, firearm_data::FirearmData}, events::pickup_item::ItemState,
}, setup::assets::{GltfAssets, GltfAssetType}, utils};
}, setup::assets::{GltfAssets, GltfAssetType}, utils, logic::core::player::hand_bobbing::HandBobbing};
#[derive(Component, Clone)]
pub struct Ak105GunItem {
@ -96,6 +96,7 @@ impl Item for Ak105GunItem {
"{} Item Gltf Asset",
self.inventory_title()
)),
HandBobbing::default(),
))
.id();
match item_state {

View File

@ -0,0 +1,5 @@
use bevy::prelude::*;
#[derive(Component, Clone, Debug, Reflect, Default)]
#[reflect(Component)]
pub struct FirearmScene;

View File

@ -8,4 +8,5 @@ pub mod player;
pub mod settings_screen;
pub mod proxy;
pub mod inspect_screen;
pub mod collider_flags;
pub mod collider_flags;
pub mod firearm_scene;

View File

@ -0,0 +1,44 @@
use bevy::prelude::*;
use bevy_rapier3d::dynamics::Velocity;
use crate::comps::core::markers::{player::Player, holdable::InPlayerHands, firearm_scene::FirearmScene};
use super::player_movement::PlayerLinearYState;
#[derive(Component, Clone, Debug, Reflect, Default)]
#[reflect(Component)]
pub struct HandBobbing {
pub speed_curve: f32,
pub bob_position: Vec3,
}
/// The maximum limits of travel from move input
const TRAVEL_LIMIT: Vec3 = Vec3 { x: 0.025, y: 0.025, z: 0.025 };
/// The maximum limits of travel from bobbing over time
const BOBBING_LIMIT: Vec3 = Vec3 { x: 0.01, y: 0.01, z: 0.01 };
pub fn hand_bobbing_on_player_movement(
player_query: Query<(&Velocity, &PlayerLinearYState), With<Player>>,
in_player_hands_query: Query<Entity, With<InPlayerHands>>,
mut firearm_scene_query: Query<(&Parent, &mut Transform, &mut HandBobbing), (With<Handle<Scene>>, With<FirearmScene>)>,
time: Res<Time>,
) {
for in_player_hands in in_player_hands_query.iter() {
for (firearm_scene_parent, mut firearm_scene_transform, mut hand_bobbing) in firearm_scene_query.iter_mut() {
if in_player_hands == firearm_scene_parent.get() {
/*for (player_velocity, player_linear_y_state) in player_query.iter() {
hand_bobbing.speed_curve += time.delta_seconds() *
if player_linear_y_state.is_grounded(&0.1) { player_velocity.linvel.length() } else { 1.0 } + 0.01;
hand_bobbing.bob_position.x = (hand_bobbing.speed_curve.cos() * BOBBING_LIMIT.x * (
if player_linear_y_state.is_grounded(&0.1) { 1.0 } else { 0.0 }
)) - (player_velocity.linvel.normalize().x * TRAVEL_LIMIT.x);
hand_bobbing.bob_position.y = (hand_bobbing.speed_curve.sin() * BOBBING_LIMIT.y) - (player_velocity.linvel.y * TRAVEL_LIMIT.y);
hand_bobbing.bob_position.z = player_velocity.linvel.normalize().z * TRAVEL_LIMIT.z * -1.0;
firearm_scene_transform.translation = hand_bobbing.bob_position;
}*/
}
}
}
}

View File

@ -7,4 +7,5 @@ pub mod player_values_state;
pub mod player_vertical_sync;
pub mod animate_player;
pub mod camera_switching;
pub mod player_settings;
pub mod player_settings;
pub mod hand_bobbing;

View File

@ -14,7 +14,7 @@ use crate::{
},
hands::{capture_hand_usage, interact_action},
player_values_state::PlayerValuesState,
player_vertical_sync::sync_player_y_state, camera_switching::switch_camera,
player_vertical_sync::sync_player_y_state, camera_switching::switch_camera, hand_bobbing::hand_bobbing_on_player_movement,
}, collisions::collision_handler,
},
setup::{
@ -64,6 +64,7 @@ pub fn load_scene(application: &mut App) {
application.add_systems(Update, update_gun_position_on_collision);
application.add_systems(Update, update_bullet);
application.add_systems(Update, update_reticle);
application.add_systems(Update, hand_bobbing_on_player_movement);
//application.add_systems(Update, animate_player);
//application.add_systems(Update, register_bullet_hits);

View File

@ -23,13 +23,13 @@ pub fn set_spawn_points(mut commands: Commands) {
transform
},
});*/
commands.spawn(Glock17SpawnPoint {
/*commands.spawn(Glock17SpawnPoint {
transform: {
let mut transform = Transform::from_xyz(20.0, 10.0, 10.0);
transform.rotate_z(utils::rad_deg::radians_from_degrees(-90.0));
transform
},
});
});*/
commands.spawn(Ak105SpawnPoint ::new_fully_kitted_default({
let mut transform = Transform::from_xyz(18.0, 10.0, 18.0);
@ -37,11 +37,11 @@ pub fn set_spawn_points(mut commands: Commands) {
transform
}));
commands.spawn(Glock17SpawnPoint {
/*commands.spawn(Glock17SpawnPoint {
transform: {
let mut transform = Transform::from_xyz(20.0, 10.0, 20.0);
transform.rotate_z(utils::rad_deg::radians_from_degrees(-90.0));
transform
},
});
});*/
}

View File

@ -5,9 +5,9 @@ use bevy::{gltf::Gltf, prelude::*};
use crate::{
comps::core::{markers::{
holdable::InPlayerHands,
player::Player, proxy::character::in_player_hands_parent::InPlayerHandsParent,
player::Player, proxy::character::in_player_hands_parent::InPlayerHandsParent, firearm_scene::FirearmScene,
}, weapons::{firearm::Firearm, firearm_data::FirearmData, firearm_state::FirearmState}, events::pickup_item::ItemState, items::item::ItemId},
logic::core::guns::player_firing::PlayerFiringInfo,
logic::core::{guns::player_firing::PlayerFiringInfo, player::hand_bobbing::HandBobbing},
utils::{self},
};
@ -107,6 +107,8 @@ fn spawn_firearm_on_player_hands(
},
ItemState::Weapon(firearm_state),
Name::new("Firearm Gltf Asset"),
FirearmScene,
HandBobbing { speed_curve: 0.0, bob_position: Vec3::ZERO },
))
.id();
let firearm_entity = commands

View File

@ -8,7 +8,7 @@ impl Plugin for InspectMenuPlugin {
fn build(&self, app: &mut App) {
app
.add_systems(Startup, setup_inspect_screen)
//.add_systems(Update, update_inspect_screen)
.add_systems(Update, update_inspect_screen)
;
}
}