В чем разница между поворотом поворота и поворотом вперед? - PullRequest
1 голос
/ 14 мая 2019

Я хочу повернуть 'transform.forward' с преобразованием без вращения.

но есть проблема результата 'rot * tf.forward'

Мне нужно много повернуть transform.forward.

Я знаю, что преобразование. Поворот - это высокая стоимость.

Почему они разные?

Transform tf = transform;
Quaternion rot = Quaternion.Euler(90f, 0f, 0f);

Vector3 eulerRot1 = rot * tf.forward * Mathf.Rad2Deg;
tf.roration *= rot;
Vector3 eulerRot2 = tf.forward * Mathf.Rad2Deg;

if(eulerRot1 == eulerRot2)
{
    Debug.Log("Same");
}
else
{
   Debug.Log("Not same");
}

1 Ответ

1 голос
/ 14 мая 2019

tf.forward не поворачивает ваш игровой объект вперед. tf.forward - векторная точка вперед относительно вашего игрового объекта.

transform.Rotate не требует больших затрат, перемещение вашего игрового объекта напрямую через его преобразование никогда не бывает дорогим. Перемещение с его физическим компонентом стоит дорого

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...