Up to date

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

Projektorganisation

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.

Der gängigste Ansatz ist daher, die Assets so nah wie möglich an den Szenen zu gruppieren; wenn ein Projekt wächst, wird es dadurch leichter wartbar.

So kann man z.B. die grundlegenden Elemente wie Sprite-Bilder, 3D-Modell-Meshes, Materialien, Musik usw. in einem einzigen Ordner ablegen. Sie können dann einen separaten Ordner verwenden, um die erstellten Levels zu speichern, die sie verwenden.

/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

Styleguide

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, setzen Sie einen Punkt an den Anfang und das Ende des Dateinamens (".gdignore."). Windows entfernt den Punkt am Ende automatisch, wenn Sie den Namen bestätigen.

Alternativ können Sie auch einen Texteditor wie Notepad++ verwenden oder den folgenden Befehl in einer Eingabeaufforderung eingeben: 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. Außerdem wird der Ordner im Dateisystem-Panel verborgen, wodurch Unordnung vermieden werden kann.

Beachten Sie, dass der Inhalt der Datei .gdignore ignoriert wird, weshalb die Datei leer sein sollte. Sie unterstützt keine Muster wie die .gitignore-Dateien.

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 die Bezeichnung snake_case beizubehalten (und im allgemeinen Kleinbuchstaben zu verwenden).

Bemerkung

Diese Regel kann gebrochen werden, wenn Styleguides etwas anderes empfehlen (wie der C# Styleguide). Seien Sie dennoch konsistent, 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