@Pythonchik3

Получить вектор перемещения в NavMesh Unity?

Всем привет!
Я почитал документацию Unity, и понял, что можно NavMeshAgent'у задать цель, а он будет туда перемещаться. Возникает вопрос: можно ли получить вектор правильного перемещения? ВНИМАНИЕ - не вектор текущего пермещения, а нарпавление, в котором должен двигаться мой объект.
Любой помощи буду благодарен.
Спасибо.
  • Вопрос задан
  • 107 просмотров
Пригласить эксперта
Ответы на вопрос 1
@Andrei1805
Я в unity не эксперт, но я не знаю никакой специализированной команды для этого. Есть такой вариант:
Vector3 last_position, move_vector = Vector3.zero;
void Start()
{
  last_position = transform.position;
}
void FixedUpdate()
{
     move_vector = transform.position - last_position; //Определения вектора, направленного от предыдущей позиции к следующей
      last_position =  transform.position; // Переназначение предыдущей позиции
}

Также это все можно делать не просто в FixedUpdate(), а запустить таймер, чтобы вектор определялся через большие промежутки времени типа:

float deltatime, timer;
void Update()
{
  if(Time.time > timer)
  {
     move_vector = transform.position - last_position; 
      last_position =  transform.position; 
     timer+=deltatime;
  }
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы