Unity |将游戏对象远离正在向他们移动的其他游戏对象

时间:2015-12-29 09:48:27

标签: unity3d

我有2个AI游戏对象,它们都是胶囊。考虑到第一个胶囊AI命名为X而第二个胶囊AI命名为Y,我试图让Y离开X(逃离他),而X追逐Y(跟随他)。我不知道该怎么做,我很感激方向。

我试着去做这里所写的内容,但即使他们有胶囊对撞机,他们都穿过墙壁,我试图这样做:

http://forum.unity3d.com/threads/getting-objects-to-move-away-from-my-users-gameobject.142468/

但它们只向一个方向移动并穿过墙壁。

Vector3 position = transform.position;
Vector3 targetPosition = target.transform.position;
Vector3 direction = position - targetPosition;
transform.position += direction * 2.0f * Time.deltaTime;`

1 个答案:

答案 0 :(得分:1)

您正在使用transform.Translate移动它们。移动变换意味着“无论环境如何,都将对象置于给定位置”。如果您希望它们进行交互,您需要使用CharacterController组件及其方法或刚体组件并强制移动它。