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...
Sistema de archivos
Introducción
El sistema de archivos gestiona cómo se almacenan los recursos y cómo se accede a estos. Un sistema de archivos bien diseñado también permite a varios desarrolladores editar los mismos archivos y recursos de origen mientras colaboran entre sí. Godot guarda todos los recursos como archivos en su sistema de archivos.
Implementación
El sistema de archivos almacena recursos en el disco. Cualquier cosa, desde un guión hasta una escena o una imagen PNG es un recurso para el motor. Si un recurso contiene propiedades que hacen referencia a otros recursos en el disco, también se incluyen las rutas a esos recursos. Si un recurso tiene subrecursos incorporados, el recurso se graba en un único fichero junto con todos los subrecursos concatenados. Por ejemplo, un recurso de fuente a menudo se agrupa junto con las texturas de fuente.
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.
Ejemplo del contenido del sistema de archivos:
/project.godot
/enemy/enemy.tscn
/enemy/enemy.gd
/enemy/enemysprite.png
/player/player.gd
project.godot
El archivo project.godot es el archivo de descripción del proyecto, y siempre se encuentra en la raíz del proyecto. De hecho, su ubicación define dónde está la raíz. Este es el primer archivo que Godot busca al abrir un proyecto.
Este archivo contiene la configuración del proyecto en texto plano, usando el formato win.ini. Incluso un project.godot vacío puede funcionar como una definición básica de un proyecto en blanco.
Delimitador de ruta
Godot sólo admite / como delimitador de ruta. Esto se hace por razones de portabilidad. Todos los sistemas operativos soportan esto, incluso Windows, así que una ruta como C:\project\project.godot necesita ser escrita como C:/project/project.godot.
Ruta del recurso
Cuando se accede a los recursos, utilizar el formato del sistema de archivos del SO host puede resultar complicado y no ser portable. Para resolver este problema, se creó la ruta especial `res://.
La ruta res:// siempre apuntará a la raíz del proyecto (donde se encuentra el project.godot, por lo que de hecho res://project.godot siempre es válido).
Este sistema de archivos es de lectura-escritura sólo cuando se ejecuta el proyecto localmente desde el editor. Cuando se exporta o cuando se ejecuta en diferentes dispositivos (como teléfonos o consolas, o cuando se ejecuta desde un DVD), el sistema de archivos se convertirá en sólo lectura y la escritura ya no estará permitida.
Ruta de usuario
La escritura en disco sigue siendo necesaria para tareas como guardar el estado del juego o descargar paquetes de contenido. Para este fin, el motor se asegura de que la ruta especial user:// existe y es siempre escribible. Esta ruta es distinta dependiendo del SO en el que el proyecto está siendo ejecutado. La resolución de la ruta local está explicada en Rutas de archivo en proyectos de Godot.
Sistema de archivos del host
De forma alternativa, también se pueden utilizar las rutas del sistema de archivos del host, pero esto no se recomienda para un producto publicado, ya que no se garantiza que estas rutas funcionen en todas las plataformas. Sin embargo, usar las rutas del sistema de archivos del host puede ser útil cuando se escriben herramientas de desarrollo en Godot.
Inconvenientes
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.
To avoid this, do all your move, delete and rename operations from within Godot, on the FileSystem dock. When you delete files in Godot, it will prompt you with a confirmation dialog listing all selected files and any scenes that depend on those files. Never move assets from outside Godot, or dependencies will have to be fixed manually (Godot detects this and helps you fix them anyway, but why go the hard route?).
La segunda es que bajo Windows y macOS los nombres de archivos y rutas no distinguen entre mayúsculas y minúsculas. Si un desarrollador que trabaja en un sistema de archivos insensible a mayúsculas guarda un recurso como "myfile.PNG", pero luego se refiere a él como "myfile.png", funcionará bien en su plataforma, pero no en otras plataformas, como Linux, Android, etc. Esto también puede aplicarse a los binarios exportados, que utilizan un paquete comprimido para almacenar todos los archivos.
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.