RotationOrder

*Ce contenu est traduit en utilisant l'IA (Beta) et peut contenir des erreurs. Pour consulter cette page en anglais, clique ici.

Les angles d'Euler encodent une rotation dans l'espace 3D via une séquence de trois rotations le long des axes X, Y et Z.L'enumérité RotationOrder spécifie l'ordre dans lequel le moteur effectue ces rotations.

Pour aider à visualiser les nombreuses commandes de rotation, vous pouvez les tester manuellement dans Studio avec l'outil tourner ou en insérant des déclarations task.wait() entre les rotations individuelles d'un cube avec un visage unique :


local Workspace = game:GetService("Workspace")
local cube = Workspace.Cube
local rx, ry, rz = math.rad(90), math.rad(90), math.rad(90)
task.wait(5)
cube.CFrame *= CFrame.fromEulerAngles(rx, 0, 0) -- X
task.wait(5)
cube.CFrame *= CFrame.fromEulerAngles(0, ry, 0) -- Y
task.wait(5)
cube.CFrame *= CFrame.fromEulerAngles(0, 0, rz) -- Z

Une opération équivalente est :


local Workspace = game:GetService("Workspace")
local cube = Workspace.Cube
local rx, ry, rz = math.rad(90), math.rad(90), math.rad(90)
cube.CFrame = CFrame.fromEulerAngles(rx, ry, rz, Enum.RotationOrder.XYZ)

Articles

NomValeurRésumé
XYZ0

Ordre X, Y, Z.

XZY1

Ordre X, Z, Y.

YZX2

Ordre Y, Z, X.

YXZ3

Ordre Y, X, Z.

ZXY4

Ordre Z, X, Y.

ZYX5

Ordre Z, Y, X.

Sur cette page