Моб смотрит на игрока, но не идёт на него
Мой моб при достижении определённой дистанции между игроком должен останавливаться (прямо перед ним) и начинать его бить. Проблема в том, что игрок может перемещаться и он может зайти к мобу сбоку, а моб на него повернуться уже не может. Необходимо как-то останавливать моба, но делать так, чтобы тот поворачивался к игроку. Вот код остановки, который есть сейчас:
else if(distanceFromPlayer < 15)
{
nav.speed = 0;
}
Ответы (1 шт):
Автор решения: luvjungle
→ Ссылка
Можно так:
else if(distanceFromPlayer < 15)
{
nav.speed = 0;
nav.updateRotation = false; // выключаем управление вращением агентом
nav.transform.rotation = Quaternion.LookRotation(player.transform.position - nav.transform.position); // или любой другой расчет ориентации
}
и не забудьте включить nav.updateRotation = true если игрок вышел из зоны, где моб останавливается.