RotationOrder

*Questo contenuto è tradotto usando AI (Beta) e potrebbe contenere errori. Per visualizzare questa pagina in inglese, clicca qui.

Gli angoli Euler Encoding una rotazione nello spazio 3D tramite una sequenza di tre rotazioni lungo gli assi X, Y e Z. Il RotationOrder enum specifica l'ordine in cui il motore esegue queste rotazioni.

Per aiutare a visualizzare i molti ordini di rotazione, puoi testarli manualmente in Studio con lo strumento Ruota o inserendo task.wait() dichiarazioni tra le rotazioni individuali di un cubo con una faccia unica:


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

Un'operazione equivalente è:


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)

Articoli

NomeValoreSommario
XYZ0
XZY1
YZX2
YXZ3
ZXY4
ZYX5