Я создаю функцию прыжка игрока, и коллайдер не достигает такой же высоты, как ноги моих игроков при прыжке.
В настоящее время я пытаюсь вручную расположить коллайдер в зависимости от положения игрока. Однако это привело к тому, что капсула слишком сильно поднялась, и из-за времени, которое требуется для падения, игрок оказывается наполовину погруженным в землю.
void Jump() {
if (Input.GetKeyDown(KeyCode.Space)&& isGrounded == true) {
isGrounded = false;
actions.Jump();
rigidbody.AddRelativeForce(Vector3.up * jumpSpeed);
startTime = Time.time;
}
else {
if (transform.position.y < .6f) {
isGrounded = true;
}
}
}
private void Update() {
if (!isGrounded) {
dist = (Time.time - startTime) * capSpeed;
fracOfJourney = dist / journeyLength;
capCollider.center = Vector3.Lerp(start, end, fracOfJourney);
}
else {
// capCollider.center = Vector3.Lerp(end, start, fracOfJourney);
}
}