四元数LookRotation旋转AI角色问题[UNITY 3D]



我有一个简单的AI敌人,有一个脚本让敌人面对玩家,但我得到了一个奇怪的结果,敌人越靠近玩家就向后旋转,当它靠近玩家时,它几乎平放。

这是我第一次尝试人工智能,所以我真的不确定出了什么问题。我仔细检查了一下,以确保模型被正确导入,并查看了四元数LookRotation的文档,这似乎是正确的设置方法。任何关于错误的想法都将受到赞赏!

下面是脚本:

[SerializeField] private Transform target;
private void Update()
{
MoveToTarget();
}
private void MoveToTarget()
{
agent.SetDestination(target.position);
RotateToTarget();
}
private void RotateToTarget()
{

Vector3 direction = target.position - transform.position;

Quaternion rotation = Quaternion.LookRotation(direction, Vector3.up);
transform.rotation = rotation;
}

direction.y = 0;

通过完全忽略y轴修复

最新更新