Skip to content

Clarify intrinsic/local Euler rotation order in 3D documentation#106347

Merged
Repiteo merged 1 commit into
godotengine:masterfrom
aaronfranke:doc-euler-intrinsic
Apr 13, 2026
Merged

Clarify intrinsic/local Euler rotation order in 3D documentation#106347
Repiteo merged 1 commit into
godotengine:masterfrom
aaronfranke:doc-euler-intrinsic

Conversation

@aaronfranke

Copy link
Copy Markdown
Member

This PR fixes #105115 by clarifying the intrinsic/local Euler rotation behavior.

Rotating around the object's local axes is called the "intrinsic" rotation in math-speak. While the documentation already mentioned "local" in a few places, we didn't mention "intrinsic" even once before, and didn't mention "local" enough either.

Game developers expect intrinsic rotation, but Blender uses extrinsic. Either way, it's good clarify to avoid confusion.

@Mickeon Mickeon left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This PR is more extensive and thorough than #106261

In Godot, Euler angles always use intrinsic order. as a note right in the middle of a line is a bit odd.

This is noteworthy information, sure, but a majority of users do not know what "intrinsic" means, so this ends up breaking the flow and making it sound more complicated than it is. It doesn't help that the only place in this PR that explains what "intrinsic" roughly means is, unusually, deeply nested in the (very advanced) Quaternion constructor as a huge, inline remark.

"intrinsic" vs. "extrinsic" could be something worth explaining across the whole EulerOrder enum if #98233 were merged

Comment thread doc/classes/Quaternion.xml Outdated
Comment thread doc/classes/Node3D.xml Outdated
@aaronfranke aaronfranke force-pushed the doc-euler-intrinsic branch from 5e83184 to 3cce43d Compare July 3, 2025 02:26
@fire

fire commented Jul 4, 2025

Copy link
Copy Markdown
Member

It seems like if the developer wants to lookup what Godot Engine EULER_ORDER_XYZ means in Blender it might help to put it in the tooltip.

@aaronfranke aaronfranke force-pushed the doc-euler-intrinsic branch from 3cce43d to f48c32a Compare July 22, 2025 17:00
@fire fire requested a review from Mickeon July 22, 2025 17:58
@Repiteo Repiteo modified the milestones: 4.5, 4.6 Aug 21, 2025
@aaronfranke aaronfranke modified the milestones: 4.6, 4.7 Jan 22, 2026
@fire fire requested a review from a team February 14, 2026 03:54
@TokageItLab

Copy link
Copy Markdown
Member

@Mickeon Can you re-review this PR?

@TokageItLab TokageItLab requested a review from a team March 7, 2026 22:11
@aaronfranke aaronfranke force-pushed the doc-euler-intrinsic branch from 6ca1363 to badab3c Compare March 30, 2026 05:24

@lyuma lyuma left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

docs change looks good (reviewed with fire and aaronfranke)

@Repiteo Repiteo merged commit 6cdadfc into godotengine:master Apr 13, 2026
14 checks passed
@Repiteo

Repiteo commented Apr 13, 2026

Copy link
Copy Markdown
Contributor

Thanks!

@aaronfranke aaronfranke deleted the doc-euler-intrinsic branch April 14, 2026 06:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment