Projekt Organisation

Einführung

Da Godot keine Einschränkungen hinsichtlich der Projektstruktur oder der Verwendung des Dateisystems hat, kann das Organisieren von Dateien beim Erlernen der Engine eine Herausforderung darstellen. Diese Anleitung schlägt einen Arbeitsablauf vor, der ein guter Ausgangspunkt sein sollte. Wir werden auch die Versionskontrolle mit Godot behandeln.

Organisation

Godot ist szenenbasiert und verwendet das Dateisystem unverändert ohne Metadaten oder eine Asset-Datenbank.

Im Gegensatz zu anderen Engines sind viele Ressourcen in der Szene selbst enthalten, sodass die Anzahl der Dateien im Dateisystem erheblich geringer ist.

In Anbetracht dessen besteht der gängigste Ansatz darin, Assets so nah wie möglich an Szenen zu gruppieren. Wenn ein Projekt wächst, wird es einfacher zu warten.

Beispielsweise kann man normalerweise seine grundlegenden Elemente wie Sprite-Bilder, 3D-Model-Meshes, Materialien und Musik usw. in einem einzelnen Ordner ablegen. Anschließend können sie in einem separaten Ordner erstellte Levels speichern, in denen sie verwendet werden.

/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

Stil-Richtlinien

Aus Gründen der Projektkonsistenz empfehlen wir, die folgenden Richtlinien zu befolgen:

  • Use snake_case for folder and file names (with the exception of C# scripts). This sidesteps case sensitivity issues that can crop up after exporting a project on Windows. C# scripts are an exception to this rule, as the convention is to name them after the class name which should be in PascalCase.
  • Use PascalCase for node names, as this matches built-in node casing.
  • In general, keep third-party resources in a top-level addons/ folder, even if they aren't editor plugins. This makes it easier to track which files are third-party. There are some exceptions to this rule; for instance, if you use third-party game assets for a character, it makes more sense to include them within the same folder as the character scenes and scripts.

einfügen

Godot-Versionen vor 3.0 haben den Importvorgang aus Dateien außerhalb des Projekts durchgeführt. Während dies in großen Projekten nützlich sein kann, führte dies für die meisten Entwickler zu Organisationsproblemen.

Because of this, assets are now transparently imported from within the project folder.

Bestimmte Ordner ignorieren

To prevent Godot from importing files contained in a specific folder, create an empty file called .gdignore in the folder (the leading . is required). This can be useful to speed up the initial project importing.

Bemerkung

To create a file whose name starts with a dot on Windows, you can use a text editor such as Notepad++ or use the following command in a command prompt: type nul > .gdignore

Once the folder is ignored, resources in that folder can't be loaded anymore using the load() and preload() methods.

Wenn Sie einen Ordner ignorieren, wird er automatisch im Dateisystem-Dock ausgeblendet. Dies kann hilfreich sein, um Unordnung zu vermeiden.

Groß- und Kleinschreibung beachten

Windows und neuere MacOS-Versionen verwenden standardmäßig Dateisysteme, bei denen die Groß- und Kleinschreibung nicht berücksichtigt wird, während Linux-Distributionen standardmäßig ein Dateisystem verwenden, bei dem die Groß- und Kleinschreibung berücksichtigt wird. Dies kann nach dem Exportieren eines Projekts zu Problemen führen, da das virtuelle PCK-Dateisystem von Godot zwischen Groß- und Kleinschreibung unterscheidet. Um dies zu vermeiden wird empfohlen, bei allen Dateien im Projekt (und bei Kleinbuchstaben im Allgemeinen) die Bezeichnung "snake_case" beizubehalten.

Bemerkung

Sie können diese Regel brechen, wenn Stil-Richtlinien etwas anderes sagen (z.B. C# Stil-Richtlinien). Seien Sie dennoch konsequent, um Fehler zu vermeiden.

Unter Windows 10 können Sie den Projektordner auch zwischen Groß- und Kleinschreibung unterscheiden lassen, um Fehler im Zusammenhang mit der Groß- und Kleinschreibung zu vermeiden. Führen Sie nach dem Aktivieren der Windows-Subsystem für Linux-Funktion den folgenden Befehl in einem PowerShell-Fenster aus:

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

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

Wenn Sie das Windows-Subsystem für Linux nicht aktiviert haben, können Sie die folgende Zeile in ein PowerShell-Fenster eingeben, das als Administrator ausgeführt wird und dann neu starten, wenn Sie dazu aufgefordert werden:

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