Unity - 2D-игрок сверху вниз странно поворачивается лицом к мышиC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Unity - 2D-игрок сверху вниз странно поворачивается лицом к мыши

Сообщение Anonymous »

Я делаю шутер с видом сверху в Unity, выполнил сценарии «движение» и «посмотрите на мышь», и игрок нормально поворачивается лицом к мыши, но затем я применил Vector2.Lerp чтобы немного сгладить вращение, и теперь, когда вращение игрока по оси Z (игра ведется по оси xy) достигает 0, игрок поворачивается на 360 градусов в другую сторону от отметки 0 градусов и продолжает отслеживать мышь до тех пор, пока мышь снова опускается ниже отметки 0 градусов, и игрок снова делает ход.
Я действительно не знаю, почему это происходит. Вот код ротации игроков:

Код: Выделить всё

void FixedUpdate(){
rb.MovePosition(rb.position + movement * moveSpeed * Time.fixedDeltaTime);

Vector2 lookDir = mousePos - rb.position;
float currentAngle = rb.rotation;
float angle = Mathf.Atan2(lookDir.y, lookDir.x) * Mathf.Rad2Deg - 90f;
float smoothedAngle = Mathf.Lerp(currentAngle, angle, rotationTime);
if(canAim==true){
rb.rotation = smoothedAngle;

}

}
Первая строка предназначена для перемещения, следующая — для вращения. Мне очень хочется плавного вращения, но я не могу понять, как это сделать, чтобы не появлялось это странное вращение!
Вот я сделал GIF, он точно показывает, в чем проблема.
Вот я сделал GIF, он точно показывает, в чем проблема.
п>

Подробнее здесь: https://stackoverflow.com/questions/603 ... -the-mouse
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»