C# Unity 3D AI敌人旋转错误

C# Unity 3D AI敌人旋转错误,c#,object,unity3d,rotation,C#,Object,Unity3d,Rotation,我有一个统一的敌人轮换的问题。我使用了以下脚本: Transform target; NavMeshAgent agent; // Start is called before the first frame update void Start() { target = PlayerManager.instance.player.transform; agent = GetComponent<NavMeshAgent>(); FaceTarget(); }

我有一个统一的敌人轮换的问题。我使用了以下脚本:

Transform target;
NavMeshAgent agent;
// Start is called before the first frame update
void Start()
{
    target = PlayerManager.instance.player.transform;
    agent = GetComponent<NavMeshAgent>();
    FaceTarget();
}

// Update is called once per frame
void Update()
{
    float distance = Vector3.Distance(target.position, transform.position);
    agent.SetDestination(target.position);
    FaceTarget();
}
void FaceTarget()
{
    Vector3 direction = (target.position - transform.position).normalized;
   Quaternion lookRotation = Quaternion.LookRotation(new Vector3(direction.x, 0, direction.z));
    transform.rotation = Quaternion.Slerp(transform.rotation, lookRotation, Time.deltaTime * 10f);
}
变换目标;
NavMesh代理;
//在第一帧更新之前调用Start
void Start()
{
target=PlayerManager.instance.player.transform;
agent=GetComponent();
FaceTarget();
}
//每帧调用一次更新
无效更新()
{
浮动距离=矢量3.距离(target.position,transform.position);
agent.SetDestination(目标位置);
FaceTarget();
}
void FaceTarget()
{
Vector3方向=(target.position-transform.position);
四元数lookRotation=四元数lookRotation(新矢量3(方向.x,0,方向.z));
transform.rotation=Quaternion.Slerp(transform.rotation,lookRotation,Time.deltaTime*10f);
}

但若我把一个敌人放在现场并开始游戏,他们会旋转90度。这是我的第一场比赛,我不知道该怎么办。这是脚本错误吗?提前谢谢

Time.deltaTime*10f
速度超快-它将在0.1s内完成转弯,这可能不是您所想的:)问题与此处相同: