Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Organisation du projet
Introduction
Comme Godot n'a aucune restriction sur la structure du projet ou l'utilisation du système de fichiers, l'organisation des fichiers lors de l'apprentissage du moteur peut sembler difficile. Ce tutoriel propose un workflow qui devrait être un bon point de départ. Nous couvrirons également l'utilisation du contrôle de version avec Godot.
Organisation
Godot dans sa nature est un système de scène et utilise le système de fichiers tel quel, sans métadonnées ni base de données d'asset.
Contrairement à d'autres moteurs, beaucoup de ressources sont contenues dans la scène même, pour que la quantité de fichiers dans le système de fichier soit considérablement réduite.
Compte tenu de cela, l'approche la plus courante consiste à regrouper les assets à proximité des scènes, car lorsqu'un projet se développe, cette approche le rend plus facile à gérer.
A titre d'exemple, vous pouvez généralement placer dans un seul dossier vos assets de base, telles que les images de sprite, les maillages de modèles 3D, les matériaux, la musique, etc. Ils peuvent ensuite utiliser un dossier séparé pour stocker les niveaux construits qui les utilisent.
/project.godot
/docs/.gdignore # See "Ignoring specific folders" below
/docs/learning.html
/models/town/house/house.dae
/models/town/house/window.png
/models/town/house/door.png
/characters/player/cubio.dae
/characters/player/cubio.png
/characters/enemies/goblin/goblin.dae
/characters/enemies/goblin/goblin.png
/characters/npcs/suzanne/suzanne.dae
/characters/npcs/suzanne/suzanne.png
/levels/riverdale/riverdale.scn
Guide de style
Par souci de cohérence entre les projets, nous recommandons de suivre ces lignes directrices :
Utilisez snake_case pour les noms de dossiers et de fichiers (à l'exception des scripts C#). Cela permet d'éviter les problèmes de sensibilité à la casse qui peuvent survenir après l'exportation d'un projet sous Windows. Les scripts C# sont une exception à cette règle, car la convention est de les nommer d'après le nom de la classe qui doit être en PascalCase.
Utilisez PascalCase pour les noms de nœud, car cela correspond à la casse des nœuds intégrés.
En général, gardez les ressources tierces dans un dossier de haut niveau
addons/, même s'il ne s'agit pas de plugins d'éditeur. Cela facilite le suivi des fichiers tiers. Il y a quelques exceptions à cette règle ; par exemple, si vous utilisez des ressources de jeu tierces pour un personnage, il est plus logique de les inclure dans le même dossier que les scènes et les scripts du personnage.
Importation
Godot, dans les versions antérieures à la 3.0, réalisait le processus d'importation depuis des fichiers extérieurs au projet. Bien que cela puisse être utile pour des gros projets, cela a entraîné des problèmes d'organisation pour la plupart des développeurs.
Because of this, assets are now transparently imported from within the project folder. See Processus d’importation for more details on how importing works in Godot.
Ignorer des dossiers spécifiques
Pour empêcher Godot d'importer des fichiers contenus dans un dossier spécifique, créez un fichier vide appelé .gdignore dans le dossier (le premier . est requis). Ceci peut être utile pour accélérer l'importation initiale du projet.
Note
To create a file whose name starts with a dot on Windows, place a dot
at both the beginning and end of the filename (.gdignore.). Windows
will automatically remove the trailing dot when you confirm the name.
Vous pouvez aussi utiliser un éditeur de texte tel que Notepad++ ou utiliser la commande suivante dans une invité de commande : type nul > .gdignore
Une fois que le dossier est ignoré, les ressources de ce dossier ne peuvent plus être chargées en utilisant les méthodes load() et preload(). Ignorer un dossier le masquera aussi automatiquement dans le dock FileSystem, ce qui peut être utile pour réduire l'encombrement.
Notez que le contenu du fichier .gdignore est ignoré, ce qui explique pourquoi le fichier devrait être vide. Il ne supporte pas les modèles comme le font les fichiers .gitignore.
Sensibilité à la casse
Les versions Windows et MacOS récentes utilisent par défaut des systèmes de fichiers insensibles à la casse, tandis que les distributions Linux utilisent par défaut un système de fichiers sensible à la casse. Cela peut causer des problèmes après l'exportation d'un projet, puisque le système de fichiers virtuel PCK de Godot est sensible à la casse. Pour éviter cela, il est recommandé de s'en tenir au nommage snake_case pour tous les fichiers du projet (et les caractères minuscules en général).
Note
Vous pouvez enfreindre cette règle lorsque les guides de style disent le contraire (comme le guide de style C#). Néanmoins, soyez cohérent pour éviter les erreurs.
Sous Windows 10, pour éviter les erreurs liées à la sensibilité à la casse, vous pouvez également rendre le dossier du projet sensible à la casse. Après avoir activé la fonction Windows Subsystem for Linux, exécutez la commande suivante dans une fenêtre PowerShell :
# To enable case-sensitivity:
fsutil file setcasesensitiveinfo <path to project folder> enable
# To disable case-sensitivity:
fsutil file setcasesensitiveinfo <path to project folder> disable
Si vous n'avez pas activé Windows Subsystem for Linux, vous pouvez entrer la ligne suivante dans une fenêtre PowerShell en tant qu'administrateur puis redémarrer lorsque l'on vous le demande :
Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux