Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Feature-Tags¶
Einführung¶
Godot verfügt über ein spezielles System zur Kennzeichnung der Verfügbarkeit von Features. Jedes Feature wird als String dargestellt, der sich auf viele der folgenden Elemente beziehen kann:
Plattformname.
Plattformarchitektur (64-Bit oder 32-Bit, x86 oder ARM).
Plattformtyp (Desktop, Mobile, Web).
Unterstützte Texturkomprimierungsalgorithmen auf der Plattform.
Ob ein Build
debug
oderrelease
ist (debug
enthält den Editor).Ob das Projekt über den Editor oder eine "eigenständige" Binärdatei ausgeführt wird.
Viele weitere Dinge.
Features können zur Laufzeit über die Singleton-API abgefragt werden, indem Folgendes aufgerufen wird:
OS.has_feature(name)
OS.HasFeature(name);
GDExtension verwendet die Betriebssystem-Tags, um zu bestimmen, welche Bibliotheken geladen werden sollen. Zum Beispiel wird eine Bibliothek für linux.debug.editor.x86_64
nur auf einem Debug-Editor geladen, der für Linux x86_64 gebaut wurde.
Default-Funktionen¶
Hier ist eine Liste der meisten Feature-Tags in Godot. Beachten Sie, dass bei ihnen die Groß- und Kleinschreibung wichtig ist:
Feature-Tag |
Beschreibung |
---|---|
android |
Läuft auf Android (aber nicht innerhalb eines Webbrowsers) |
bsd |
Läuft auf *BSD (aber nicht in einem Webbrowser) |
linux |
Läuft unter Linux (aber nicht innerhalb eines Webbrowsers) |
macos |
Läuft unter macOS (aber nicht in einem Webbrowser) |
ios |
Läuft unter iOS (aber nicht innerhalb eines Webbrowsers) |
windows |
Läuft unter Windows |
linuxbsd |
Läuft unter Linux oder *BSD |
debug |
Läuft auf einem Debug-Build (einschließlich des Editors) |
release |
Läuft auf einem Release-Build |
editor |
Läuft auf einem Editor-Build |
template |
Läuft auf einem Nicht-Editor-Build (Exportvorlage) |
double |
Läuft auf einem Double-Precision-Build |
single |
Läuft auf einem Single-Precision-Build |
64 |
Läuft auf einem 64-bit Build (jede Architektur) |
32 |
Läuft auf einem 32-bit Build (jede Architektur) |
x86_64 |
Läuft auf einem 64-bit x86 Build |
x86_32 |
Läuft auf einem 32-bit x86 Build |
x86 |
Läuft auf einem x86 Build (jede Bitgröße) |
arm64 |
Läuft auf einem 64-bit ARM Build |
arm32 |
Läuft auf einem 32-Bit ARM Build |
arm |
Läuft auf einem 64-bit Build (jede Bitgröße) |
rv64 |
Läuft auf einem 64-bit RISC-V Build |
riscv |
Läuft auf einem RISC-V-Build (jede Bitgröße) |
ppc64 |
Läuft auf einem 64-Bit-PowerPC-Build |
ppc32 |
Läuft auf einem 32-Bit-PowerPC-Build |
ppc |
Läuft auf einem PowerPC-Build (jede Bitgröße) |
wasm64 |
Läuftg auf einem 64-Bit-WebAssembly-Build (noch nicht möglich) |
wasm32 |
Läuft auf einem 32-Bit-WebAssembly-Build |
wasm |
Läuft auf einem WebAssembly-Build (beliebige Bitgröße) |
mobile |
Host-Betriebssystem ist eine mobile Plattform |
pc |
Host-Betriebssystem ist eine PC-Plattform (Desktop/Laptop) |
web |
Das Host-Betriebssystem ist ein Webbrowser |
web_android |
Host OS ist ein Webbrowser, der auf Android läuft |
web_ios |
Host OS ist ein Webbrowser, der auf iOS läuft |
web_linuxbsd |
Host-Betriebssystem ist ein Webbrowser, der unter Linux oder *BSD läuft |
web_macos |
Host OS ist ein Webbrowser, der unter macOS läuft |
web_windows |
Host-Betriebssystem ist ein Webbrowser, der unter Windows läuft |
etc |
Texturen mit ETC1-Komprimierung werden unterstützt |
etc2 |
Texturen mit ETC2-Komprimierung werden unterstützt |
s3tc |
Texturen die S3TC (DXT/BC)-Kompression nutzen, werden unterstützt |
movie |
Movie Maker mode ist aktiv |
Warnung
Mit Ausnahme von Texturkompression und movie
-Featuretags sind die Default-Featuretags unveränderlich. Das bedeutet, dass sie sich nicht abhängig von den Laufzeitbedingungen ändern können. Zum Beispiel wird OS.has_feature("mobile")
den Wert false
zurückgeben, wenn ein nach HTML5 exportiertes Projekt auf einem mobilen Gerät läuft.
Um zu prüfen, ob ein nach HTML5 exportiertes Projekt auf einem mobilen Gerät läuft, rufen Sie den JavaScript-Code auf, der den User-Agenten des Browsers ausliest.
Benutzerdefinierte Features¶
Es ist möglich, benutzerdefinierte Features zu einem Build hinzuzufügen; verwenden Sie dazu das entsprechende Feld in der Exportvorgabe, die zur Erstellung des Builds verwendet wurde:
Bemerkung
Benutzerdefinierte Feature-Tags werden nur verwendet, wenn das exportierte Projekt ausgeführt wird (auch mit Ein-Klick-Auslieferung). Sie werden nicht verwendet, wenn das Projekt vom Editor aus ausgeführt wird, selbst wenn die Exportvorgabe, die für Ihre aktuelle Plattform als Runnable markiert ist, benutzerdefinierte Featuretags definiert hat.
Projekteinstellungen überschreiben¶
Features können verwendet werden, um bestimmte Konfigurationswerte in den Projekteinstellungen außer Kraft zu setzen. Dadurch können Sie eine beliebige Konfiguration beim Erstellen eines Builds besser anpassen.
Im folgenden Beispiel wird ein anderes Icon für den Demo-Build des Spiels hinzugefügt (der in einer speziellen Exportvorgabe angepasst wurde, die wiederum nur Demo-Levels enthält).
Nach dem Überschreiben wird ein neues Feld für diese spezielle Konfiguration hinzugefügt:
Bemerkung
Wenn Sie die Projekteinstellungen "override.cfg"-Funktionalität verwenden (die nichts mit Featuretags zu tun hat), denken Sie daran, dass Featuretags weiterhin gelten. Stellen Sie daher sicher, dass Sie auch die Einstellung mit dem/den gewünschten Featuretag(s) überschreiben, wenn Sie wollen, dass diese die Basisprojekteinstellungen auf allen Plattformen und Konfigurationen überschreiben.
Default-Überschreibungen¶
Es gibt bereits eine Vielzahl von Einstellungen, die standardmäßig mit Überschreibungen versehen sind; sie sind in vielen Abschnitten der Projekteinstellungen zu finden.
Anpassen des Builds¶
Featuretags können auch verwendet werden, um einen Build-Prozess anzupassen, indem man ein eigenes ExportPlugin schreibt. Sie werden auch verwendet, um festzulegen, welche Shared Library in GDExtension geladen und exportiert wird.