Attention: Here be dragons
This is the latest
(unstable) version of this documentation, which may document features
not available in or compatible with released stable versions of Godot.
Checking the stable version of the documentation...
Etiquetas de características
Introducción
Godot tiene un sistema especial para etiquetar la disponibilidad de las características. Cada característica se representa como una cadena, y puede referirse a muchas de las siguientes:
Nombre de la plataforma.
Arquitectura de la plataforma (64 o 32 bits, x86 o ARM).
Tipo de plataforma (escritorio, móvil, web).
Algoritmos de compresión de texturas soportados en la plataforma.
Si la compilación es de depuración (
debug, con editor) o final (release).Si el proyecto se está ejecutando desde el editor o como un binario 'independiente'.
Muchas más cosas.
Features can be queried at runtime from the singleton API by calling:
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.
Características por defecto
Aquí hay una lista de la mayoría de las etiquetas de características en Godot. Ten en cuenta que son sensibles a mayúsculas y minúsculas:
Etiquetas de características |
Descripción |
|---|---|
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) |
visionos |
Running on visionOS (but not within a Web browser) |
windows |
Ejecución en Windows |
linuxbsd |
Ejecución en Linux o *BSD |
debug |
Ejecutar en una versión de depuración (incluyendo el editor) |
versión |
Ejecución en una versión de lanzamiento |
editor |
Ejecutar en una compilación con editor |
editor_hint |
Running on an editor build, and inside the editor |
editor_runtime |
Running on an editor build, and running the project |
plantilla |
Running on a non-editor (export template) build |
doble |
Running on a double-precision build |
único |
Running on a single-precision build |
64 |
Ejecutar en una versión de 64 bits (cualquier arquitectura) |
32 |
Ejecutar en una versión de 32 bits (cualquier arquitectura) |
x86_64 |
Ejecutar en una compilación de 64 bits |
x86_32 |
Ejecutar en una compilación de 32 bits x86 |
x86 |
Running on an x86 build (any bitness) |
arm64 |
Ejecutar en una versión de 64 bits ARM |
arm32 |
Ejecutar en una versión de 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) |
móvil |
El sistema operativo anfitrión es una plataforma móvil |
pc |
El sistema operativo anfitrión es una PC (escritorio/laptop) |
web |
El sistema operativo anfitrión es un navegador Web |
nothreads |
Running without threading support |
threads |
Running with threading support |
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 |
Las texturas que utilizan una compresión ETC1 son soportadas |
etc2 |
Las texturas que utilizan una compresión ETC2 son soportadas |
s3tc |
Las texturas que utilizan una compresión S3TC (DXT/BC) son soportadas |
película |
Movie Maker mode is active |
shader_baker |
Project was exported with shader baking enabled (only applies to the exported project, not when running in the editor) |
dedicated_server |
Project was exported as a dedicated server (only applies to the exported project, not when running in the editor) |
Advertencia
With the exception of texture compression, web_<platform> and
movie feature tags, default feature tags are immutable.
This means that they will not change depending on runtime conditions.
For example, OS.has_feature("mobile") will return false
when running a project exported to Web on a mobile device.
Para comprobar si un proyecto exportado a la Web se está ejecutando en un dispositivo móvil, utilice OS.has_feature("web_android") or OS.has_feature("web_ios").
Funcionalidades personalizadas
Es posible añadir funciones personalizadas a una compilación, usa el campo correspondiente en el preset de exportación utilizado para generarla:
Nota
Las etiquetas de características personalizadas solo se utilizan al ejecutar el proyecto exportado (incluido con Despliegue con un solo clic). No se utilizan al ejecutar el proyecto desde el editor, incluso si el ajuste preestablecido de exportación marcado como Runnable para tu plataforma actual tiene etiquetas de características personalizadas definidas.
Custom feature tags are also not used in EditorExportPlugin scripts. Instead, feature tags in EditorExportPlugin will reflect the device the editor is currently running on.
Sobrescribir los ajustes del proyecto
Las características se pueden utilizar para sobrescribir valores de configuración específicos en los" Ajustes del proyecto". Esto permite personalizar mejor cualquier configuración al hacer una compilación.
En el siguiente ejemplo, se añade un icono diferente para la compilación de la demo del juego (que se personalizó en un ajuste preestablecido de exportación especial que, a su vez, sólo incluye niveles de demo).
The desired configuration is selected, which effectively copies its properties to the panel above (1). The "demo_build" feature tag is selected (2). The configuration is added to the project settings (3).
Después de sobrescribir, se añade un nuevo campo para esta configuración específica.
Nota
Cuando se utiliza la funcionalidad configuración del proyecto "override.cfg" (que no está relacionada con las etiquetas de características), recuerda que las etiquetas de características todavía se aplican. Por lo tanto, asegúrate de también anular la configuración con la(s) etiqueta(s) de características deseada(s) si deseas que anulen la configuración del proyecto base en todas las plataformas y configuraciones.
Sobreescritura de valores por defecto
Ya hay muchos ajustes que vienen con sobreescrituras por defecto, se pueden encontrar en las secciones de los ajustes del proyecto.
Taking feature tags into account when reading project settings
By default, feature tags are not taken into account when reading project settings using the typical approaches (ProjectSettings.get_setting or ProjectSettings.get). Instead, you must use ProjectSettings.get_setting_with_override.
For example, with the following project settings:
[section]
subsection/example = "Release"
subsection/example.debug = "Debug"
Using ProjectSettings.get_setting("section/subsection/example") will return
"Release" regardless of whether a debug build is currently running. On the
other hand, ProjectSettings.get_setting_with_override("section/subsection/example")
will obey feature tags and will return "Debug" if using a debug build.
Personalización de la Compilación
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.