Unity中没有额外物理行为的刚体

时间:2017-04-04 21:41:23

标签: unity3d unity5 rigid-bodies

目前我正在制作赛车游戏。

我用Transform.translate课程移动我的车。

现在,我想要的汽车不是为了相互移动。

我将碰撞器和RigidBody附加到我的玩家车上并且它正在工作。

但我的问题是每次我的CPU车和玩家车相遇时,我的玩家车显示出不切实际的行为,比如走出屏幕或扔掉。

我知道这是物理引擎行为的一部分,但是有没有办法让RigidBody只做一个工作并使对象不会相互移动而不添加其他物理行为?

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

只有几个问题:

1 。您不要使用transform.translate移动Rigidbody。当你这样做时,对撞机将通过其他碰撞器。

您使用Rigidbody.AddForceRigidbody.velocityRigidbody.MovePosition移动Rigidbody。通过使用这些方法移动Rigidbody,碰撞应该正常运行。

2 。你甚至不应该移动汽车的Rigidbody

使用WheelCollider。有许多关于如何在互联网上设置它们的在线tutorials,但Unity的文档也很好。

WheelCollider.motorTorque用于向前或向后移动汽车。

WheelCollider.steerAngle用于驾驶汽车。

WheelCollider.brakeTorque用于制动汽车。

如果您需要进一步的帮助,可以找到功能齐全的WheelCollider样本here