diff --git a/Assets/01_Scenes/WhaleAdventure_VR/WhaleAttackScene.unity b/Assets/01_Scenes/WhaleAdventure_VR/WhaleAttackScene.unity index 41310a84..8f472f2e 100644 --- a/Assets/01_Scenes/WhaleAdventure_VR/WhaleAttackScene.unity +++ b/Assets/01_Scenes/WhaleAdventure_VR/WhaleAttackScene.unity @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:0fa656c640c30a3f28676859a33a5d1ccad3b6ed9de6e6c8039a0e8bc73ae6d0 -size 61946 +oid sha256:33a976e0f1efed4f1655f1307a435c47fdcf195e776578f1f9e1cc3f012d5a3c +size 65004 diff --git a/Assets/02_Scripts/Player/PlayerController.cs b/Assets/02_Scripts/Player/PlayerController.cs index f3312f2f..145bb8db 100644 --- a/Assets/02_Scripts/Player/PlayerController.cs +++ b/Assets/02_Scripts/Player/PlayerController.cs @@ -1,15 +1,50 @@ -using System.Collections.Generic; using UnityEngine; +[RequireComponent(typeof(Rigidbody))] public class PlayerController : MonoBehaviour,ISceneInitializable { + [Header("점프 설정")] + [SerializeField] private float _jumpForce = 5f; // 점프 세기(임펄스) + [SerializeField] private float _groundCheckDistance = 0.2f; // 바닥 판정 레이 길이 + [SerializeField] private LayerMask _groundLayer = ~0; // 바닥으로 인정할 레이어 + + private Rigidbody _rb; + + private void Awake() + { + _rb = GetComponent(); + } + public void OnSceneLoaded() { + // 중복 구독 방지 후 등록 (씬이 다시 로드돼도 한 번만 구독되도록) + InputManager.Instance.OnJump_Event -= this.OnJump; InputManager.Instance.OnJump_Event += this.OnJump; } public void OnJump() { - + if (_rb == null) + { + Debug.LogWarning("[PlayerController] Rigidbody가 없어 점프할 수 없습니다.", this); + return; + } + + // 바닥에 닿아 있을 때만 점프 (공중 연속 점프 방지) + if (!IsGrounded()) return; + + // 수직 속도를 초기화한 뒤 위로 임펄스를 줘서 항상 같은 높이로 점프 + Vector3 v = _rb.linearVelocity; + v.y = 0f; + _rb.linearVelocity = v; + _rb.AddForce(Vector3.up * _jumpForce, ForceMode.Impulse); } -} \ No newline at end of file + + // 발밑으로 짧은 레이를 쏴서 바닥 접촉 여부 확인 + private bool IsGrounded() + { + Vector3 origin = transform.position + Vector3.up * 0.05f; + return Physics.Raycast(origin, Vector3.down, _groundCheckDistance + 0.05f, _groundLayer, + QueryTriggerInteraction.Ignore); + } +} diff --git a/Assets/04_Models/Hands/WoodHand/LeftHand_StylizedWood.prefab b/Assets/04_Models/Hands/WoodHand/LeftHand_StylizedWood.prefab index 410c8158..fd832804 100644 --- a/Assets/04_Models/Hands/WoodHand/LeftHand_StylizedWood.prefab +++ b/Assets/04_Models/Hands/WoodHand/LeftHand_StylizedWood.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:21ae8f72b64b4d7e38cbc1ad0ae8300d89d6391b286ac178dc6c4ab8115f0ec3 -size 3932 +oid sha256:e24ecc59c3ed500c157c6ae5655ed6ee5eba8869554e78570805dcece98f5888 +size 23211 diff --git a/Assets/04_Models/Hands/WoodHand/Poses/WHPose_GrabStick.asset b/Assets/04_Models/Hands/WoodHand/Poses/WHPose_GrabStick.asset new file mode 100644 index 00000000..da576886 --- /dev/null +++ b/Assets/04_Models/Hands/WoodHand/Poses/WHPose_GrabStick.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:4675375c3170ba56cddbf8d1dbe1e5a6d3e67e41c6407098ce6080a7d810be79 +size 5036 diff --git a/Assets/04_Models/Hands/WoodHand/Poses/WHPose_GrabStick.asset.meta b/Assets/04_Models/Hands/WoodHand/Poses/WHPose_GrabStick.asset.meta new file mode 100644 index 00000000..22e61a48 --- /dev/null +++ b/Assets/04_Models/Hands/WoodHand/Poses/WHPose_GrabStick.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: 44d9c2fc7cd20f041829401580b55417 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Hands/WoodHand/Poses/WHPose_Point.asset b/Assets/04_Models/Hands/WoodHand/Poses/WHPose_Point.asset new file mode 100644 index 00000000..0e09c2f0 --- /dev/null +++ b/Assets/04_Models/Hands/WoodHand/Poses/WHPose_Point.asset @@ -0,0 +1,3 @@ +version https://git-lfs.github.com/spec/v1 +oid sha256:f7fc74778ef80efaa179e7eb7d66b3bb10bab4575c195237acd1b72d121a0928 +size 5024 diff --git a/Assets/04_Models/Hands/WoodHand/Poses/WHPose_Point.asset.meta b/Assets/04_Models/Hands/WoodHand/Poses/WHPose_Point.asset.meta new file mode 100644 index 00000000..718208a0 --- /dev/null +++ b/Assets/04_Models/Hands/WoodHand/Poses/WHPose_Point.asset.meta @@ -0,0 +1,8 @@ +fileFormatVersion: 2 +guid: b010d83e1b47a0b489dea53925158b33 +NativeFormatImporter: + externalObjects: {} + mainObjectFileID: 11400000 + userData: + assetBundleName: + assetBundleVariant: diff --git a/Assets/04_Models/Hands/WoodHand/RightHand_StylizedWood.prefab b/Assets/04_Models/Hands/WoodHand/RightHand_StylizedWood.prefab index f35089be..d3f5772c 100644 --- a/Assets/04_Models/Hands/WoodHand/RightHand_StylizedWood.prefab +++ b/Assets/04_Models/Hands/WoodHand/RightHand_StylizedWood.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:e9242ccb0cad66af6fad375e38983a67be4db6405a1c451dc8766fdb567d481b -size 35889 +oid sha256:95d27fd2ced82a4a64cb2fc805af36b99d63a7da8c4d055000c1d112afa2c121 +size 37006 diff --git a/Assets/04_Models/Player.prefab b/Assets/04_Models/Player.prefab index eb709dcd..c6b6e7b0 100644 --- a/Assets/04_Models/Player.prefab +++ b/Assets/04_Models/Player.prefab @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c897c4abb75533601e82f99636a6b1d1cc6232fee4cc9a4968c7f9b5deb83fa -size 75193 +oid sha256:ae7af51dac7e3b584ae0031d87ef28e23145a7aab2bbf2f231dbb650418278c5 +size 77007 diff --git a/Assets/XRI Starter Kit/Assets/Settings/XR/Settings/Open VR Settings.asset b/Assets/XRI Starter Kit/Assets/Settings/XR/Settings/Open VR Settings.asset index e2357fc9..096a150f 100644 --- a/Assets/XRI Starter Kit/Assets/Settings/XR/Settings/Open VR Settings.asset +++ b/Assets/XRI Starter Kit/Assets/Settings/XR/Settings/Open VR Settings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:5c234abd793d299b01b9178ee4b65c9dc2f0e6696e567cb4e4dc81d60a48e1f2 -size 722 +oid sha256:7cb0d4385688cdbe9d20019027f657da3d0084dc69763c488d8691c922a9a537 +size 999 diff --git a/Assets/XRI Starter Kit/Resources/HandPoserSettings.asset b/Assets/XRI Starter Kit/Resources/HandPoserSettings.asset index 54a604f3..9f96c538 100644 --- a/Assets/XRI Starter Kit/Resources/HandPoserSettings.asset +++ b/Assets/XRI Starter Kit/Resources/HandPoserSettings.asset @@ -1,3 +1,3 @@ version https://git-lfs.github.com/spec/v1 -oid sha256:680ecb93dcce8c5c511593d487b58a7c61fac4c2b14089147c8d30bb02ac89d7 -size 1609 +oid sha256:37f03201d36157fc0ccf56ceae0091cd82eeab4c94589302c5bc8330d1d2deb0 +size 1072