【发布时间】:2021-02-01 09:59:23
【问题描述】:
我的脚本有问题,我想要我的敌人,跟随并转向玩家。当他四处走动时。 看起来效果不错,但是当我的玩家在 y 上旋转 180 度时,我的敌人似乎向后退了很多(他的位置),只有当我的玩家恢复到他的正常旋转时,敌人才似乎回来了。 我做错了什么?
public class EnemyTesting : MonoBehaviour
{
public GameObject player;
public float speed = 1.5f;
public float turnRate;
private void Update()
{
Vector3 toTarget = player.transform.position - transform.position;
float angleToTarget = Vector3.Angle(transform.forward, toTarget);
Vector3 turnAxis = Vector3.Cross(transform.forward, toTarget);
transform.RotateAround(transform.position, turnAxis, Time.deltaTime * turnRate * angleToTarget);
transform.Translate(toTarget * speed * Time.deltaTime);
}
【问题讨论】: