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 production release (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)

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

Éxécution sur Android

HTML5

Éxécution en HTML5

JavaScript

Le singleton JavaScript est disponible

OSX

Éxécution sur macOS

iOS

Éxécution sur iOS

UWP

Éxécution sur UWP

Windows

Éxécution sur Windows

X11

Fonctionnant sur X11 (bureau Linux / BSD)

Server

En cours d'exécution sur la plate-forme serveur

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

standalone

Exécuter sur une compilation non-éditeur

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

Exécution sur une version 32 bits x86

arm64

Exécution sur une compilation 64 bits d'ARM

arm

Exécution sur une version 32 bits ARM

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

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

pvrtc

Les textures utllisant une compression PVRTC sont supportées

Avertissement

À l'exception des balises de caractéristiques de compression de texture, les balises de caractéristiques par défaut sont immuables. Cela signifie qu'elles ne changeront pas en fonction des conditions d'exécution. Par exemple, OS.has_feature("mobile") renverra false lors de l'exécution d'un projet exporté en HTML5 sur un appareil mobile.

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 :

../../_images/feature_tags1.png

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).

../../_images/feature_tags2.png

Après écrasement, un nouveau champ est ajouté pour cette configuration spécifique :

../../_images/feature_tags3.png

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.

../../_images/feature_tags4.png

Personnalisation de la compilation

Les tags de fonctionnalité peuvent aussi être utilisés pour personnaliser un processus de compilation, en écrivant un fichier ExportPlugin personnalisé. Ils sont également utilisés pour spécifier quelle bibliothèque partagée est chargée et exportée dans GDNative.