RotationOrder
*此内容使用人工智能(Beta)翻译,可能包含错误。若要查看英文页面,请点按 此处。
欧几里得角度以 X、Y 和 Z 轴上的三个旋转序列编码在 3D 空间中的旋转。枚举 RotationOrder 规定引擎执行这些旋转的顺序。
要帮助视觉化许多旋转订单,您可以在工作室手动测试它们,使用 旋转 工具或插入 task.wait() 声明,将独特面的立方体旋转单个旋转之间:
local Workspace = game:GetService("Workspace")local cube = Workspace.Cubelocal rx, ry, rz = math.rad(90), math.rad(90), math.rad(90)task.wait(5)cube.CFrame *= CFrame.fromEulerAngles(rx, 0, 0) -- Xtask.wait(5)cube.CFrame *= CFrame.fromEulerAngles(0, ry, 0) -- Ytask.wait(5)cube.CFrame *= CFrame.fromEulerAngles(0, 0, rz) -- Z
等价操作是:
local Workspace = game:GetService("Workspace")local cube = Workspace.Cubelocal rx, ry, rz = math.rad(90), math.rad(90), math.rad(90)cube.CFrame = CFrame.fromEulerAngles(rx, ry, rz, Enum.RotationOrder.XYZ)
项目
名称 | 值 | 概要 |
---|---|---|
XYZ | 0 | X、Y、Z 顺序。 |
XZY | 1 | X、Z、Y 顺序。 |
YZX | 2 | Y、Z、X 顺序。 |
YXZ | 3 | Y、X、Z 顺序。 |
ZXY | 4 | Z、X、Y 顺序。 |
ZYX | 5 | Z、Y、X 顺序。 |