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