没有物理的Unity 3D碰撞

时间:2017-10-07 14:16:38

标签: unity3d

在我的游戏中,我有2个物体。我希望他们能够碰撞而不是互相攻击。目前碰撞正在发挥作用,但当一个物体推动另一个物体时,其他物体开始漂浮。我不想要那个。如果没有物理学(浮动,推动等),我怎么能得到碰撞(不相互碰撞)?

1 个答案:

答案 0 :(得分:0)

使游戏对象对其上施加的外力做出反应的组件是Rigidbody

- 您可以在刚体上配置约束,因此被动物理(来自物体外部的力,如重力和碰撞)将无法在您阻挡的轴上起作用。只有主动力(如AddForce()方法) Ridigbody Component in Editor with all constraints enabled

- 在静态对象(如墙,树)中,您可以删除刚体组件。它也会提升性能。只在动态对象中使用刚体,如角色,车辆,球,子弹

- 在A和B对象之间,至少有一个必须有刚体,否则无法进行碰撞检测(在包含OnCollisionEnter(或Stay)方法的对象中

但要小心。如果没有刚体,您将无法使用AddForce()方法移动对象。如果在Transform上使用Translate方法,碰撞检测将变得如此不准确