De Unity à Godot - Partie 1 : Prise en main du logiciel
Ce guide présente comment migrer en douceur de Unity vers Godot (version .NET supportant C#). Dans cette première partie, nous comparons leurs éléments et principes de base.
➤ Comparaison de gestionnaires de projets
➤ Comparaison des fenêtres de création de projet
➤ Comparaison des interfaces
➤ Retrouver dans Godot les concepts de bases de Unity : composants et préfabs
➤ Comment créer un prefab sous Godot ?
➤ Comment créer un GameObject sous Godot ?
— réalisé par Anthony Cardinale, auteur de plusieurs livres sur Unity et du livre sur Godot "Développer des jeux avec Godot 4 et le langage C#"
UNITY HUB vs GESTIONNAIRE DE PROJETS GODOT
Unity HUB permet de gérer ses projets, de créer un nouveau projet et d’installer plusieurs versions de Unity en parallèle.
Le gestionnaire de projets de Godot permet de faire sensiblement la même chose mais ne permet pas de visualiser les différentes installations de Godot dont vous disposez. Cependant, vous pouvez ouvrir un projet réalisé sur une version différente de Godot et le gestionnaire se chargera de faire la conversion.
CRÉATION D’UN PROJET
L’INTERFACE
ÉQUIVALENCES ENTRE CONCEPTS DE BASE
Unity |
Godot |
Hierarchy |
L’arbre de scène / Scene tree |
Project |
Système de fichiers / File system |
Scene |
Scène |
Inspector |
Inspecteur / Inspector |
L’interface de Godot est assez similaire à celle de Unity. Les fenêtres peuvent être agencées à votre guise.
La particularité de Godot c’est que tout tourne autour du système de nœuds (contrairement à Unity qui fonctionne avec des composants [components]). Plusieurs nœuds imbriqués forment un arbre. Lorsqu’on parle de Scene tree, on parle de la liste des nœuds de la scène.
Dans Godot, les liens de parenté sont très importants. Encore plus que sous Unity. Pour construire une scène, nous créons des nœuds qui forment des branches puis un arbre de scène.
Exemple d’arbre :
CRÉER UN COMPOSANT RÉUTILISABLE DANS GODOT
Dans Unity, lorsqu’on souhaite réutiliser un objet de jeu, on crée ce que l’on appelle un prefab. Dans Godot nous avons un système similaire mais qui se manifeste différemment.
Pour créer quelque chose d’équivalent à un prefab, nous devons créer une scène qui aura ses propres nœuds. Par exemple, si j’ai un objet à ramasser (Rigidbody + Mesh + Collider), je vais créer la scène avec l’arbre suivant :
Cette scène peut ensuite être enregistrée afin d’être par la suite instanciée et donc réutilisée :
Donc un prefab c’est une scène qui peut être insérée dans une autre scène.
CRÉER UN NŒUD
Dans Godot, pour créer un nouveau nœud, il faut cliquer sur le « + » au niveau du Scene tree :
Créer un nœud revient à créer un GameObject ou à ajouter un composant à un GameObject.
Lorsqu’on crée un nœud, nous devons choisir la nature de ce nœud :
Par exemple, pour créer un Cube 3D, il faut commencer par créer un MeshInstance3D (l’équivalent d’un Mesh Renderer sous Unity) :
Une fois ce nœud créé, pas grand-chose ne se passe. En effet, il faut préciser le mesh à utiliser en passant par l’inspector :
Le cube est alors visible :
AJOUTER UN COMPOSANT
Dans Godot, tout fonctionne avec des nœuds. Pour ajouter un composant au cube, nous devons ajouter un nœud enfant. Par exemple, pour ajouter un collider, nous allons sélectionner le nœud CollisionShape3D :
On remarque qu’une alerte apparaît à côté de ce nœud. En réalité, Godot vous demande de toujours préciser les caractéristiques d’un nœud. Lorsque vous ajoutez un CollisionShape, Godot attend que vous précisiez la nature de cette forme de collision. On va donc choisir un BoxShape3D :
Comme pour Unity, Godot fait la distinction entre les nœuds 3D et les nœuds 2D. Donc, en général, le nom du nœud se termine par 2D ou 3D selon sa nature. C’est comme pour le Rigidbody ou Rigidbody2D sous Unity.
En parlant de Rigidbody, si on souhaite que le cube soit un Rigidbody (et donc affecté par la gravité), il faut convertir son nœud parent. D’ailleurs, le CollisionShape3D ne peut être enfant que d’un Area ou d’un Body (Rigidbody, Staticbody, Characterbody).
Pour convertir un nœud, faites un clic droit puis choisissez Changer de type :
Choisissez RigidBody3D. Faites ensuite glisser le nœud CollisionShape3D sous le nœud principal :
Vous pouvez renommer les nœuds afin de mieux vous y retrouver. Ensuite, pour créer un prefab, enregistrez simplement la scène : Scène / Enregistrer la scène sous :
Pour instancier la scène (utiliser le prefab), utilisez l’icône suivante :
Attention, vous ne pouvez pas instancier une scène dans elle-même. Créez une nouvelle scène vide pour tester l’instanciation :
Vous pouvez de cette façon construire vos scènes / niveaux et organiser le tout. Sous Godot, vous retrouverez des nœuds pour gérer les lumières, les materials, les caméras, les sons, les agents de navigation, les collisions, l’interface utilisateur… N’hésitez pas à parcourir la liste des nœuds ainsi que la documentation pour prendre connaissance des différents nœuds disponibles.
Voilà, vous connaissez les manipulations de base pour créer vos scènes sous Godot.
De Unity à Godot - Partie 2 : Écrire des scripts sous Godot
Voir aussi
➤ Godot Engine : un moteur de jeu puissant, intuitif et libre
➤ Livre d'Anthony Cardinale: Développer des jeux avec Godot 4 et le langage C#