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...
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.
Because of this, assets are now transparently imported from within the project folder. See Import-Prozess for more details on how importing works in Godot.
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
To create a file whose name starts with a dot on Windows, place a dot
at both the beginning and end of the filename (.gdignore.). Windows
will automatically remove the trailing dot when you confirm the name.
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.
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