Quaternion. A unit quaternion used for representing 3D rotations. It is similar to [Basis], which implements matrix representation of rotations, and can be parametrized using both an axis-angle pair or Euler angles. But due to its compactness and the way it is stored in memory, certain operations (obtaining axis-angle and performing SLERP, in particular) are more efficient and robust against floating point errors. Quaternions need to be (re)normalized. https://docs.godotengine.org/en/latest/tutorials/3d/using_transforms.html#interpolating-with-quaternions https://docs.godotengine.org/en/latest/tutorials/math/rotations.html Returns the rotation matrix corresponding to the given quaternion. Returns a quaternion that will perform a rotation specified by Euler angles (in the YXZ convention: first Z, then X, and Y last), given in the vector format as (X-angle, Y-angle, Z-angle). Returns a quaternion that will rotate around the given axis by the specified angle. The axis must be a normalized vector. Returns a quaternion defined by these values. Performs a cubic spherical-linear interpolation with another quaternion. Returns the dot product of two quaternions. Return Euler angles (in the YXZ convention: first Z, then X, and Y last) corresponding to the rotation represented by the unit quaternion. Returned vector contains the rotation angles in the format (X-angle, Y-angle, Z-angle). Returns the inverse of the quaternion. Returns whether the quaternion is normalized or not. Returns the length of the quaternion. Returns the length of the quaternion, squared. Returns a copy of the quaternion, normalized to unit length. Set the quaternion to a rotation which rotates around axis by the specified angle, in radians. The axis must be a normalized vector. Set the quaternion to a rotation specified by Euler angles (in the YXZ convention: first Z, then X, and Y last), given in the vector format as (X-angle, Y-angle, Z-angle). Performs a spherical-linear interpolation with another quaternion. Performs a spherical-linear interpolation with another quaterion without checking if the rotation path is not bigger than 90°. Transforms the vector [code]v[/code] by this quaternion. W component of the quaternion. Default value: [code]1[/code] X component of the quaternion. Default value: [code]0[/code] Y component of the quaternion. Default value: [code]0[/code] Z component of the quaternion. Default value: [code]0[/code]