Passer au contenu principal
Version: latest - a1.156.0 ⚖️

🧭 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?)

Parameters

TypeNameDefaultDescription
floatpitch0Pitch
floatyawpitchYaw
floatrollpitchRoll

🧽 Properties​

TypeNameDescription
floatPitchRotation 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)
floatYawRotation autour de l'axe haut (autour de l'axe Z), Course en cercles 0=Est, +Nord, -Sud.
floatRollRotation 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.

ReturnsNameDescription
booleanEqualsChecks against another Rotator for equality, within a tolerance
VectorGetForwardVectorRécupère le vecteur de direction de l'unité avant (X) de ce composant, dans l'espace.
VectorGetRightVectorRécupère le vecteur de direction de l'unité de droite (Y) de ce composant, dans l'espace.
VectorGetUpVectorRécupère le vecteur de direction de l'unité du haut (Z) de ce composant, dans l'espace.
VectorRotateVectorFaire pivoter un vecteur tourné par ce Rotator.
NormalizeNormalise, enlève tout enroulement et crée la rotation « la plus courte ».
VectorUnrotateVectorRetourne le vecteur tourné par l'inverse de ce Rotator.
QuatQuaternionObtenir la rotation en quaternion.
RotatorGetNormalizedRetourne un nouveau Rotator normalisé.
booleanIsNearlyZeroVérifie si le vecteur est proche de zéro dans une tolérance spécifiée
booleanIsZeroVé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

TypeParameterDefaultDescription
Rotatorother Required parameter The Rotator to compare to
floattolerance?0.000001
Max difference allowed per axis, in degrees

Returns

TypeDescription
booleanWhether 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

TypeDescription
Vectorthe 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

TypeDescription
Vectorthe 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

TypeDescription
Vectorthe up direction

Optimal

RotateVector​

Faire pivoter un vecteur tourné par ce Rotator.
local ret = my_rotator:RotateVector(vector)

Parameters

TypeParameterDefaultDescription
Vectorvector Required parameter the vector to rotate by the Rotator

Returns

TypeDescription
Vectorthe 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

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

Returns

TypeDescription
Vectorthe unrotated vector

Optimal

Quaternion​

Obtenir la rotation en quaternion.
local ret = my_rotator:Quaternion()

Returns

TypeDescription
Quatthe rotation as a quaternion

Optimal

GetNormalized​

Retourne un nouveau Rotator normalisé.
local ret = my_rotator:GetNormalized()

Returns

TypeDescription
Rotatorthe 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

TypeParameterDefaultDescription
floattolerance?0.000001
Tolerance to check

Returns

TypeDescription
booleanwhether 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

TypeDescription
booleanwhether the rotator is exactly zero

🗿 Fonctions statiques​

ReturnsNameDescription
RotatorRandomGénère une rotation aléatoire, avec un Roll aléatoire facultatif

Optimal

Random​

Génère une rotation aléatoire, avec un Roll aléatoire facultatif
local ret = Rotator.Random(roll?, min?, max?)

Parameters

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

Returns

TypeDescription
Rotatorthe random rotation