У меня есть персонаж, который ходит по случайным точкам в моей комнате в Unity. Проблема в том, что он всегда обращен в одном направлении, я хочу написать в C # фрагмент кода, который будет определять направление, в котором находится персонаж в данный момент, и положение цели, а затем вычисляет угол между ними, чтобы превратить символ в такое количество. Я попробовал эту LookAt
функцию, но она заставляет персонажа ходить в форме дуги к цели, что выглядит очень неестественно, так как постоянно смотрит на цель.
9
Ответы:
Функция LookAt сделает это за вас. Возможно, вы используете его неправильно, или что-то не так с вашим рулевым управлением, если у вас есть проблемы с этим. Вы можете попробовать это тоже так:
Теперь вы можете либо привязаться к этому вращению, либо сделать это медленно с течением времени. (медленно со временем означает, что весь этот код должен войти в функцию обновления)
Для 2D другой альтернативный метод будет Atan2 :
источник