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 sein.

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:

  • Verwenden Sie snake_case für Ordner- und Dateinamen (mit Ausnahme von C# Skripten). Dadurch werden Probleme mit der Groß- und Kleinschreibung umgangen, die nach dem Exportieren eines Projekts unter Windows auftreten können. C# Skripte sind eine Ausnahme von dieser Regel, da die Konvention darin besteht, sie nach dem Klassennamen zu benennen, der in PascalCase geschrieben sein sollte.

  • Verwenden Sie PascalCase für Node-Namen, da dies mit der Groß-/Kleinschreibung der integrierten Nodes übereinstimmt.

  • Bewahren Sie Ressourcen von Drittanbietern im Allgemeinen in einem Ordner addons / der obersten Ebene auf, auch wenn es sich nicht um Editor-Plugins handelt. Dies erleichtert das Verfolgen der Dateien von Drittanbietern. Es gibt einige Ausnahmen von dieser Regel; Wenn Sie beispielsweise Spiel-Assets von Drittanbietern für einen Charakter verwenden, ist es sinnvoller, diese in denselben Ordner wie die Charakterszenen und -skripte aufzunehmen.

Importieren

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.

Aus diesem Grund werden Assets jetzt aus dem Projektordner importiert.

Bestimmte Ordner ignorieren

Um zu verhindern, dass Godot Dateien importiert die in einem bestimmten Ordner enthalten sind, erstellen Sie eine leere Datei mit dem Namen .gdignore im Ordner (der anführende Punkt . ist erforderlich). Dies kann nützlich sein um den ersten Projektimport zu beschleunigen.

Bemerkung

Um eine Datei zu erstellen, deren Name unter Windows mit einem Punkt beginnt, können Sie einen Texteditor wie Notepad++ verwenden oder den folgenden Befehl in einer Eingabeaufforderung verwenden: type nul> .gdignore.

Sobald der Ordner ignoriert wird, können die Ressourcen in diesem Ordner nicht mehr mit den Methoden load() und preload() geladen werden.

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