Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Tags de fonctionnalité¶
Introduction¶
Godot a un système spécial pour marquer la disponibilité des fonctionnalités. Chaque fonctionnalité est représentée par une chaîne de caractères, qui peut se référer à plusieurs des éléments suivants :
Nom de la plate-forme.
Architecture de plate-forme (64 bits ou 32 bits, x86 ou ARM).
Type de plate-forme (bureau, mobile, Web).
Algorithme de compression de texture supportée par la plateforme.
Qu'il s'agisse d'une compilation de débogage
debug
ou de productionrelease
(debug
inclut l'éditeur).Si le projet est exécuté à partir de l'éditeur ou d'un fichier binaire "autonome".
Et bien d'autres choses.
Les fonctionnalités peuvent être interrogées à l’exécution auprès du singleton API en appelant :
OS.has_feature(name)
OS.HasFeature(name);
OS feature tags are used by GDExtension to determine which libraries to load.
For example, a library for linux.debug.editor.x86_64
will be
loaded only on a debug editor build for Linux x86_64.
Fonctionnalités par défaut¶
Voici une liste de la plupart des tags de fonctionnalités de Godot. Gardez à l'esprit qu'ils sont sensibles à la casse :
Tag de fonctionnalité |
Description |
---|---|
android |
Running on Android (but not within a Web browser) |
bsd |
Running on *BSD (but not within a Web browser) |
linux |
Running on Linux (but not within a Web browser) |
macos |
Running on macOS (but not within a Web browser) |
ios |
Running on iOS (but not within a Web browser) |
windows |
Éxécution sur Windows |
linuxbsd |
Running on Linux or *BSD |
debug |
Exécution sur un binaire de débogage |
release |
Éxécution sur un binaire de déploiement |
editor |
Exécuter sur une compilation éditeur |
template |
Running on a non-editor (export template) build |
double |
Running on a double-precision build |
single |
Running on a single-precision build |
64 |
Exécution sur une version 64-bits (toutes architectures) |
32 |
Éxécution sur une version 32-bits (toutes architectures) |
x86_64 |
Exécution sur une compilation 64 bits x86 |
x86_32 |
Exécution sur une version 32 bits x86 |
x86 |
Running on an x86 build (any bitness) |
arm64 |
Exécution sur une compilation 64 bits d'ARM |
arm32 |
Exécution sur une version 32 bits ARM |
arm |
Running on an ARM build (any bitness) |
rv64 |
Running on a 64-bit RISC-V build |
riscv |
Running on a RISC-V build (any bitness) |
ppc64 |
Running on a 64-bit PowerPC build |
ppc32 |
Running on a 32-bit PowerPC build |
ppc |
Running on a PowerPC build (any bitness) |
wasm64 |
Running on a 64-bit WebAssembly build (not yet possible) |
wasm32 |
Running on a 32-bit WebAssembly build |
wasm |
Running on a WebAssembly build (any bitness) |
mobile |
L’OS hôte est une plateforme mobile |
pc |
L’OS hôte est une plateforme PC (bureau/ordinateu portable) |
web |
L’OS hôte est un serveur web |
web_android |
Host OS is a Web browser running on Android |
web_ios |
Host OS is a Web browser running on iOS |
web_linuxbsd |
Host OS is a Web browser running on Linux or *BSD |
web_macos |
Host OS is a Web browser running on macOS |
web_windows |
Host OS is a Web browser running on Windows |
etc |
Les textures utllisant une compression ETC1 sont supportées |
etc2 |
Les textures utllisant une compression ETC2 sont supportées |
s3tc |
Les textures utllisant une compression S3TC (DXT/BC) sont supportées |
movie |
Movie Maker mode is active |
Avertissement
With the exception of texture compression and movie
feature tags,
default feature tags are immutable. This means that they will not
change depending on run-time conditions. For example,
OS.has_feature("mobile")
will return false
when running a project
exported to HTML5 on a mobile device.
Pour vérifier si un projet exporté en HTML5 s'exécute sur un appareil mobile, appelle le code JavaScript qui lit l'agent utilisateur du navigateur.
Fonctionnalités personnalisées¶
Il est possible d'ajouter des fonctionnalités personnalisées à une compilation, il suffit d'utiliser le champ correspondant dans le préréglage d'exportation utilisé pour le générer :
Note
Les balises de fonctionnalité personnalisées sont uniquement utilisées lors de l'exécution du projet exporté (y compris avec Déploiement en un clic). Ils ne sont pas utilisés lors de l'exécution du projet à partir de l'éditeur, même si le préréglage d'exportation marqué comme Runnable pour votre plate-forme actuelle a des balises de fonctionnalité personnalisées définies.
Écraser les paramètres du projet¶
Des fonctionnalités peuvent être utilisées pour remplacer des valeurs de configuration spécifiques dans les paramètres du projet. Cela permet de mieux personnaliser n'importe quelle configuration lors d'une compilation.
Dans l'exemple suivant, une icône différente est ajoutée pour la compilation de la démo du jeu (qui a été personnalisé dans un préréglage d'exportation spécial, qui, à son tour, n'inclut que des niveaux de démo).
Après écrasement, un nouveau champ est ajouté pour cette configuration spécifique :
Note
Lorsque vous utilisez la fonctionnalité paramètres de projet "override.cfg" (qui n'est pas liée aux balises de fonctionnalité), n'oubliez pas que les balises de fonctionnalité s'appliquent toujours. Par conséquent, veillez à également remplacer le paramètre par la ou les balises de fonctionnalité souhaitées si vous voulez qu'elles remplacent les paramètres de base du projet sur toutes les plateformes et configurations.
Écrasements par défaut¶
Il y a déjà beaucoup de paramètres qui sont fournis avec des remplacements par défaut, ils peuvent être trouvés dans de nombreuses sections des paramètres du projet.
Personnalisation de la compilation¶
Feature tags can be used to customize a build process too, by writing a custom ExportPlugin. They are also used to specify which shared library is loaded and exported in GDExtension.