Unity 3d:我怎样才能停止加速过程"我什么时候跳?

时间:2014-02-12 16:28:33

标签: unity3d

我的脚本中有一个跳跃的问题。 我的角色基本上总是前进(通过rigidbody.AddForce(Vector3.Forward * Speed),这也是在Update()上调用的。 问题是,当我跳跃时,角色继续向前移动,经过一段时间的空中后,由于不与任何东西发生碰撞而加速,并使跳跃变得不自然和虚假。

当我跳跃时,如何停止这种“超速过程”?

1 个答案:

答案 0 :(得分:3)

力会导致加速,这意味着你的速度会不断增加。

听起来你真正想要的是设定速度:

rigidBody.velocity = Vector3.Forward * Speed;

rigidBody.AddForce(Vector3.Forward * Speed, ForceMode.VelocityChange);