Уже третий день пытаюсь сделать плавное изменение анимации при повороте всего персонажа, пока получается только это
За инверсию осей в зависимости от поворота отвечает этот костыльный код:
Код
if (rotation < 45 || rotation > 315)
{//Вперёд
animator.SetFloat("Y", speed_z * 10);
animator.SetFloat("X", speed_x * 10);
if (speed_z < 0) { animator.SetFloat("X", -speed_x * 10); }
}
if (rotation > 45 && rotation < 135)
{//Вправо
animator.SetFloat("Y", speed_x * 10);
animator.SetFloat("X", -speed_z * 10);
if (speed_x < 0) { animator.SetFloat("X", speed_z * 10); }
}
if (rotation > 135 && rotation < 225)
{//Назад
animator.SetFloat("Y", -speed_z* 10);
animator.SetFloat("X", -speed_x * 10);
if (speed_z > 0) { animator.SetFloat("X", speed_x * 10); }
}
if (rotation > 225 && rotation < 315)
{//Влево
animator.SetFloat("Y", -speed_x * 10);
animator.SetFloat("X", speed_z * 10);
if (speed_x > 0) { animator.SetFloat("X", -speed_z * 10); }
}
Подскажите, пожалуйста, как правильно сделать?