Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Kommandozeilen-Tutorial¶
Einige Entwickler verwenden gerne und ausgiebig die Befehlszeile. Godot ist so konzipiert, dass es mit ihnen kompatibel ist. Hier sind die Schritte, um vollständig über die Befehlszeile zu arbeiten. Da die Engine fast keine externen Bibliotheken benötigt, sind die Initialisierungszeiten recht kurz, was sie für diesen Workflow geeignet macht.
Bemerkung
Unter Windows und Linux können Sie eine Godot-Binärdatei in einem Terminal ausführen, indem Sie den relativen oder absoluten Pfad angeben.
Unter macOS ist der Prozess anders, da Godot in einem .app
-Bundle enthalten ist (was ein Ordner ist, keine Datei). Um eine Godot-Binärdatei von einem Terminal unter macOS aus zu starten, müssen Sie mit cd
in den Ordner wechseln, in dem sich das Godot-Anwendungspaket befindet, und dann Godot.app/Contents/MacOS/Godot
gefolgt von beliebigen Kommandozeilenargumenten ausführen. Wenn Sie das Anwendungspaket Godot
umbenannt haben, stellen Sie sicher, dass Sie diese Kommandozeile entsprechend ändern.
Kommandozeilen-Referenz¶
Legende
Verfügbar in Editor-Builds, Debug-Exportvorlagen und Release-Exportvorlagen.
Nur in Editor-Builds und Debug-Exportvorlagen verfügbar.
Nur in Editor-Builds verfügbar.
Beachten Sie, dass unbekannte Kommandozeilenargumente keinerlei Auswirkungen haben. Die Engine wird Sie nicht warnen, wenn Sie ein Kommandozeilenargument verwenden, das für einen bestimmten Build-Typ nicht existiert.
Allgemeine Optionen
Befehl |
Beschreibung |
|
Zeigt die Liste der Kommandozeilenoptionen an. |
|
Zeigt den Versions-String an. |
|
Ausführlichen stdout-Modus verwenden. |
|
Stummer Modus, unterdrückt stdout-Meldungen. Fehler werden weiterhin angezeigt. |
Ausführen-Optionen
Befehl |
Beschreibung |
|
Trennzeichen für vom Benutzer bereitgestellte Argumente. Die folgenden Argumente werden nicht von der Engine verwendet, können aber von |
|
Editor starten, anstatt die Szene ablaufen zu lassen. |
|
Projektmanager starten, auch wenn ein Projekt automatisch erkannt wird. |
|
Debug-Server des Editors starten ( |
|
Nach der ersten Iteration beenden. |
|
Beenden nach der angegebenen Anzahl von Iterationen. Zum Deaktivieren auf 0 setzen. |
|
Ein bestimmtes Gebietsschema verwenden. |
|
Pfad zu einem Projekt ( |
|
Ordner aufwärts nach der Datei "project.godot" durchsuchen. |
|
Pfad zu einer zu ladenden Pack-Datei (.pck). |
|
Render-Thread-Modus ('unsafe', 'safe', 'separate'). Siehe Thread-Modell für weitere Details. |
|
Remote-Dateisystem ( |
|
Passwort für Remote-Dateisystem. |
|
Audiotreiber. Verwenden Sie zuerst |
|
Display-Treiber (und Rendering-Treiber). Verwenden Sie zuerst |
|
Renderer-Name. Erfordert Treiberunterstützung. |
|
Rendering-Treiber (abhängig vom Display-Treiber). Verwenden Sie zuerst |
|
Eine bestimmte GPU verwenden (mit |
|
Texttreiber (Schriftarten, BiDi, Shaping). |
|
Stifttablett-Eingabetreiber. |
|
Aktivieren Sie den Headless-Modus ( |
|
Führt die Engine so aus, dass ein Film geschrieben wird (normalerweise mit .avi oder .png-Erweiterung). |
Anzeige-Optionen
Befehl |
Beschreibung |
|
Vollbildmodus anfordern. |
|
Maximiertes Fenster anfordern. |
|
Fenstermodus anfordern. |
|
Fenster anfordern, das immer im Vordergrund ist. |
|
Fenster-Auflösung anfordern. |
|
Fenster-Position anfordern. |
|
Fenster-Bildschirm anfordern. |
|
Einzelnes Fenster verwenden (keine separaten Unterfenster). |
|
XR-Modus auswählen ("Standard", "Aus", "Ein"). |
Debug-Optionen
Befehl |
Beschreibung |
|
Debug (lokaler stdout-Debugger). |
|
Haltepunktliste als source::line Komma-getrennte Paare, keine Leerzeichen (stattdessen |
|
Profiling im Skript-Debugger einschalten. |
|
GPU-Profil der Aufgaben anzeigen, die während des Frame-Renderings die meiste Zeit in Anspruch genommen haben. |
|
Grafik-API Validation Layers zur Fehlersuche aktivieren. |
|
Abbruch bei GPU-Fehlern (in der Regel Validation Layer-Fehler), kann helfen, das Problem zu erkennen, wenn Ihr System einfriert. |
|
Remote-Debug ( |
|
Szenenbaum läuft im Single-Thread-Modus. Sub-Thread-Gruppen sind deaktiviert und laufen auf dem Haupt-Thread. |
|
Kollisions-Shapes beim Ausführen der Szene anzeigen. |
|
Pfadlinien beim Ausführen der Szene anzeigen. |
|
Navigationspolygone beim Ausführen der Szene anzeigen. |
|
Debug-Visualisierungen zur Navigationsvermeidung anzeigen, wenn die Szene ausgeführt wird. |
|
Alle StringName-Zuweisungen auf stdout ausgeben, wenn die Engine beendet wird. |
|
Hohe CPU-Last simulieren (verzögert jedes Bild um <ms> Millisekunden). |
|
Zeitskala erzwingen (höhere Werte sind schneller - 1,0 ist normale Geschwindigkeit). |
|
Deaktivierung der vertikalen Synchronisation erzwingen, auch wenn sie in den Projekteinstellungen aktiviert ist. Die V-Sync-Erzwingung auf Treiberebene wird nicht außer Kraft gesetzt. |
|
Rendering-Schleife deaktivieren, so dass das Rendering nur erfolgt, wenn es explizit vom Skript aufgerufen wird. |
|
Crash-Handler deaktivieren, wenn vom Plattformcode unterstützt. |
|
Feste Anzahl von Bildern pro Sekunde erzwingen. Mit dieser Einstellung wird die Echtzeitsynchronisation deaktiviert. |
|
Delta-Glättung aktivieren oder deaktivieren ('enable', 'disable'). |
|
Frames pro Sekunde auf stdout ausgeben. |
Eigenständige Tools
Befehl |
Beschreibung |
|
Skript ausführen. |
|
Nur auf Fehler prüfen und beenden (mit |
|
Projekt mit der angegebenen Vorgabe und der passenden Release-Vorlage exportieren. Der Name der Vorgabe sollte mit einem in export_presets.cfg definierten Namen übereinstimmen. |
|
Wie |
|
Wie |
|
Projekt von Godot 3.x nach Godot 4.x konvertieren. |
|
Zeigt an, welche Elemente bei der Konvertierung eines Projekts von Godot 3.x nach Godot 4.x umbenannt werden. |
|
Engine-API-Referenz auf den angegebenen |
|
Dumping der Basistypen verbieten (verwendet mit |
|
API-Referenz aus der Inline-Dokumentation in den GDScript-Dateien in <Pfad> generieren (verwendet mit |
|
Bauen der Skripting-Solutions (z.B. für C# Projekte). Impliziert |
|
GDExtension-Header-Datei 'gdnative_interface.h' im aktuellen Ordner generieren. Diese Datei ist die Basisdatei, die zur Implementierung einer GDExtension benötigt wird. |
|
JSON-Dump der Godot-API für GDExtension-Bindungen mit dem Namen 'extension_api.json' im aktuellen Ordner generieren. |
|
Erweiterungs-API-Datei validieren, die (mit der obigen Option) aus einer früheren Version der Engine kopiert wurde, um die API-Kompatibilität sicherzustellen. Wenn Inkompatibilitäten oder Fehler entdeckt werden, ist der Rückgabewert ungleich Null. |
|
Benchmarking der Laufzeit und Ausgabe auf der Konsole. |
|
Benchmarking der Laufzeit und Speichern in einer angegebenen Datei im JSON-Format. Der Pfad sollte absolut sein. |
Pfad¶
Es wird empfohlen, die Godot-Editor-Binärdatei in der PATH
-Umgebungsvariablen zu platzieren, so dass sie leicht von jedem Ort aus durch Eingabe von godot
ausgeführt werden kann. Unter Linux können Sie dies tun, indem Sie die Godot-Binärdatei in /usr/local/bin
ablegen und sicherstellen, dass sie godot
heißt (Groß- und Kleinschreibung beachten).
Um dies unter Windows oder macOS einfach zu erreichen, können Sie Godot mit Scoop (unter Windows) oder Homebrew (unter macOS) installieren. Dadurch wird die installierte Kopie von Godot automatisch im PATH
verfügbar gemacht:
# Standard editor:
scoop install godot
# Editor with C# support (will be available as `godot-mono` in `PATH`):
scoop install godot-mono
# Standard editor:
brew install godot
# Editor with C# support (will be available as `godot-mono` in `PATH`):
brew install godot-mono
Projektpfad setzen¶
Je nachdem, wo sich Ihre Godot-Binärdatei befindet und welches Ihr aktuelles Arbeitsverzeichnis ist, müssen Sie möglicherweise den Pfad zu Ihrem Projekt festlegen, damit einer der folgenden Befehle korrekt funktioniert.
When running the editor, this can be done by giving the path to the project.godot
file
of your project as either the first argument, like this:
godot path_to_your_project/project.godot [other] [commands] [and] [args]
For all commands, this can be done by using the --path
argument:
godot --path path_to_your_project [other] [commands] [and] [args]
Zum Beispiel, der vollständige Befehl zum exportieren Ihres Spiels (wie unten beschrieben) sieht in etwa so aus:
godot --headless --path path_to_your_project --export-release my_export_preset_name game.exe
When starting from a subdirectory of your project, use the --upwards
argument for Godot to
automatically find the project.godot
file by recursively searching the parent directories.
For example, running a scene (as explained below) nested in a subdirectory might look like this when your working directory is in the same path:
godot --upwards nested_scene.tscn
Projekt erzeugen¶
Ein Projekt kann von der Kommandozeile aus erstellt werden, indem man in der Shell zum gewünschten Ort navigiert und eine project.godot
-Datei erstellt.
mkdir newgame
cd newgame
touch project.godot
Das Projekt kann nun mit Godot geöffnet werden.
Editor starten¶
Running the editor is done by executing Godot with the -e
flag. This
must be done from within the project directory or by setting the project path as explained above,
otherwise the command is ignored and the Project Manager appears.
godot -e
When passing in the full path to the project.godot
file, the -e
flag may be omitted.
Wenn eine Szene erstellt und gespeichert wurde, kann sie später bearbeitet werden, indem derselbe Code mit dieser Szene als Argument ausgeführt wird.
godot -e scene.tscn
Szene löschen¶
Godot ist mit wird Ihrem Dateisystem zuliebe keine zusätzlichen Metadaten-Dateien erstellen. Verwenden Sie rm
, um eine Szenendatei zu löschen. Stellen Sie sicher, dass nichts auf diese Szene verweist. Andernfalls wird beim Öffnen des Projekts ein Fehler ausgelöst.
rm scene.tscn
Spiel starten¶
To run the game, execute Godot within the project directory or with the project path as explained above.
godot
Note that passing in the project.godot
file will always run the editor instead of running the game.
Wenn eine spezielle Szene getestet werden soll, fügen Sie diese Szene in die Eingabeaufforderung ein.
godot scene.tscn
Debugging¶
Das Auffinden von Fehlern in der Kommandozeile kann eine schwierige Aufgabe sein, da sie schnell durchlaufen. Zu diesem Zweck wird ein Kommandozeilen-Debugger durch Hinzufügen von -d
bereitgestellt. Er funktioniert entweder für das Spiel oder eine einzelne Szene.
godot -d
godot -d scene.tscn
Exportieren¶
Das Exportieren des Projekts von der Kommandozeile aus wird ebenfalls unterstützt. Dies ist besonders nützlich für die Continuous Integration.
Bemerkung
Die Verwendung des Kommandozeilenarguments --headless
ist erforderlich auf Plattformen, die keinen GPU-Zugriff haben (z.B. Continuous Integration). Auf Plattformen mit GPU-Zugriff verhindert --headless
, dass ein Fenster erscheint, während das Projekt exportiert wird.
# `godot` must be a Godot editor binary, not an export template.
# Also, export templates must be installed for the editor
# (or a valid custom export template must be defined in the export preset).
godot --headless --export-release "Linux/X11" /var/builds/project
godot --headless --export-release Android /var/builds/project.apk
Der Name der Vorgabe muss mit dem Namen einer Exportvorgabe übereinstimmen, die in der Datei export_presets.cfg
des Projekts definiert ist. Wenn der Vorgabenname Leerzeichen oder Sonderzeichen enthält (z. B. "Windows Desktop"), muss er mit Anführungszeichen umgeben werden.
Um eine Debug-Version des Spiels zu exportieren, verwenden Sie den Schalter --export-debug
anstelle von --export-release
. Die Parameter und die Verwendung sind die gleichen.
Um nur eine PCK-Datei zu exportieren, verwenden Sie die Option --export-pack
, gefolgt von dem Vorgabenamen und dem Ausgabepfad, mit der Dateierweiterung, anstelle von --export-release
oder --export-debug
. Die Erweiterung des Ausgabepfades bestimmt das Format des Pakets, entweder PCK oder ZIP.
Warnung
Wenn ein relativer Pfad als Pfad für --export-release
, --export-debug
oder --export-pack
angegeben wird, ist der Pfad relativ zu dem Verzeichnis, das die Datei project.godot
enthält, nicht relativ zum aktuellen Arbeitsverzeichnis.
Ein Skript ausführen¶
Es ist möglich, ein .gd
-Skript über die Befehlszeile auszuführen. Diese Funktion ist besonders bei großen Projekten nützlich, z.B. für die Batch-Konvertierung von Assets oder den benutzerdefinierten Import/Export.
Das Skript muss von SceneTree
oder MainLoop
erben.
Hier ist ein Beispiel sayhello.gd
, das zeigt, wie es funktioniert:
#!/usr/bin/env -S godot -s
extends SceneTree
func _init():
print("Hello!")
quit()
Und so wird es ausgeführt:
# Prints "Hello!" to standard output.
godot -s sayhello.gd
Wenn kein project.godot
im Pfad existiert, wird der aktuelle Pfad als das aktuelle Arbeitsverzeichnis angenommen (es sei denn, --path
ist angegeben).
Die erste Zeile von sayhello.gd
oben wird allgemein als shebang bezeichnet. Wenn sich die Godot-Binärdatei in Ihrem PATH
als godot
befindet, können Sie das Skript in modernen Linux-Distributionen sowie unter MacOS wie folgt ausführen:
# Mark script as executable.
chmod +x sayhello.gd
# Prints "Hello!" to standard output.
./sayhello.gd
Wenn das oben genannte unter Ihrer aktuellen Linux- oder MacOS-Version nicht funktioniert, können Sie den "Shebang" immer wie folgt direkt von Godot ausführen lassen:
#!/usr/bin/godot -s