update: now player uses additional collider to detect ground

This commit is contained in:
KOSMOGOR
2025-03-18 16:59:33 +03:00
parent 552bfc98c2
commit 29a01f66cc
4 changed files with 87 additions and 6 deletions
+4 -6
View File
@@ -17,16 +17,18 @@ public class PlayerMovement : MonoBehaviour
[Header("Debug info")]
[SerializeField] bool isCrouching = false;
[SerializeField] Vector3 gravityVelocity;
[SerializeField] bool grounded;
[SerializeField] bool grounded = false;
CharacterController characterController;
GroundDetector ground;
void Start() {
characterController = GetComponent<CharacterController>();
ground = GetComponent<GroundDetector>();
}
void Update() {
grounded = GetOnGround();
grounded = ground.onGround;
HandleCrouching();
HandleMovement();
HandleJumping();
@@ -69,10 +71,6 @@ public class PlayerMovement : MonoBehaviour
characterController.Move(gravityVelocity * (Time.deltaTime * gravityMultiplier));
}
bool GetOnGround() {
return Physics.CheckSphere(legsPosition.position, legsRadius, groundMask);
}
void OnControllerColliderHit(ControllerColliderHit hit) {
hit.gameObject.SendMessage("ReverseOnControllerColliderHit", hit, SendMessageOptions.DontRequireReceiver);
}