Quaternion
struct in UnityEngine · UnityEngine.CoreModule
In Tassix
Rotation. Unity's conventions: left-handed, Y up; Euler angles in degrees applied Z, then X, then Y (Euler(x, y, z) = Ry * Rx * Rz). Verified against Unity in conformance/recordings/math_rotations.jsonl.
Constructors 1
Quaternion(float x, float y, float z, float w)Fields 5
const float kEpsilonfloat wfloat xfloat yfloat zProperties 4
Vector3 eulerAngles { get; set; }static Quaternion identity { get; }Quaternion normalized { get; }float this[int index] { get; set; }Methods 20
static float Angle(Quaternion a, Quaternion b)static float Angle(in Quaternion a, in Quaternion b)Angle in degrees between two rotations.
static Quaternion AngleAxis(float angle, Vector3 axis)static Quaternion AngleAxis(float angle, in Vector3 axis)static float Dot(Quaternion a, Quaternion b)static float Dot(in Quaternion a, in Quaternion b)static Quaternion Euler(float x, float y, float z)static Quaternion Euler(Vector3 euler)static Quaternion Euler(in Vector3 euler)static Quaternion FromToRotation(Vector3 fromDirection, Vector3 toDirection)static Quaternion FromToRotation(in Vector3 fromDirection, in Vector3 toDirection)The shortest-arc rotation taking one direction onto another.
int GetHashCode()static Quaternion Inverse(Quaternion rotation)static Quaternion Inverse(in Quaternion rotation)The conjugate; equals the inverse for unit quaternions.
static Quaternion Lerp(Quaternion a, Quaternion b, float t)static Quaternion Lerp(in Quaternion a, in Quaternion b, float t)static Quaternion LerpUnclamped(Quaternion a, Quaternion b, float t)static Quaternion LerpUnclamped(in Quaternion a, in Quaternion b, float t)Linear interpolation along the shorter arc, normalized.
static Quaternion LookRotation(Vector3 forward)static Quaternion LookRotation(in Vector3 forward)static Quaternion LookRotation(Vector3 forward, Vector3 upwards)static Quaternion LookRotation(in Vector3 forward, in Vector3 upwards)Rotation whose forward (Z) is forward and whose up is as close to upwards as possible.
void Normalize()static Quaternion Normalize(Quaternion q)static Quaternion Normalize(in Quaternion q)static Quaternion RotateTowards(Quaternion from, Quaternion to, float maxDegreesDelta)static Quaternion RotateTowards(in Quaternion from, in Quaternion to, float maxDegreesDelta)void Set(float newX, float newY, float newZ, float newW)void SetFromToRotation(Vector3 fromDirection, Vector3 toDirection)void SetFromToRotation(in Vector3 fromDirection, in Vector3 toDirection)void SetLookRotation(Vector3 view)void SetLookRotation(in Vector3 view)void SetLookRotation(Vector3 view, Vector3 up)void SetLookRotation(in Vector3 view, in Vector3 up)static Quaternion Slerp(Quaternion a, Quaternion b, float t)static Quaternion Slerp(in Quaternion a, in Quaternion b, float t)static Quaternion SlerpUnclamped(Quaternion a, Quaternion b, float t)static Quaternion SlerpUnclamped(in Quaternion a, in Quaternion b, float t)Spherical interpolation along the shorter arc.
void ToAngleAxis(out float angle, out Vector3 axis)string ToString()string ToString(string? format)string ToString(string? format, IFormatProvider? formatProvider)Operators 3
static bool operator !=(Quaternion lhs, Quaternion rhs)static Quaternion operator *(Quaternion lhs, Quaternion rhs)static Vector3 operator *(Quaternion rotation, Vector3 point)Rotates a vector.
static bool operator ==(Quaternion lhs, Quaternion rhs)Approximate: true if the rotations' dot product exceeds 1 - 1e-6.