Skip to content

Euler rotation order should clarify whether it's intrinsic or extrinsic #105115

@FreyaHolmer

Description

@FreyaHolmer

Tested versions

Godot 4.4.1

System information

Windows 11

Issue description

Euler angles have an ambiguity in whether the axes listed are extrinsic (chained world/parent space rotations) rotations or intrinsic (chained self/local space) rotations, and it's not clear right now that godot is referring to an intrinsic order

For example, godot and blender both let you pick the euler order, but these are actually different because blender is implicitly referring to an extrinsic order, while godot is implicitly referring to an intrinsic order, and so even if you set them both to the very same euler order, the order doesn't actually match, and you get a different result, because of this

Image

Wikipedia uses different notations for each, and it actually happens to be the case that if you reverse the order, you get the equivalent rotation for the other interpretation.

x-y'-z" is used for intrinsically rotating X, then Y, then Z
Z-Y-X is used for extrinsically rotating Z, then Y, then X, which is actually equivalent, because the order is reversed!

I'm not sure what the best solution here is, but some clarification in the UI would be nice, whatever form it takes! Wikipedia uses the lowercase tickmark notation for intrinsic rotations, but that might get confusing for users. At the very least some kind of tooltip, or just using lowercase, might be enough of a clarification?

Also attaching two rotating cats, to show that the intrinsic x-y'-z" on the left, ends up being the same orientation as the extrinsic Z-Y-X

Image

Link to the sister issue over at blender's house

Steps to reproduce

N/A

Minimal reproduction project (MRP)

N/A

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions