Up to date

This page is up to date for Godot 4.2. If you still find outdated information, please open an issue.

Le système de fichiers

Introduction

Le système de fichier gère la façon dont les assets sont stockés et comment on y accède. Un système bien conçu permet à plusieurs développeurs d'éditer les mêmes fichiers et assets lorsqu'ils collaborent ensemble. Godot stocke toutes les assets sous forme de fichiers dans son système de fichiers.

Implémentation

Le système de fichier stock ses ressources sur le disque. Des scripts aux scènes en passant par les images en PNG, tous sont des ressources pour le moteur. Si une ressource contient des propriétés faisant référence à d'autres ressources sur le disque, le chemin de ces ressources sont également inclus. Si une ressource est constituée d'une sous ressource, elle est sauvegardé en un seul fichier avec toutes ses sous-ressources. Par exemple, une ressource de police est souvent comprise avec une police de caractère.

The Godot file system avoids using metadata files. Existing asset managers and VCSs are better than anything we can implement, so Godot tries its best to play along with Subversion, Git, Mercurial, etc.

Exemple du contenu d'un système de fichier :

/project.godot
/enemy/enemy.tscn
/enemy/enemy.gd
/enemy/enemysprite.png
/player/player.gd

project.godot

Le fichier project.godot est le fichier de description du projet, et il se trouve toujours à la racine du projet. En faite sa localisation définie où la racine se situe. C'est le premier fichier que Godot va regarder quand il ouvre un projet.

Ce fichier contient la configuration du projet en texte brut, au format win.ini. Même un fichier project.godot vide peut fonctionner comme une définition basique d'un projet vide.

Délimiteur de chemin d'accès (Path delimiter)

Godot ne prend en charge que / comme délimiteur de chemin. Cela est fait pour des raisons de portabilité. Tous les systèmes d'exploitation le prennent en charge, même Windows, donc un chemin tel que C:\project\project.godot doit être saisie sous la forme C:/project/project.godot.

Chemin des ressources (Resource path)

Lors de l'accès aux ressources, l'utilisation du système de fichiers du système d'exploitation hôte peut être lourde et non portable. Pour résoudre ce problème, le chemin d'accès spécial res:// a été créé.

Le chemin res:// pointera toujours vers la racine du projet (là où est localisé project.godot, ainsi res://project.godot est toujours valide).

Le système de fichier est en lecture-écriture uniquement lorsque le projet est lancé localement depuis l'éditeur. Lorsqu'il est exporté ou lancé sur différents appareils (comme des téléphones, consoles, ou lancé depuis un DVD), le système de fichier passe en lecture seule et l'écriture n'est plus permise.

Chemin de l'utilisateur (User path)

L'écriture sur le disque est toujours nécessaire pour des tâches telles que la sauvegarde de l'état du jeu ou le téléchargement de packs de contenu. À cette fin, le moteur s'assure qu'il existe un chemin spécial user:// qui est toujours accessible en écriture. Ce chemin se résout différemment selon le système d'exploitation sur lequel le projet s'exécute. La résolution du chemin local est expliquée plus en détail dans Chemins d'accès aux fichiers dans les projets Godot.

Système de fichier hôte (Host file system)

Il est également possible d'utiliser des chemins de système de fichiers hôtes. Cependant ce n'est pas recommandé pour un produit commercialisé car il n'est pas garanti que cela fonctionne sur toutes les plates-formes. Cependant, l'utilisation de chemins de système de fichiers hôtes peut être utile lors de l'écriture d'outils de développement dans Godot.

Inconvénients

There are some drawbacks to this file system design. The first issue is that moving assets around (renaming them or moving them from one path to another inside the project) will break existing references to these assets. These references will have to be re-defined to point at the new asset location.

Pour éviter cela, effectuez toutes vos opérations de déplacement, de suppression et de renommage depuis Godot, dans le dock du système de fichiers. Ne déplacez jamais des assets depuis l'extérieur de Godot, ou les dépendances devront être réparées manuellement (Godot détecte cela et vous aide à les réparer de toute façon, mais pourquoi se compliquer la vie ?).

Le second est que sous Windows et macOS, les fichiers et les chemins d'accès ne sont pas sensible à la casse. Si un développeur travaille dans un environnement non sensible à la casse et sauvegarde un asset myfile.PNG, mais le référence comme myfile.png, cela marchera sur sa plateforme, mais pas sur d'autres plateforme tel que Linux, Android, etc. Cela peut également s'appliquer sur les fichiers binaires exportés, qui utilisent un paquet compressé pour stocker tous les fichiers.

It is recommended that your team clearly define a naming convention for files when working with Godot. One fool-proof convention is to only allow lowercase file and path names.