【发布时间】:2021-02-11 11:18:32
【问题描述】:
我试图用刚体跳跃,有时我的跳跃很低,就像它堆叠在什么东西上一样,有时又很高。为什么会变?
谢谢你的回答
我的代码:
private void Update() {
if (Input.GetKeyDown(KeyCode.Space) && isGrounded) Jump();
}
private void FixedUpdate()
{
isGrounded = Physics.CheckSphere(groundCheck.position, 0.2f, groundMask);
}
private void Jump()
{
rigidbody.AddForce(Vector3.up * 20, ForceMode.VelocityChange);
isGrounded = false;
}
【问题讨论】:
-
你的地面层对撞机是如何设置的?你的游戏是 2D 还是 3D?如何地形/地面设置?请提供更多信息。
-
抱歉,我没有意识到,但您的问题仍然缺少地面设置?也许您的代码不是问题,但编辑器设置是问题。
-
向我们展示检查器,我也不知道,但您可能还需要计算基于您的更新函数,或者在 fixedUpdate 函数中处理输入。为什么要分开?
标签: unity3d rigid-bodies