Guide de Développement 3D avec Godot Engine : Fondations et Méthodologies
Ce document synthétise les principes fondamentaux, les flux de travail et les meilleures pratiques pour la création de jeux 3D au sein du moteur Godot, tels qu'exposés dans l'analyse technique fournie.
Résumé Exécutif
Le passage du développement 2D au 3D dans Godot est facilité par une architecture de conception cohérente où les concepts de base (nœuds, scripts, signaux) restent identiques.
Alors que la 2D repose sur des pixels et des sprites, la 3D introduit une complexité accrue via les maillages (meshes), les matériaux PBR, l'éclairage dynamique et les environnements de rendu.
Les points clés à retenir sont :
-
Fidélité conceptuelle : La plupart des nœuds 2D ont un équivalent 3D direct (ex:
Node2DdevientNode3D). -
Prototypage rapide : L'utilisation des nœuds CSG (Constructive Solid Geometry) permet de construire des niveaux fonctionnels sans passer par un logiciel de modélisation externe.
-
Standardisation des assets : Le format glTF (ou .glb) est la recommandation officielle pour l'importation de modèles, offrant la meilleure compatibilité.
-
Optimisation physique : L'adoption du moteur de physique Jolt est recommandée pour une stabilité et des performances accrues par rapport au moteur par défaut de Godot.
-
Piliers visuels : La qualité graphique dépend de l'interaction entre les assets (matériaux), l'éclairage et la configuration du nœud
WorldEnvironment.
1. Transition de la 2D vers la 3D
L'architecture de Godot permet une transition fluide.
La logique de programmation reste largement inchangée, bien que les vecteurs passent de deux à trois composantes (ajout de l'axe Z).
Équivalence des Nœuds
De nombreux nœuds possèdent des versions 3D fonctionnant de manière quasi identique :
| Nœud 2D | Équivalent 3D |
| --- | --- |
| Node2D | Node3D |
| Sprite2D | MeshInstance3D |
| Area2D | Area3D |
| CharacterBody2D | CharacterBody3D |
| CollisionShape2D | CollisionShape3D |
| RayCast2D | RayCast3D |
Certains nœuds, comme Timer ou AnimationPlayer, sont universels et ne possèdent pas de variantes spécifiques à la 3D.
Navigation et Unités
- Échelle : En 2D, une unité correspond généralement à un pixel.
En 3D, la convention standard est 1 unité = 1 mètre.
-
Navigation dans le viewport :
-
Orbite : Bouton central de la souris.
-
Panoramique : Shift + Bouton central.
-
Zoom : Roulette de la souris.
-
Mode "Free Look" : Bouton droit maintenu + touches ZQSD (WASD).
-
Focus : Touche F sur l'objet sélectionné.
2. Prototypage et Conception de Niveaux
Le document préconise une approche par étapes, commençant par le "Grayboxing" avant de finaliser les détails visuels.
Nœuds CSG (Constructive Solid Geometry)
Les nœuds CSG permettent de créer des formes complexes en combinant des primitives (boîtes, cylindres, sphères).
-
Opérations : Union, Soustraction (utile pour créer des ouvertures comme des fenêtres ou des arches) et Intersection.
-
Avantage majeur : L'option "Use Collision" permet de générer automatiquement des collisions sans configuration manuelle.
-
CSGCombiner3D : Regroupe plusieurs objets CSG en une seule hiérarchie pour organiser la scène.
Environnements Organiques
Pour les scènes extérieures vastes, le document note que Godot ne possède pas de solution native de terrain, mais recommande l'extension Terrain 3D pour sculpter et peindre des paysages.
3. Physique et Contrôle du Personnage
Moteurs de Physique
Bien que Godot dispose d'un moteur interne, l'intégration de Jolt Physics est fortement conseillée pour :
-
De meilleures performances globales.
-
Une simulation plus stable des objets rigides.
-
Une gestion supérieure des échelles non uniformes.
Note : Dans Godot 4.4+, Jolt est prévu pour être intégré nativement.
Contrôleur de Personnage
Le document souligne la complexité de créer un contrôleur robuste (gestion des pentes, sauts, sprint).
Pour le prototypage, l'utilisation d'un contrôleur simplifié (comme le "Protocontroller") est suggérée pour tester rapidement les niveaux avant de développer une solution personnalisée via Input Map.
4. Pipeline des Assets 3D
Le flux de travail des assets repose sur trois éléments : les modèles, les textures et les matériaux.
Formats de Fichiers
- glTF / glB : Format ouvert recommandé.
Le .glb est la version binaire, plus compacte.
- Blend : Godot peut importer directement des fichiers Blender si celui-ci est installé sur la machine.
Matériaux et Textures (PBR)
Le StandardMaterial3D suit le flux de travail PBR (Physically Based Rendering).
Les propriétés principales incluent :
-
Albedo : Couleur de base ou texture.
-
Metallic : Niveau de réflexion métallique (0 à 1).
-
Roughness : Rugosité de la surface (influence la netteté des reflets).
-
Normal Map : Simule des détails de profondeur sans modifier la géométrie réelle.
-
Ambient Occlusion (AO) : Assombrit les zones où la lumière pénètre difficilement.
-
ORM Maps : Technique d'optimisation combinant l'Occlusion, la Rugosité et le Métallique dans les canaux Rouge, Vert et Bleu d'une seule texture.
Structure des Scènes pour les Assets
Trois méthodes d'intégration sont analysées :
- Scènes héritées : Basées directement sur le fichier glTF.
Rigides et potentiellement fragiles lors des réimportations.
- Imbrication (Nesting) : Placer le modèle glTF dans une nouvelle scène Godot.
Méthode recommandée pour séparer la logique de jeu de l'apparence visuelle.
- Localisation (Make Local) : Rompt le lien avec le fichier original.
Offre une flexibilité totale mais augmente considérablement la taille du fichier de scène en stockant les données de maillage.
5. Animation et Suffixes d'Importation
Systèmes d'Animation
-
AnimationPlayer : Gère les bibliothèques d'animations.
-
Retargeting : Permet d'utiliser des animations sur des squelettes différents, facilitant l'usage de bibliothèques tierces comme Mixamo.
Automatisation par Suffixes
Godot reconnaît des suffixes dans les noms des nœuds lors de l'importation pour automatiser des tâches :
-
-noimp: Empêche l'importation du nœud. -
-colonly: Transforme le maillage en une forme de collision uniquement. -
-loop: Définit automatiquement l'animation en boucle.
6. Éclairage et Rendu (WorldEnvironment)
Le nœud WorldEnvironment est le centre de contrôle de l'atmosphère visuelle.
Types de Lumières
-
DirectionalLight3D : Simule le soleil ou la lune (éclairage global directionnel).
-
OmniLight3D : Lumière ponctuelle émettant dans toutes les directions (ex: ampoule).
-
SpotLight3D : Lumière directionnelle en forme de cône (ex: lampe de poche).
Effets de Post-traitement et Qualité
-
SSAO (Screen Space Ambient Occlusion) : Ajoute du réalisme en ombrant les recoins.
-
Tone Mapping : Ajuste la courbe de contraste. Les modes ACES ou Filmic sont préférés pour éviter l'écrêtage des hautes lumières et obtenir un aspect cinématique.
-
Ajustements de Couleur : Possibilité d'utiliser des gradients 1D ou des LUT pour la correction colorimétrique.
-
Auto-Exposition : Simule l'adaptation de l'œil humain lors du passage d'une zone sombre à une zone lumineuse.
Optimisation
L'activation des ombres sur chaque lumière est coûteuse. Il est conseillé de les utiliser avec parcimonie pour maintenir des performances fluides.
Pour le rendu final, les paramètres d'anti-crénelage (MSAA) et les réglages avancés de rendu peuvent être configurés dans les Project Settings.

