Skip to content

Commit 7f1382b

Browse files
Auto: Improve documentation (#438)
Enhanced 3D model documentation with animation controls, material types, origin/center points, and shadow configuration
1 parent a7bdc21 commit 7f1382b

File tree

2 files changed

+75
-6
lines changed

2 files changed

+75
-6
lines changed

automated_updates_data.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"last_automated_updates_commit": "82f1660d3e9649d22b99ac8e6d99d1c614e83d9c",
33
"last_improved_things": [
4-
4+
{ "date": "2026-02-16", "summary": "Enhanced 3D model documentation with animation controls, material types, origin/center points, and shadow configuration" }
55
]
66
}

docs/gdevelop5/objects/3d-model/index.md

Lines changed: 74 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,25 +9,94 @@ If you need to create walls, plane grounds or other rectangular/cubic 3D objects
99

1010
![A 3D game with multiple 3D models](3d-platformer-shadows-models.png)
1111

12-
## Lighting
12+
## Animations
13+
14+
3D models can include animations that are embedded in the GLB file. Each model can have multiple animations (walking, running, jumping, idle, etc.), and you can control which animation plays during the game.
15+
16+
### Managing animations
17+
18+
When you add a 3D model object, you can configure its animations in the object properties:
19+
20+
- Each animation has a **name** (how you reference it in events), a **source** (the animation name from the GLB file), and a **loop** setting (whether the animation repeats).
21+
- The first animation in the list plays automatically when the object is created.
22+
- You can switch between animations during gameplay using actions in the events sheet.
23+
24+
### Animation playback control
25+
26+
You can control animation playback using actions and conditions:
27+
28+
- **Switch animations**: Change to a different animation by name or index.
29+
- **Pause and resume**: Stop and restart animation playback without resetting the animation.
30+
- **Animation speed**: Speed up or slow down animations (values greater than 1 make animations faster, values less than 1 make them slower).
31+
- **Animation timing**: Get or set the current playback position within an animation, or check the total animation duration.
32+
- **Crossfade duration**: Set how smoothly animations transition from one to another (default is 0.1 seconds).
33+
34+
### Animation conditions
35+
36+
You can check the animation state in conditions:
37+
38+
- Check if a specific animation is currently playing.
39+
- Check if the animation has finished playing (useful for non-looping animations).
40+
- Check if the animation is paused.
41+
42+
!!! tip
43+
44+
Use the "Animation finished" condition with non-looping animations to trigger events when an action completes, such as playing an attack animation and then dealing damage when it finishes.
45+
46+
## Material and lighting
1347

1448
Lighting can be set up through [layers effects](../../interface/scene-editor/layer-effects). Ambient and directional light effects allow to configure basic lighting for 3D layers.
1549

16-
The model can be set up to react to lighting in different ways. The GLTF format can include data about light reflection. The 3D model can either use this data or use a forced configuration.
50+
The model can be set up to react to lighting in different ways through the **Material type** property:
51+
52+
- **Basic**: No lighting or shadows are applied. The model uses its base colors without any lighting calculations. Use this for stylized looks or UI elements.
53+
- **Standard without metalness**: Lighting is enabled, but metalness properties are removed from the material. This often produces better-looking results for most game assets and is the recommended default.
54+
- **Keep original**: Preserves the original material properties from the GLB file, including metalness and roughness values. Use this if your 3D model was carefully authored with specific material properties.
1755

1856
## Shadows
1957

2058
3D models can cast and receive shadows. To display shadows:
2159

2260
- Ensure the layer has a **Directional Light** effect. New layers in new games include this effect along with an Ambient Light by default.
23-
- Set the object's material to **Standard** (not **Basic**, which ignores lighting).
24-
- Enable **Shadow casting** and **Shadow receiving** in the object's properties (enabled by default for new assets from the store).
61+
- Set the object's material to **Standard without metalness** or **Keep original** (not **Basic**, which ignores lighting).
62+
- Enable **Shadow casting** and **Shadow receiving** in the object's properties (both enabled by default for new assets from the store).
2563

2664
Shadows are computed around the camera with a range suitable for most games. You can adjust the light intensity, shadow quality and range by editing the Directional Light effect in the layer's effects.
2765

66+
!!! note
67+
68+
Shadow casting and shadow receiving can be controlled independently. For example, you might want a flying object to cast shadows on the ground but not receive shadows from other objects.
69+
70+
## Origin and center points
71+
72+
The 3D model object has two important configuration points that affect how it's positioned and rotated:
73+
74+
### Origin location
75+
76+
The **origin location** determines where the object's position (X, Y, Z coordinates) is anchored. This affects where the object appears when you set its position in events or place it in the scene editor. You can choose from:
77+
78+
- **Model origin**: Uses the origin point defined in the 3D modeling software (default for models from the asset store).
79+
- **Object center**: Centers the position at the middle of the object's bounding box.
80+
- **Bottom center (Z)**: Places the origin at the bottom center of the object, useful for characters standing on the ground.
81+
- **Bottom center (Y)**: Places the origin at the bottom center using the Y axis, useful for certain camera angles.
82+
- **Top-left**: Places the origin at the top-left corner of the bounding box.
83+
84+
### Center location
85+
86+
The **center location** determines the point around which the object rotates and scales. This is separate from the position anchor and affects rotation behavior. You can choose from:
87+
88+
- **Model origin**: Uses the origin point from the 3D model file.
89+
- **Object center**: Rotates around the middle of the object's bounding box.
90+
- **Bottom center (Z)**: Rotates around the bottom center, useful for objects that should pivot at their base.
91+
- **Bottom center (Y)**: Rotates around the bottom center using the Y axis.
92+
93+
!!! tip
94+
95+
For characters, setting the origin to "Bottom center (Z)" makes it easy to place them on the ground, as the object's Z position will represent the ground level where the character stands.
96+
2897
## File format
2998

30-
GDevelop supports 3D models saved in the **GLB (.glb) format**. It is a standardized file format used to share 3D data. Notably, it includes the 3D mesh of the object, as well as its textures or material specifications. This format is also sometimes called **GLTF**, for "GL Transmission Format". You can sometimes find .gltf files, but only the **.glb** files are supported by GDevelop, as they can embed the textures whereas .gltf files can't do this.
99+
GDevelop supports 3D models saved in the **GLB (.glb) format**. It is a standardized file format used to share 3D data. Notably, it includes the 3D mesh of the object, as well as its textures, material specifications, and animations. This format is also sometimes called **GLTF**, for "GL Transmission Format". You can sometimes find .gltf files, but only the **.glb** files are supported by GDevelop, as they can embed the textures and animations whereas .gltf files require separate files.
31100

32101
## Performance considerations
33102

0 commit comments

Comments
 (0)