Я пытаюсь плавно перевернуть моего персонажа от первого лица, одновременно поворачивая игрока по оси Y, используя взгляд мыши.Проблема в том, что lerp не заканчивается точным результатом.Я хочу, чтобы конечный результат вращения был таким точным, чтобы (transform.up == TargetUpDirection ())
void FixOrientation() {
if(transform.up != TargetUpDirection()) //Vector3(0, -1, 0)
{
transform.rotation =
Quaternion.Lerp(transform.rotation,
Quaternion.LookRotation(transform.forward,
TargetUpDirection(), 0.1f);
}
}
, если я использую взгляд мыши, когда он переворачивается, transform.up.y всегда приводит к результату меньше 1как например 0.99881231, и мне нужно продолжать использовать внешний вид мыши, пока он не исправит себя, и мне это не нравится.
Причина, вероятно, в том, что когда я использую внешний вид мыши, персонаж вперед изменяется, что вызывает этоно я не знаю, как реализовать решение, потому что кватернионы меня смущают.