统一移动物体并停止碰撞

时间:2015-05-21 01:15:36

标签: unity3d

我是新手,我正试图将物体移动一定数量的单位,但是当我遇到障碍物时我想停止这样做,我希望能够绕过障碍物移动,我有找出触发器和刚体的麻烦 这是移动我的对象的代码

 if(Input.GetKeyDown(KeyCode.UpArrow))
        gameObject.transform.Translate(0f, 0f, 1f, Space.Self);

这很好用,就是当我在一个物体的旁边时,取决于对撞机或触发器它会推动或合并物体,我希望它停在那个方向。

1 个答案:

答案 0 :(得分:2)

在变换上使用Translate方法有效地将gameObject传送到下一个位置,同时忽略任何物理或碰撞。如果使用CharacterController,请使用Move方法,或者如果使用刚体,请使用MovePosition方法。此外,如果在玩家身上使用刚体,则应将其设置为非运动,并且不动的障碍物应将其刚体设置为isKinematic。