У меня проблема с вращением врагов в Unity. Я использовал этот сценарий:
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);
}
Но если я поставил врага на сцену и начал игру, он повернулся на 90 градусов. Это моя первая игра, и я не знаю, как это исправить. Это ошибка скрипта? Заранее спасибо.