Описание
Кватернионы используются для представления вращения.
Они компактны, не страдают от блокировки подвеса и легко интерполируются. Внутри 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 не фиксируется. |
Операторы