Befehlszeilen-Tutorial (2023)

Einige Entwickler nutzen die Befehlszeile gerne ausgiebig. Godot ist so konzipiert, dass es freundlich zu ihnen 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 ziemlich schnell, sodass sie für diesen Workflow geeignet ist.

Notiz

Unter Windows und Linux können Sie eine Godot-Binärdatei in einem Terminal ausführen, indem Sie ihren relativen oder absoluten Pfad angeben.

Unter macOS ist der Vorgang anders, da Godot in einem enthalten ist.appBundle (das ist einOrdner, keine Datei). Um eine Godot-Binärdatei von einem Terminal unter macOS auszuführen, müssen Sie dies tunCDin den Ordner, in dem sich das Godotapplication-Bundle befindet, und führen Sie es dann ausGodot.app/Contents/MacOS/Godotgefolgt von beliebigen Befehlszeilenargumenten. Wenn Sie das Anwendungspaket umbenannt habenGodotUm einen anderen Namen zu ändern, müssen Sie diese Befehlszeile unbedingt entsprechend bearbeiten.

Befehlszeilenreferenz

Allgemeine Optionen

Befehl

Beschreibung

-H,--Hilfe

Zeigt die Liste der Befehlszeilenoptionen an.

--Ausführung

Zeigt die Versionszeichenfolge an.

-v,--verbose

Verwenden Sie den ausführlichen Stdout-Modus.

-Q, --ruhig

Ruhemodus, schaltet Standardnachrichten stumm. Es werden weiterhin Fehler angezeigt.

Ausführungsoptionen

Befehl

Beschreibung

--

Trennzeichen für vom Benutzer bereitgestellte Argumente. Die folgenden Argumente werden von der Engine nicht verwendet, können aber ausgelesen werdenOS.get_cmdline_user_args().

-e,--Editor

Starten Sie den Editor, anstatt die Szene auszuführen (Ziel=Herausgebermuss benutzt werden).

-P,--Projektmanager

Starten Sie den Projektmanager, auch wenn ein Projekt automatisch erkannt wird (Ziel=Herausgebermuss benutzt werden).

--debug-server

Starten Sie den Editor-Debug-Server (://[:], z.B.tcp://127.0.0.1:6007)

--aufhören

Nach der ersten Iteration beenden.

-l,--Sprache

Verwenden Sie ein bestimmtes Gebietsschema.folgt dem Formatlanguage_Script_COUNTRY_VARIANTDabei ist „Sprache“ ein aus zwei oder drei Buchstaben bestehender Sprachcode in Kleinbuchstaben, der Rest ist optional. SehenGebietsschemacodesfür mehr Details.

--Weg

Pfad zu einem Projekt (muss eine „project.godot“-Datei enthalten).

-u,--nach oben

Durchsuchen Sie die Ordner nach oben nach der Datei „project.godot“.

--main-pack

Pfad zu einer Packdatei (.pck), die geladen werden soll.

--render-thread

Render-Thread-Modus („unsicher“, „sicher“, „getrennt“). SehenThread-Modellfür mehr Details.

--remote-fs

Remote-Dateisystem ([:]Adresse).

--remote-fs-password

Passwort für das Remote-Dateisystem.

--audio-driver

Audiotreiber. Verwenden--HilfeZuerst wird die Liste der verfügbaren Treiber angezeigt.

--Bildschirmtreiber

Anzeigetreiber (und Rendering-Treiber). Verwenden--HilfeZuerst wird die Liste der verfügbaren Treiber angezeigt.

--rendering-method

Name des Renderers. Erfordert Treiberunterstützung.

--rendering-driver

Rendering-Treiber (abhängig vom Anzeigetreiber). Verwenden--HilfeZuerst wird die Liste der verfügbaren Treiber angezeigt.

--gpu-index

Verwenden Sie eine bestimmte GPU (ausgeführt mit--verboseum eine Liste der verfügbaren Geräte zu erhalten).

--text-driver

Texttreiber („Fonts“, „BiDi“, „Shaping“)

--tablet-driver

Eingabetreiber für das Stifttablett.

--kopflos

Headless-Modus aktivieren (--Bildschirmtreiber kopflos --audio-driver Dummy). Nützlich für Server und mit--Skript.

--write-movie

Führen Sie die Engine so aus, dass ein Film geschrieben wird (standardmäßig .avi MJPEG). Feste FPS werden erzwungen, wenn sie aktiviert sind, können aber zum Ändern der FPS von Filmen verwendet werden. Das Deaktivieren von vsync kann das Schreiben von Filmen beschleunigen, erschwert jedoch die Interaktion.

--disable-vsync

Deaktivierung von vsync erzwingen. Führen Sie die Engine so aus, dass ein Film geschrieben wird (standardmäßig .avi MJPEG). Feste FPS werden erzwungen, wenn sie aktiviert sind, können aber zum Ändern der Film-FPS verwendet werden.

Anzeigeoptionen

Befehl

Beschreibung

-F,--Vollbild

Vollbildmodus anfordern.

-M,--maximiert

Fordern Sie ein maximiertes Fenster an.

-w,--windowed

Fordern Sie den Fenstermodus an.

-T,--immer oben

Fordern Sie ein Always-on-Top-Fenster an.

--Auflösung x

Fensterauflösung anfordern.

--Position ,

Fensterposition anfordern.

--single-window

Verwenden Sie ein einzelnes Fenster (keine separaten Unterfenster).

--xr-Modus

Wählen Sie den XR-Modus (Standard/aus/ein).

Debug-Optionen

Notiz

Debug-Optionen sind nur im Editor und in Debug-Exportvorlagen verfügbar (sie erforderndebuggenoderrelease_debugZiele erstellen, sieheZielfür mehr Details).

Befehl

Beschreibung

-D,--debuggen

Debug (lokaler Stdout-Debugger).

-B,--breakpoints

Haltepunktliste als durch Kommas getrennte Quelle::Zeile-Paare, ohne Leerzeichen (verwenden Sie stattdessen %20).

--profiling

Aktivieren Sie die Profilerstellung im Skript-Debugger.

--gpu-profile

Zeigen Sie ein GPU-Profil der Aufgaben an, die beim Frame-Rendering die meiste Zeit in Anspruch genommen haben.

--gpu-validierung

Aktivieren Sie die Grafik-APIValidierungsschichtenzum Debuggen.

--gpu-abort

Ein Abbruch bei GPU-Fehlern (normalerweise Fehler auf der Validierungsebene) kann helfen, das Problem zu erkennen, wenn Ihr System einfriert.

--remote-debug

Remote-Debug (://[:], z.B.tcp://127.0.0.1:6007).

--debug-kollisionen

Beim Ausführen der Szene Kollisionsformen anzeigen.

--debug-paths

Beim Ausführen der Szene Pfadlinien anzeigen.

--debug-navigation

Zeigen Sie beim Ausführen der Szene Navigationspolygone an.

--debug-stringnames

Gibt alle StringName-Zuweisungen nach stdout aus, wenn die Engine beendet wird.

--frame-delay

Simulieren Sie eine hohe CPU-Auslastung (verzögern Sie jeden Frame um Millisekunden).

--Zeitstrahl

Zeitskala erzwingen (höhere Werte sind schneller, 1,0 ist normale Geschwindigkeit).

--disable-render-loop

Deaktivieren Sie die Renderschleife, damit das Rendern nur erfolgt, wenn es explizit vom Skript aufgerufen wird.

--disable-crash-handler

Deaktivieren Sie den Crash-Handler, wenn dies vom Plattformcode unterstützt wird.

--fixed-fps

Erzwinge eine feste Anzahl von Bildern pro Sekunde. Diese Einstellung deaktiviert die Echtzeitsynchronisierung.

--print-fps

Gibt die Bilder pro Sekunde auf der Standardausgabe aus.

Standalone-Tools

Befehl

Beschreibung

-S,--Skript

Führen Sie ein Skript aus.

--check-only

Nur auf Fehler analysieren und beenden (verwenden mit--Skript).

--export-release

Exportieren Sie das Projekt mit der angegebenen Voreinstellung und der passenden Release-Vorlage (Ziel=Herausgebermuss benutzt werden). Der voreingestellte Name sollte mit einem in export_presets.cfg definierten Namen übereinstimmen.sollte absolut oder relativ zum Projektverzeichnis sein und den Dateinamen für die Binärdatei enthalten (z. B. „builds/game.exe“). Das Zielverzeichnis sollte vorhanden sein.

--export-debug

Wie--export-release, aber verwenden Sie die Debug-Vorlage (Ziel=Herausgebermuss benutzt werden).

--export-pack

Wie--export-release, aber exportieren Sie nur das Spielpaket für die angegebene Voreinstellung. DerDie Erweiterung bestimmt, ob es im PCK- oder ZIP-Format vorliegt (Ziel=Herausgebermuss benutzt werden).

--convert-3to4 [] []

Projekt von Godot 3.x in Godot 4.x konvertieren.

--validate-conversion-3to4 [] []

Zeigen Sie, welche Elemente beim Konvertieren eines Projekts von Godot 3.x nach Godot 4.x umbenannt werden.

--doctool

Geben Sie die Engine-API-Referenz auf die angegebene Datei ausim XML-Format, Zusammenführen, wenn vorhandene Dateien gefunden werden(Ziel=Herausgebermuss benutzt werden).

--no-docbase

Dumping der Basistypen nicht zulassen (verwendet mit--doctool,Ziel=Herausgebermuss benutzt werden).

--build-solutions

Erstellen Sie die Skriptlösungen (z. B. für C#-Projekte,Ziel=Herausgebermuss verwendet werden).Impliziert--Editorund zum Bearbeiten ist ein gültiges Projekt erforderlich.

--dump-gdextension-interface

Generieren Sie die GDExtension-Headerdatei „gdnative_interface.h“ im aktuellen Ordner. Diese Datei ist die Basisdatei, die zum Implementieren einer GDExtension erforderlich ist.

--dump-extension-api

Generieren Sie einen JSON-Dump der Godot-API für GDExtension-Bindungen mit dem Namen „extension_api.json“ im aktuellen Ordner(Ziel=Herausgebermuss benutzt werden).

--startup-benchmark

Vergleichen Sie die Startzeit und geben Sie sie auf der Konsole aus.

--startup-benchmark-file

Vergleichen Sie die Startzeit und speichern Sie sie in einer bestimmten Datei im JSON-Format.

Weg

Es wird empfohlen, dass sich Ihre Godot-Editor-Binärdatei in Ihrem befindetWEGUmgebungsvariable, so dass sie einfach von jedem Ort aus durch Eingabe ausgeführt werden kannGodot.Sie können dies unter Linux tun, indem Sie die Godot-Binärdatei einfügen/usr/local/binund stellen Sie sicher, dass es aufgerufen wirdGodot(Groß-/Kleinschreibung beachten).

Festlegen des Projektpfads

Abhängig davon, 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 ordnungsgemäß funktioniert.

Dies kann durch Angabe des Pfads zum erfolgenproject.godotDatei Ihres Projekts als erstes Argument, etwa so:

Godot path_to_your_project/project.godot [andere] [Befehle] [Und] [args]

Oder indem Sie die verwenden--WegStreit:

Godot --Weg path_to_your_project [andere] [Befehle] [Und] [args]

Der vollständige Befehl zum Exportieren Ihres Spiels (wie unten erklärt) könnte beispielsweise so aussehen:

Godot --Weg path_to_your_project --export-release my_export_preset_name game.exe

Ein Projekt erstellen

Sie können ein Projekt über die Befehlszeile erstellen, indem Sie in der Shell an den gewünschten Ort navigieren und ein erstellenproject.godotDatei.

mkdir neues SpielCD newgametouch project.godot

Das Projekt kann nun mit Godot geöffnet werden.

Ausführen des Editors

Das Ausführen des Editors erfolgt durch Ausführen von Godot mit-eFlagge. Dies muss im Projektverzeichnis oder einem Unterverzeichnis erfolgen, andernfalls wird der Befehl ignoriert und der Projektmanager wird angezeigt.

Godot -e

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

Eine Szene löschen

Godot ist mit Ihrem Dateisystem befreundet und erstellt keine zusätzlichen Metadatendateien.Verwenden Siermum eine Szenendatei zu löschen. Stellen Sie sicher, dass nichts auf diese Szene verweist. Andernfalls wird beim Öffnen des Projekts ein Fehler ausgegeben.

rm scene.tscn

Das Spiel ausführen

Um das Spiel auszuführen, führen Sie einfach Godot im Projektverzeichnis oder Unterverzeichnis aus.

Godot

Wenn eine bestimmte Szene getestet werden muss, übergeben Sie diese Szene an die Befehlszeile.

Godot scene.tscn

Debuggen

Das Erkennen von Fehlern in der Befehlszeile kann eine schwierige Aufgabe sein, da sie schnell scrollen. Hierzu wird durch Hinzufügen ein Befehlszeilen-Debugger bereitgestellt-D. Es funktioniert entweder zum Ausführen des Spiels oder einer einzelnen Szene.

Godot -D
Godot -D scene.tscn

Exportieren

Das Exportieren des Projekts über die Befehlszeile wird ebenfalls unterstützt. Dies ist besonders nützlich für Continuous-Integration-Setups. Die Headless-Version von Godot (Server-Build, kein Video) ist hierfür ideal.

# „godot“ muss eine Godot-Editor-Binärdatei sein, keine Exportvorlage.# Außerdem müssen Exportvorlagen für den Editor installiert sein# (oder es muss eine gültige benutzerdefinierte Exportvorlage in der Exportvoreinstellung definiert sein).Godot --export-release „Linux/X11“ /var/builds/projectgodot --export-release Android /var/builds/project.apk

Der Voreinstellungsname muss mit dem Namen einer im Projekt definierten Exportvoreinstellung übereinstimmenexport_presets.cfgDatei. Wenn der voreingestellte Name Leerzeichen oder Sonderzeichen enthält (z. B. „Windows Desktop“), muss er in Anführungszeichen gesetzt werden.

Um eine Debug-Version des Spiels zu exportieren, verwenden Sie die--export-debugwechselnstatt--Export. Ihre Parameter und Verwendung sind gleich.

Um nur eine PCK-Datei zu exportieren, verwenden Sie die--export-packOption gefolgt vom voreingestellten Namen und Ausgabepfad mit der Dateierweiterung anstelle von--Export.Die Ausgabepfaderweiterung bestimmt das Format des Pakets, entweder PCK oder ZIP.

Warnung

Bei Angabe eines relativen Pfades als Pfad für--export-release,--export-debugoder--export-pack, der Pfad ist relativ zu dem Verzeichnis, das die Datei enthältproject.godotDatei,nichtrelativ zum aktuellen Arbeitsverzeichnis.

Ein Skript ausführen

Es ist möglich, a auszuführen.gdSkript über die Befehlszeile. Diese Funktion ist besonders nützlich bei großen Projekten, z. für die Stapelkonvertierung von Assets oder den benutzerdefinierten Import/Export.

Das Skript muss von erbenSzenenbaumoderHauptschleife.

Hier ist ein Beispielsayhello.gd, zeigt, wie es funktioniert:

#!/usr/bin/env -S godot -serweitert SzenenbaumFunktion _drin(): drucken("Hallo!") aufhören()

Und wie man es ausführt:

# Gibt „Hallo!“ aus. zur Standardausgabe.Godot -S sayhello.gd

Wenn neinproject.godotim Pfad vorhanden ist, wird davon ausgegangen, dass der aktuelle Pfad das aktuelle Arbeitsverzeichnis ist (es sei denn--Wegangegeben).

Die erste Zeile vonsayhello.gdoben wird allgemein als ASA bezeichnetMist. Wenn sich die Godot-Binärdatei in Ihrem befindetWEGalsGodotDamit können Sie das Skript in modernen Linux-Distributionen sowie in macOS wie folgt ausführen:

# Skript als ausführbar markieren.chmod +x sayhello.gd# Gibt „Hallo!“ aus. zur Standardausgabe../sayhello.gd

Wenn das oben Genannte in Ihrer aktuellen Linux- oder macOS-Version nicht funktioniert, können Sie Godot immer direkt von seinem Speicherort aus wie folgt ausführen lassen:

#!/usr/bin/godot -s
Top Articles
Latest Posts
Article information

Author: Lidia Grady

Last Updated: 06/11/2023

Views: 5235

Rating: 4.4 / 5 (45 voted)

Reviews: 84% of readers found this page helpful

Author information

Name: Lidia Grady

Birthday: 1992-01-22

Address: Suite 493 356 Dale Fall, New Wanda, RI 52485

Phone: +29914464387516

Job: Customer Engineer

Hobby: Cryptography, Writing, Dowsing, Stand-up comedy, Calligraphy, Web surfing, Ghost hunting

Introduction: My name is Lidia Grady, I am a thankful, fine, glamorous, lucky, lively, pleasant, shiny person who loves writing and wants to share my knowledge and understanding with you.