Skip to content

Commit 5547359

Browse files
committed
Add a note about 3D asset direction conventions to "Importing 3D scenes"
1 parent 3056130 commit 5547359

File tree

1 file changed

+27
-0
lines changed

1 file changed

+27
-0
lines changed

tutorials/assets_pipeline/importing_scenes.rst

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,33 @@ Copy the scene file together with the textures and mesh data (if separate) to
2929
the project repository, then Godot will do a full import when focusing the
3030
editor window.
3131

32+
3D asset direction conventions
33+
------------------------------
34+
35+
Godot uses a right-handed, Y-is-up coordinate system, with the -Z axis as
36+
the camera's forward direction. This is the same as OpenGL. This implies
37+
that +Z is back, +X is right, and -X is left for a camera.
38+
39+
The convention for 3D assets is to face the opposite direction as the camera,
40+
so that characters and other assets are facing the camera by default.
41+
This convention is extremely common in 3D modeling applications, and is
42+
`codified in glTF as part of the glTF 2.0 specification <https://registry.khronos.org/glTF/specs/2.0/glTF-2.0.html#coordinate-system-and-units>`.
43+
This means that for oriented 3D assets (such as characters),
44+
the +Z axis is the direction of the front, so -Z is the rear,
45+
+X is the left side, and -X is the right side for a 3D asset.
46+
In Blender, this means that +Y is rear and -Y is front for an asset.
47+
48+
When rotating an oriented 3D asset in Godot, use the ``use_model_front``
49+
option on the ``look_at`` functions, and use the ``Vector3.MODEL_*``
50+
constants to perform calculations in the oriented asset's local space.
51+
52+
For assets without an intrinsic front side or forward direction, such as
53+
a game map or terrain, take note of the cardinal directions instead.
54+
The convention in Godot and the vast majority of other applications is
55+
that +X is east and -X is west. Due to Godot's right-handed Y-is-up
56+
coordinate system, this implies that +Z is south and -Z is north.
57+
In Blender, this means that +Y is north and -Y is south.
58+
3259
Exporting glTF 2.0 files from Blender (recommended)
3360
---------------------------------------------------
3461

0 commit comments

Comments
 (0)