Rotator
A container for rotation information. All rotation values are stored in degrees.
Tip
This structure is Open Sourced at https://github.com/nanos-world/nanos-world-lua-lib. Feel free to push merge requests and suggest changes!
info
Rotators are internally and automatically compressed, which reduces it's size in the network up to 90%. Their components are usually compressed into 1 byte each (with some exceptions which we need more precision).
👌 Usage
local new_rotator = Rotator(-90, 153, 24.5)
🎚 Properties
Type | Name | Description |
---|---|---|
number | Pitch | Rotation around the right axis (around Y axis), Looking up and down (0=Straight Ahead, +Up, -Down) |
number | Yaw | Rotation around the up axis (around Z axis), Running in circles 0=East, +North, -South. |
number | Roll | Rotation around the forward axis (around X axis), Tilting your head, 0=Straight, +Clockwise, -CCW. |
⏩ Functions
tip
Note: This structure supports +
, -
, *
and tostring
operations.
Returns | Name | Description |
---|---|---|
Vector | GetForwardVector() | Get the forward (X) unit direction vector from this component, in world space. |
Vector | GetRightVector() | Get the right (Y) unit direction vector from this component, in world space. |
Vector | GetUpVector() | Get the up (Z) unit direction vector from this component, in world space. |
Vector | RotateVector(vector) | Rotate a vector rotated by this rotator. |
Normalize() | In-place normalize, removes all winding and creates the “shortest route” rotation. | |
Vector | UnrotateVector(vector) | Returns the vector rotated by the inverse of this rotator. |
Quat | Quaternion() | Get Rotation as a quaternion. |
Rotator | GetNormalized() | Returns a new Rotator normalized. |
boolean | IsNearlyZero(tolerance) | Checks whether rotator is near to zero within a specified tolerance |
boolean | IsZero() | Checks whether all components of the rotator are exactly zero |
⏩ Static Functions
Returns | Name | Description |
---|---|---|
Rotator | Random(roll) | Generates a random rotation, with optional random roll |