Version: Unity 6.5 Alpha (6000.5)
LanguageEnglish
  • C#

quaternion

struct in Unity.Mathematics

Suggest a change

Success!

Thank you for helping us improve the quality of Unity Documentation. Although we cannot accept all submissions, we do read each suggested change from our users and will make updates where applicable.

Close

Submission failed

For some reason your suggested change could not be submitted. Please <a>try again</a> in a few minutes. And thank you for taking the time to help us improve the quality of Unity Documentation.

Close

Cancel

Description

A quaternion type for representing rotations.

Static Properties

Property Description
identityA quaternion representing the identity transform.

Properties

Property Description
value The quaternion component values.

Constructors

Constructor Description
quaternionConstructs a quaternion from four float values.

Public Methods

Method Description
EqualsReturns true if the quaternion is equal to a given quaternion, false otherwise.
GetHashCodeReturns a hash code for the quaternion.
ToStringReturns a string representation of the quaternion.

Static Methods

Method Description
AxisAngle Returns a quaternion representing a rotation around a unit axis by an angle in radians. The rotation direction is clockwise when looking along the rotation axis towards the origin.
Euler Returns a quaternion constructed by first performing 3 rotations around the principal axes in a given order. All rotation angles are in radians and clockwise when looking along the rotation axis towards the origin. When the rotation order is known at compile time, it is recommended for performance reasons to use specific Euler rotation constructors such as EulerZXY(...).
EulerXYZ Returns a quaternion constructed by first performing a rotation around the x-axis, then the y-axis and finally the z-axis. All rotation angles are in radians and clockwise when looking along the rotation axis towards the origin.
EulerXZY Returns a quaternion constructed by first performing a rotation around the x-axis, then the z-axis and finally the y-axis. All rotation angles are in radians and clockwise when looking along the rotation axis towards the origin.
EulerYXZ Returns a quaternion constructed by first performing a rotation around the y-axis, then the x-axis and finally the z-axis. All rotation angles are in radians and clockwise when looking along the rotation axis towards the origin.
EulerYZX Returns a quaternion constructed by first performing a rotation around the y-axis, then the z-axis and finally the x-axis. All rotation angles are in radians and clockwise when looking along the rotation axis towards the origin.
EulerZXY Returns a quaternion constructed by first performing a rotation around the z-axis, then the x-axis and finally the y-axis. All rotation angles are in radians and clockwise when looking along the rotation axis towards the origin. This is the default order rotation order in Unity.
EulerZYX Returns a quaternion constructed by first performing a rotation around the z-axis, then the y-axis and finally the x-axis. All rotation angles are in radians and clockwise when looking along the rotation axis towards the origin.
LookRotation Returns a quaternion view rotation given a unit length forward vector and a unit length up vector. The two input vectors are assumed to be unit length and not collinear. If these assumptions are not met use float3x3.LookRotationSafe instead.
LookRotationSafe Returns a quaternion view rotation given a forward vector and an up vector. The two input vectors are not assumed to be unit length. If the magnitude of either of the vectors is so extreme that the calculation cannot be carried out reliably or the vectors are collinear, the identity will be returned instead.
RotateXReturns a quaternion that rotates around the x-axis by a given number of radians.
RotateYReturns a quaternion that rotates around the y-axis by a given number of radians.
RotateZReturns a quaternion that rotates around the z-axis by a given number of radians.

Operators

Operator Description
quaternionImplicitly converts a float4 vector to a quaternion.