Описание
Кватернионы используются для представления вращения.
Они компактны, не страдают от блокировки подвеса и легко интерполируются. Внутри Unity для представления всех поворотов используются кватернионы.
Они основаны на комплексных числах, и их нелегко понять интуитивно. Вы почти никогда не получаете доступ к отдельным компонентам Quaternion (x, y, z, w) и не модифицируете их; чаще всего вы просто берете существующие повороты (например, из Transform) и используете их для создания новых поворотов (например, для плавной интерполяции между двумя поворотами). Функции Quaternion, которые вы используете в 99% случаев: Quaternion.LookRotation, Quaternion.Angle, Quaternion.Euler, Quaternion.Slerp, Quaternion.FromToRotation и Quaternion.identity. (Другие функции предназначены только для экзотических целей.)
Вы можете использовать Quaternion.operator * для поворота одного поворота за другим или для поворота вектора за поворотом.
Обратите внимание, что Unity ожидает, что кватернионы будут нормализованы.
Статические Свойства
| identity |
Ротация удостоверений (только для чтения). |
Свойства
| eulerAngles |
Возвращает или задает представление угла Эйлера для поворота. |
| normalized |
Возвращает этот кватернион со значением 1 (только для чтения). |
| this[int] |
Доступ к компонентам x, y, z, w с использованием [0], [1], [2], [3] соответственно. |
| w |
W-компонент кватерниона. Не изменяйте кватернионы напрямую. |
| x |
X-компонент кватерниона. Не изменяйте это напрямую, если вы не знаете кватернионов наизнанку. |
| y |
Компонент Y кватерниона. Не изменяйте это напрямую, если вы не знаете кватернионов наизнанку. |
| z |
Z-компонент кватерниона. Не изменяйте это напрямую, если вы не знаете кватернионов наизнанку. |
Конструкторы
| Quaternion |
Создает новый кватернион с заданными компонентами x,y,z,w. |
Публичные Методы
| Set |
Установите компоненты x, y, z и w существующего кватерниона. |
| SetFromToRotation |
Создает вращение от направления fromDirection к направлению toDirection. |
| SetLookRotation |
Создает поворот с указанными направлениями вперед и вверх. |
| ToAngleAxis |
Преобразует вращение в представление угловой оси (углы в градусах). |
| ToString |
Возвращает отформатированную строку кватерниона. |
Статические Методы
| Angle |
Возвращает угол в градусах между двумя поворотами a и b. |
| AngleAxis |
Создает вращение, которое поворачивает угол в градусах вокруг оси. |
| Dot |
Скалярное произведение между двумя вращениями. |
| Euler |
Возвращает поворот на z градусов вокруг оси z, x градусов вокруг оси x и y градусов вокруг оси y; применяется именно в таком порядке. |
| FromToRotation |
Создает вращение от направления fromDirection к направлению toDirection. |
| Inverse |
Возвращает значение, обратное вращению. |
| Lerp |
Интерполирует между a и b по t и впоследствии нормализует результат. Параметр t ограничен диапазоном [0, 1]. |
| LerpUnclamped |
Интерполирует между a и b по t и впоследствии нормализует результат. Параметр t не фиксируется. |
| LookRotation |
Создает поворот с указанными направлениями вперед и вверх. |
| Normalize |
Преобразует этот кватернион в кватернион с той же ориентацией, но с величиной 1. |
| RotateTowards |
Поворачивает поворот от направления к. |
| Slerp |
Сферическая интерполяция между кватернионами a и b по отношению t. Параметр t ограничен диапазоном [0, 1]. |
| SlerpUnclamped |
Сферическая интерполяция между a и b по t. Параметр t не фиксируется. |
Операторы