[英]How to add avoidance and chase behavior in Unity3D
我想实现一种行为类型,在这种行为中,一群猎物正从这种游戏的掠食者中逃脱
我试图以这种方式编写脚本,但是我没有得到期望的动作,猎物只是向前移动。
public Transform target;
public float damping;
public float drivespeed;
void Update () {
transform.Translate(Vector3.forward * Time.deltaTime * -drivespeed);
Quaternion rotation = Quaternion
.LookRotation(target.position - transform.position);
transform.rotation = Quaternion
.Slerp(transform.rotation, rotation, Time.deltaTime * damping);
}
看起来像你想要的
transform.Translate(transform.forward * Time.deltaTime * -drivespeed);
代替
transform.Translate(Vector3.forward * Time.deltaTime * -drivespeed);
( Vector3.forward
是世界前向向量,而不是对象的前向向量。)
可能是transform.translate在旋转逻辑之前被调用,但是很难分辨出这里出了什么问题。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.