Passer au contenu principal
Version: bleeding-edge 🩸

🧭 Rotator

A container for rotation information (Pitch, Yaw, Roll). All rotation values are stored in degrees.

👐Open Source
This library implementation is Open Sourced on GitHub!
🧑‍💻API Source
This page is auto-generated! The Functions, Properties and Events described here are defined in our GitHub's API Repository! Feel free to commit suggestions and changes to the source .json API files!

info

Les Rotator sont compressés en interne et automatiquement, ce qui réduit leur taille dans le réseau jusqu'à 90 %. Leurs composants sont généralement compressés en 1 octets chacun (à quelques exceptions où nous avons besoin de plus de précision).

🎒 Examples

local new_rotator = Rotator(-90, 153, 24.5)

🛠 Constructors

Default Constructor

No description provided

local my_rotator = Rotator(pitch?, yaw?, roll?)

Parameters

TypeNameDefaultDescription
numberpitch0Pitch
numberyawpitchYaw
numberrollpitchRoll

🧽 Properties

TypeNameDescription
numberPitchRotation around the right axis (around Y axis), Looking up and down (0=Straight Ahead, +Up, -Down)
numberYawRotation around the up axis (around Z axis), Running in circles 0=East, +North, -South.
numberRollRotation around the forward axis (around X axis), Tilting your head, 0=Straight, +Clockwise, -CCW.

🦠 Functions

info

This structure supports +, -, * and tostring operations.

ReturnsNameDescription
VectorGetForwardVectorGet the forward (X) unit direction vector from this component, in world space.
VectorGetRightVectorGet the right (Y) unit direction vector from this component, in world space.
VectorGetUpVectorGet the up (Z) unit direction vector from this component, in world space.
VectorRotateVectorRotate a vector rotated by this rotator.
NormalizeIn-place normalize, removes all winding and creates the “shortest route” rotation.
VectorUnrotateVectorReturns the vector rotated by the inverse of this rotator.
QuatQuaternionGet Rotation as a quaternion.
RotatorGetNormalizedReturns a new Rotator normalized.
booleanIsNearlyZeroChecks whether rotator is near to zero within a specified tolerance
booleanIsZeroChecks whether all components of the rotator are exactly zero

GetForwardVector

Get the forward (X) unit direction vector from this component, in world space.
local ret = my_rotator:GetForwardVector()

Returns

TypeDescription
Vectorthe forward direction

GetRightVector

Get the right (Y) unit direction vector from this component, in world space.
local ret = my_rotator:GetRightVector()

Returns

TypeDescription
Vectorthe right direction

GetUpVector

Get the up (Z) unit direction vector from this component, in world space.
local ret = my_rotator:GetUpVector()

Returns

TypeDescription
Vectorthe up direction

RotateVector

Rotate a vector rotated by this rotator.
local ret = my_rotator:RotateVector(vector)

Parameters

TypeParameterDefaultDescription
Vectorvector Required parameter the vector to rotate by the Rotator

Returns

TypeDescription
Vectorthe rotated vector

Normalize

In-place normalize, removes all winding and creates the “shortest route” rotation.
my_rotator:Normalize()

UnrotateVector

Returns the vector rotated by the inverse of this rotator.
local ret = my_rotator:UnrotateVector(vector)

Parameters

TypeParameterDefaultDescription
Vectorvector Required parameter The vector to rotate by the inverse of the Rotator

Returns

TypeDescription
Vectorthe unrotated vector

Quaternion

Get Rotation as a quaternion.
local ret = my_rotator:Quaternion()

Returns

TypeDescription
Quatthe rotation as a quaternion

GetNormalized

Returns a new Rotator normalized.
local ret = my_rotator:GetNormalized()

Returns

TypeDescription
Rotatorthe normalized Rotator

IsNearlyZero

Checks whether rotator is near to zero within a specified tolerance
local ret = my_rotator:IsNearlyZero(tolerance?)

Parameters

TypeParameterDefaultDescription
numbertolerance?0.000001Tolerance to check

Returns

TypeDescription
booleanwhether the rotator is nearly zero

IsZero

Checks whether all components of the rotator are exactly zero
local ret = my_rotator:IsZero()

Returns

TypeDescription
booleanwhether the rotator is exactly zero

🗿 Static Functions

ReturnsNameDescription
RotatorRandomGenerates a random rotation, with optional random roll

Random

Generates a random rotation, with optional random roll
local ret = Rotator.Random(roll?, min?, max?)

Parameters

TypeParameterDefaultDescription
booleanroll?falseWhether to use a random roll in the rotator, otherwise uses 0 for roll
floatmin?-180Minimum value
floatmax?180Maximum value

Returns

TypeDescription
Rotatorthe random rotation