Up to date
This page is up to date for Godot 4.2
.
If you still find outdated information, please open an issue.
Теги особенностей¶
Введение¶
У Godot есть специальная система для тегов особенностей. Каждая особенность представлена в виде строки, которая может ссылаться на многие из следующих элементов:
Название платформы.
Архитектура платформы (64-bit или 32-bit, x86 или ARM).
Тип платформы (desktop, mobile, Web).
Поддерживаемые алгоритмы сжатия текстур на платформе.
Является ли сборка
debug
илиrelease
(debug
включает редактор).Выполняется ли проект из редактора или "автономного" двоичного файла.
И еще много чего.
Особенности можно запрашивать во время выполнения singleton API, вызывая:
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.
Основные особенности¶
Вот список большинства тегов особенностей в Godot. Имейте в виду, что они case-sensitive (чувствительны к регистру):
Тег особенности |
Описание |
---|---|
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 |
Работает на Windows |
linux-bsd |
Running on Linux or *BSD |
debug |
Запуск в отладочной сборке (including the editor) |
release |
Запуск на релизной сборке |
editor |
Запуск в сборке редактора |
шаблон |
Running on a non-editor (export template) build |
двойной |
Running on a double-precision build |
одинарной |
Running on a single-precision build |
64 |
Запуск на 64-bit сборке (любая архитектура) |
32 |
Запуск на 32-bit сборке (любая архитектура) |
x86_64 |
Запуск на 64-bit x86 сборке |
x86_32 |
Запуск на 32-bit x86 сборке |
x86 |
Running on an x86 build (any bitness) |
arm64 |
Запуск на 64-bit ARM сборке |
arm32 |
Запуск на 32-bit ARM сборке |
arm |
Running on an ARM build (any bitness) |
rv64 |
Running on a 64-bit RISC-V build |
risc-v |
Running on a RISC-V build (any bitness) |
ppc-64 |
Running on a 64-bit PowerPC build |
ppc-32 |
Running on a 32-bit PowerPC build |
powerpc |
Running on a PowerPC build (any bitness) |
wasm-64 |
Running on a 64-bit WebAssembly build (not yet possible) |
wasm-32 |
Running on a 32-bit WebAssembly build |
WASM |
Running on a WebAssembly build (any bitness) |
мобильные устройства |
Host OS - это мобильная платформа |
pc |
Host OS - это PC платформа (desktop/laptop) |
web |
Host OS - это веб-браузер |
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 |
Поддерживаются текстуры с применением сжатия ETC1 |
etc2 |
Поддерживаются текстуры с применением сжатия ETC2 |
s3tc |
Поддерживаются текстуры с применением сжатия S3TC (DXT/BC) |
movie |
Movie Maker mode is active |
Предупреждение
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.
Чтобы проверить, запущен ли проект, экспортированный в HTML5, на мобильном устройстве, вызовите JavaScript-код, который считывает пользовательский агент браузера.
Пользовательские особенности¶
Можно добавить пользовательские особенности в сборку; используйте соответствующее поле в export preset, используемое для их создания:
Примечание
Пользовательские теги функций используются только при запуске экспортированного проекта (в том числе с помощью Развёртывание в один клик). Они не используются при запуске проекта из редактора, даже если экспортный пресет, помеченный как Runnable для вашей текущей платформы, имеет определенные пользовательские теги функций.
Переопределение параметров проекта¶
Особенности могут быть использованы для переопределения определенных значений конфигурации в Project Settings. Это позволяет лучше настроить любую конфигурацию при выполнении сборки.
В следующем примере для демо-сборки игры добавляется другой значок (который был настроен в специальном пресете экспорта, который, в свою очередь, включает только демо-уровни).
После переопределения добавляется новое поле для этой специфической конфигурации:
Примечание
При использовании :ref: настройки проекта "override.cfg" функциональности <class_ProjectSettings> (которая не связана с тегами функций) помните, что теги функций все еще применяются. Поэтому не забудьте также переопределить настройку с помощью желаемого тега(-ов) функции, если вы хотите, чтобы они переопределяли настройки базового проекта на всех платформах и конфигурациях.
Основные переопределения¶
Уже существует множество настроек, которые по умолчанию поставляются с переопределением; их можно найти во многих разделах настроек проекта.
Настройка сборки¶
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.