Enum
RotationOrder
The order of rotation axes used for Euler angles encoding of rotations.
Euler angles encode a rotation in 3D space via a sequence of three rotations
along the X, Y, and Z axes. The RotationOrder enum specifies the order in
which the engine performs these rotations.
To help visualize the many rotation orders, you can test them manually in
Studio with the Rotate tool or by inserting
task.wait() statements between individual rotations of a cube with a
unique face:
local cube = Instance.new("Part")
cube.Shape = Enum.PartType.Block
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) -- ZAn equivalent operation is:
local cube = Instance.new("Part")
cube.Shape = Enum.PartType.Block
local rx, ry, rz = math.rad(90), math.rad(90), math.rad(90)
cube.CFrame = CFrame.fromEulerAngles(rx, ry, rz, Enum.RotationOrder.XYZ)