Организация проекта

Введение

Поскольку Godot не имеет ограничений по структуре проекта или использованию файловой системы, организация файлов при изучении движка может показаться сложной задачей. Этот учебник предлагает рабочий процесс, который должен быть хорошей отправной точкой. Мы также рассмотрим использование контроля версий с Godot.

Организация

Godot по своей природе основан на сценах и использует файловую систему как есть, без метаданных или базы данных ресурсов.

В отличие от других движков, многие ресурсы содержатся внутри самой сцены, поэтому количество файлов в файловой системе значительно ниже.

Учитывая это, наиболее распространенным подходом является группирование ресурсов как можно ближе к сценам; когда проект будет расти, это делает его обслуживание легче.

Например, обычно можно поместить в одну папку основные ресурсы, такие как изображения спрайтов, сетки 3D-моделей, материалы и музыку и т.д. Затем можно использовать отдельную папку для хранения созданных уровней, которые их используют.

/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

Импорт

Версии Godot до 3.0 импортировали файлы вне проекта. Хотя это может быть полезно в больших проектах, это привело к хлопотам в организации для большинства разработчиков.

Благодаря этому ресурсы теперь прозрачно импортируются из папки проекта.

Ignoring specific folders

Чтобы запретить Godot импортировать файлы, содержащиеся в определенной папке, создайте в этой папке пустой файл с именем .gdignore (необходим ведущий .). Это может оказаться полезным для ускорения первоначального импорта проекта.

Примечание

Чтобы создать файл, имя которого начинается с точки в Windows, вы можете использовать текстовый редактор, например Notepad ++, или использовать следующую команду в командной строке: type nul> .gdignore

Как только папка игнорируется, ресурсы в этой папке больше не могут быть загружены с использованием методов load () и preload ().

Игнорирование папки также автоматически скрывает ее от меню FileSystem, что может быть полезно для уменьшения беспорядка.

Case sensitivity

Windows and recent macOS versions use case-insensitive filesystems by default, whereas Linux distributions use a case-sensitive filesystem by default. This can cause issues after exporting a project, since Godot’s PCK virtual filesystem is case-sensitive. To avoid this, it’s recommended to stick to snake_case naming for all files in the project (and lowercase characters in general).

Примечание

You can break this rule when style guides say otherwise (such as the C# style guide). Still, be consistent to avoid mistakes.

On Windows 10, to further avoid mistakes related to case sensitivity, you can also make the project folder case-sensitive. After enabling the Windows Subsystem for Linux feature, run the following command in a PowerShell window:

# To enable case-sensitivity:
fsutil file setcasesensitiveinfo <path to project folder> enable

# To disable case-sensitivity:
fsutil file setcasesensitiveinfo <path to project folder> disable

If you haven’t enabled the Windows Subsystem for Linux, you can enter the following line in a PowerShell window running as Administrator then reboot when asked:

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux