🧭 Rotator
A container for rotation information (Pitch, Yaw, Roll). All rotation values are stored in degrees.
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).
🎒 Exemples
local new_rotator = Rotator(-90, 153, 24.5)
🛠 Constructors
Default Constructor
No description provided
local my_rotator = Rotator(pitch?, yaw?, roll?)
🧽 Properties
| Type | Name | Description |
|---|---|---|
| float | Pitch | Rotation autour de l'axe de droite (autour de l'axe Y), regarder vers le haut et vers le bas (0=Tête droite, +Haute, -Bas) |
| float | Yaw | Rotation autour de l'axe haut (autour de l'axe Z), Course en cercles 0=Est, +Nord, -Sud. |
| float | Roll | Rotation autour de l'axe avant (autour de l'axe X), inclinaison de la tête, 0=Droite, +sens horaire, -sens horaire inversé. |
🦠 Fonctions
info
This structure supports +, -, * and tostring operations.
| Returns | Name | Description | |
|---|---|---|---|
| boolean | Equals | Checks against another Rotator for equality, within a tolerance | |
| Vector | GetForwardVector | Récupère le vecteur de direction de l'unité avant (X) de ce composant, dans l'espace. | |
| Vector | GetRightVector | Récupère le vecteur de direction de l'unité de droite (Y) de ce composant, dans l'espace. | |
| Vector | GetUpVector | Récupère le vecteur de direction de l'unité du haut (Z) de ce composant, dans l'espace. | |
| Vector | RotateVector | Faire pivoter un vecteur tourné par ce Rotator. | |
Normalize | Normalise, enlève tout enroulement et crée la rotation « la plus courte ». | ||
| Vector | UnrotateVector | Retourne le vecteur tourné par l'inverse de ce Rotator. | |
| Quat | Quaternion | Obtenir la rotation en quaternion. | |
| Rotator | GetNormalized | Retourne un nouveau Rotator normalisé. | |
| boolean | IsNearlyZero | Vérifie si le vecteur est proche de zéro dans une tolérance spécifiée | |
| boolean | IsZero | Vérifie si tous les composants du vecteur sont exactement égaux à zéro |
Optimal
Equals
Checks against another Rotator for equality, within a tolerance
local ret = my_rotator:Equals(other, tolerance?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Rotator | other | Required parameter | The Rotator to compare to |
| float | tolerance? | 0.000001 | Max difference allowed per axis, in degrees |
Returns
| Type | Description |
|---|---|
| boolean | Whether the Rotators are equal |
Optimal
GetForwardVector
Récupère le vecteur de direction de l'unité avant (X) de ce composant, dans l'espace.
local ret = my_rotator:GetForwardVector()
Returns
| Type | Description |
|---|---|
| Vector | the forward direction |
Optimal
GetRightVector
Récupère le vecteur de direction de l'unité de droite (Y) de ce composant, dans l'espace.
local ret = my_rotator:GetRightVector()
Returns
| Type | Description |
|---|---|
| Vector | the right direction |
Optimal
GetUpVector
Récupère le vecteur de direction de l'unité du haut (Z) de ce composant, dans l'espace.
local ret = my_rotator:GetUpVector()
Returns
| Type | Description |
|---|---|
| Vector | the up direction |
Optimal
RotateVector
Faire pivoter un vecteur tourné par ce Rotator.
local ret = my_rotator:RotateVector(vector)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | vector | Required parameter | the vector to rotate by the Rotator |
Returns
| Type | Description |
|---|---|
| Vector | the rotated vector |
Optimal
Normalize
Normalise, enlève tout enroulement et crée la rotation « la plus courte ».
my_rotator:Normalize()
Optimal
UnrotateVector
Retourne le vecteur tourné par l'inverse de ce Rotator.
local ret = my_rotator:UnrotateVector(vector)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| Vector | vector | Required parameter | The vector to rotate by the inverse of the Rotator |
Returns
| Type | Description |
|---|---|
| Vector | the unrotated vector |
Optimal
Quaternion
Obtenir la rotation en quaternion.
local ret = my_rotator:Quaternion()
Returns
| Type | Description |
|---|---|
| Quat | the rotation as a quaternion |
Optimal
GetNormalized
Retourne un nouveau Rotator normalisé.
local ret = my_rotator:GetNormalized()
Returns
| Type | Description |
|---|---|
| Rotator | the normalized Rotator |
Optimal
IsNearlyZero
Vérifie si le vecteur est proche de zéro dans une tolérance spécifiée
local ret = my_rotator:IsNearlyZero(tolerance?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| float | tolerance? | 0.000001 | Tolerance to check |
Returns
| Type | Description |
|---|---|
| boolean | whether the rotator is nearly zero |
Optimal
IsZero
Vérifie si tous les composants du vecteur sont exactement égaux à zéro
local ret = my_rotator:IsZero()
Returns
| Type | Description |
|---|---|
| boolean | whether the rotator is exactly zero |
🗿 Fonctions statiques
Optimal
Random
Génère une rotation aléatoire, avec un Roll aléatoire facultatif
local ret = Rotator.Random(roll?, min?, max?)
Parameters
| Type | Parameter | Default | Description |
|---|---|---|---|
| boolean | roll? | false | Whether to use a random roll in the rotator, otherwise uses 0 for roll |
| float | min? | -180 | Minimum value |
| float | max? | 180 | Maximum value |
Returns
| Type | Description |
|---|---|
| Rotator | the random rotation |
