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...
ProjectSettings
Наследует: Object
Хранит глобально доступные переменные.
Описание
Stores variables that can be accessed from everywhere. Use get_setting(), set_setting() or has_setting() to access them. Variables stored in project.godot are also loaded into ProjectSettings, making this object very useful for reading custom game configuration options.
When naming a Project Settings property, use the full path to the setting including the category. For example, "application/config/name" for the project name. Category and property names can be viewed in the Project Settings dialog.
Feature tags: Project settings can be overridden for specific platforms and configurations (debug, release, ...) using feature tags.
Overriding: Any project setting can be overridden by creating a file named override.cfg in the project's root directory. This file is in the same format as project.godot, and can also be written using ConfigFile. This can also be used in exported projects by placing this file in the same directory as the project binary. Overriding will still take the base project settings' feature tags in account. Therefore, make sure to also override the setting with the desired feature tags if you want them to override base project settings on all platforms and configurations.
Обучающие материалы
Свойства
Методы
void |
add_property_info(hint: Dictionary) |
check_changed_settings_in_group(setting_prefix: String) const |
|
void |
|
get_changed_settings() const |
|
get_setting(name: String, default_value: Variant = null) const |
|
get_setting_with_override(name: StringName) const |
|
get_setting_with_override_and_custom_features(name: StringName, features: PackedStringArray) const |
|
globalize_path(path: String) const |
|
has_setting(name: String) const |
|
load_resource_pack(pack: String, replace_files: bool = true, offset: int = 0) |
|
localize_path(path: String) const |
|
save() |
|
save_custom(file: String) |
|
void |
set_as_basic(name: String, basic: bool) |
void |
set_as_internal(name: String, internal: bool) |
void |
set_initial_value(name: String, value: Variant) |
void |
|
void |
set_restart_if_changed(name: String, restart: bool) |
void |
set_setting(name: String, value: Variant) |
Сигналы
settings_changed() 🔗
Выдается при изменении любой настройки, до одного раза за кадр процесса.
Описания свойств
String accessibility/general/accessibility_driver = "accesskit" 🔗
Accessibility driver:
-accesskit (default): AccessKit driver.
-dummy: Dummy driver, screen reader support is disabled.
int accessibility/general/accessibility_support = 0 🔗
Режим поддержки специальных возможностей:
Авто (
0): Поддержка специальных возможностей включена, но обновления информации о специальных возможностях обрабатываются только в том случае, если активно вспомогательное приложение (например, программа чтения с экрана или дисплей Брайля) (по умолчанию).Всегда активен (
1): Поддержка специальных возможностей включена, и обновления информации о специальных возможностях обрабатываются всегда, независимо от состояния вспомогательных приложений.Отключен (
2): Поддержка специальных возможностей полностью отключена.
Примечание: Инструменты отладки специальных возможностей, такие как Accessibility Insights для Windows, Accessibility Inspector (macOS) или AT-SPI Browser (Linux/BSD), не считаются вспомогательными приложениями. Для тестирования вашего проекта с помощью этих инструментов используйте Всегда активен.
int accessibility/general/updates_per_second = 60 🔗
Количество обновлений информации о доступности в секунду.
bool animation/compatibility/default_parent_skeleton_in_mesh_instance_3d = false 🔗
Если true, то MeshInstance3D.skeleton по умолчанию будет указывать на родительский узел (..), что было характерно для Godot 4.6. Рекомендуется оставлять этот параметр отключенным, если старое поведение не требуется для совместимости.
Примечание: Если вы отключите этот параметр в существующем проекте, настоятельно рекомендуется использовать опцию Проект > Инструменты > Обновить файлы проекта..., чтобы гарантировать корректную работу существующих сцен.
bool animation/warnings/check_angle_interpolation_type_conflicting = true 🔗
Если true, AnimationMixer выводит предупреждение о том, что интерполяция вынуждена выбирать кратчайший путь вращения из-за смешивания нескольких типов угловой интерполяции в кэше AnimationMixer.
bool animation/warnings/check_invalid_skeleton_modifier_node_paths = true 🔗
If true, SkeletonModifier3D prints a warning if there's no matching object for the track path in the scene when assigning.
bool animation/warnings/check_invalid_track_paths = true 🔗
Если true, AnimationMixer выводит предупреждение об отсутствии соответствующего объекта траектории дорожки в сцене.
Color application/boot_splash/bg_color = Color(0.14, 0.14, 0.14, 1) 🔗
Цвет фона для заставки.
String application/boot_splash/image = "" 🔗
Путь к изображению, используемому в качестве заставки загрузки. Если оставить пустым, вместо нее будет отображаться заставка Godot Engine по умолчанию.
Примечание: Эффективно только если application/boot_splash/show_image равно true.
Примечание: Поддерживается только формат PNG. Использование другого формата изображения приведет к ошибке.
Примечание: Изображение также будет отображаться при открытии проекта в редакторе. Если вы хотите отобразить заставку по умолчанию в редакторе, добавьте пустое переопределение для функции editor_hint.
int application/boot_splash/minimum_display_time = 0 🔗
Минимальное время отображения заставки загрузки (в миллисекундах). Не рекомендуется устанавливать слишком высокие значения для этого параметра.
bool application/boot_splash/show_image = true 🔗
Если true, при запуске двигателя отображается изображение, указанное в application/boot_splash/image. Если false, отображается только простой цвет, указанный в application/boot_splash/bg_color.
int application/boot_splash/stretch_mode = 1 🔗
Указывает, как будет растягиваться заставка. Для сохранения исходного размера без растягивания установите значение disabled. Дополнительную информацию см. в константах SplashStretchMode.
bool application/boot_splash/use_filter = true 🔗
Если true, применяет линейную фильтрацию при масштабировании изображения (рекомендуется для произведений искусства с высоким разрешением). Если false, использует интерполяцию по ближайшему соседу (рекомендуется для пиксельной графики).
bool application/config/auto_accept_quit = true 🔗
Если включено, приложение будет автоматически подтверждать выход.
String application/config/custom_user_dir_name = "" 🔗
Этот пользовательский каталог используется для хранения постоянных данных (файловая система user://). Если определено имя пользовательского каталога, это имя будет добавлено к системному каталогу пользовательских данных (та же родительская папка, что и папка конфигурации Godot, описанная в OS.get_user_data_dir()).
Для того чтобы это вступило в силу, необходимо включить параметр application/config/use_custom_user_dir.
Примечание: Если application/config/custom_user_dir_name содержит конечные точки, они будут удалены, поскольку имена папок, заканчивающиеся на точку, не допускаются в Windows.
String application/config/description = "" 🔗
Описание проекта, отображаемое в виде всплывающей подсказки в Менеджере Проектов при наведении на проект.
bool application/config/disable_project_settings_override = false 🔗
Если true, отключает загрузку переопределений настроек проекта (файл, определенный в application/config/project_settings_override и res://override.cfg) и связанных с ними аргументов командной строки.
String application/config/icon = "" 🔗
Иконка, используемая для проекта, устанавливается при загрузке проекта. При необходимости экспортеры также будут использовать этот значок в качестве запасного варианта.
String application/config/macos_native_icon = "" 🔗
Установить иконку в формате .icns, используемую в macOS в качестве иконки приложения. Это делается автоматически при запуске путем вызова метода DisplayServer.set_native_icon().
String application/config/name = "" 🔗
Название проекта. Используется как менеджером проекта, так и при экспорте. Имя проекта может быть переведено путем перевода его названия в файлах локализации. При запуске заголовок окна автоматически устанавливается в соответствии с названием проекта.
Примечание: Изменение этого значения также изменит путь к папке данных пользователя, если параметр application/config/use_custom_user_dir имеет значение выключен. После переименования проекта вы больше не сможете получить доступ к существующим данным в user://, если не переименуете старую папку в соответствии с новым именем проекта. Дополнительные сведения см. в разделе Пути данных в документации.
Dictionary application/config/name_localized = {} 🔗
Перевод названия проекта. Этот параметр используется инструментами ОС для перевода названия приложения на Android, iOS и macOS.
Примечание: Если оставить поле пустым, название приложения будет переведено с использованием переводов проекта.
String application/config/project_settings_override = "" 🔗
Указывает файл для переопределения настроек проекта. Например: user://custom_settings.cfg. См. «Переопределение» в описании класса ProjectSettings вверху для получения дополнительной информации.
Примечание: Независимо от значения этого параметра, res://override.cfg все равно будет прочитан для переопределения настроек проекта.
bool application/config/quit_on_go_back = true 🔗
Если включено, приложение автоматически закроется при переходе назад (например, с помощью системной кнопки "Назад" на Android).
bool application/config/use_custom_user_dir = false 🔗
Если включено, проект будет сохранять данные пользователя в свою собственную директорию. Если поле application/config/custom_user_dir_name пусто, будет использоваться директория <OS user data directory>/<project name>. Если выключено, проект будет сохранять данные пользователя в <OS user data directory>/Godot/app_userdata/<project name>.
См. также Пути к файлам в проектах Godot. Эта настройка действует только на настольных платформах.
Если true, проект будет использовать скрытый каталог (.godot) для хранения данных, специфичных для проекта (метаданные, кэш шейдеров и т. д.).
Если false, вместо него будет использоваться нескрытый каталог (godot).
Примечание: Перезапустите приложение после изменения этого параметра.
Примечание: Изменение этого значения может помочь на платформах или со сторонними инструментами, где шаблоны скрытых каталогов запрещены. Изменяйте этот параметр только в том случае, если вы знаете, что это требуется вашей среде, так как изменение значения по умолчанию может повлиять на совместимость с некоторыми внешними инструментами или плагинами, которые ожидают папку по умолчанию .godot.
String application/config/version = "" 🔗
Идентификатор версии проекта. Он используется экспортерами, если версия не настроена в них. Если в application/config/version - пустая строка и версия не настроена в экспортере, экспортер будет использовать 1.0.0 в качестве версии.
String application/config/windows_native_icon = "" 🔗
Установить иконку в формате .ico, используемую в Windows в качестве иконки приложения. Это делается автоматически при запуске путем вызова метода DisplayServer.set_native_icon().
bool application/run/delta_smoothing = true 🔗
Временные выборки для дельт кадров подвержены случайным изменениям, вносимым платформой, даже когда кадры отображаются с регулярными интервалами благодаря V-Sync. Это может привести к дрожанию. Дельта-сглаживание часто может дать лучший результат, отфильтровывая входные дельты для коррекции незначительных колебаний частоты обновления.
Примечание: Дельта-сглаживание предпринимается только тогда, когда display/window/vsync/vsync_mode установлен на enabled, поскольку без V-Sync оно работает некорректно.
Может пройти несколько секунд при стабильной частоте кадров, прежде чем сглаживание будет первоначально активировано. Оно будет активно только на машинах, производительность которых достаточна для рендеринга кадров с частотой обновления.
bool application/run/disable_stderr = false 🔗
Если true, отключает вывод на стандартный вывод ошибок. Если true, это также скрывает сообщения об ошибках и предупреждения, выводимые @GlobalScope.push_error() и @GlobalScope.push_warning(). См. также application/run/disable_stdout.
Изменения этого параметра будут применены только после перезапуска приложения. Чтобы управлять этим во время выполнения, используйте Engine.print_error_messages.
bool application/run/disable_stdout = false 🔗
Если true, отключает печать на стандартный вывод. Это эквивалентно запуску редактора или проекта с --quiet аргументом командной строки. См. также application/run/disable_stderr.
Изменения этого параметра будут применены только после перезапуска приложения. Чтобы управлять этим во время выполнения, используйте Engine.print_to_stdout.
Если true, позволяет клавишам Alt + Space отображать меню окна. Это меню позволяет пользователю выполнять различные операции по управлению окнами, такие как перемещение, изменение размера или сворачивание окна.
Примечание: Когда меню отображается, выполнение проекта будет приостановлено до тех пор, пока меню не будет полностью закрыто из-за поведения Windows. Учитывайте это при включении этого параметра в сетевой многопользовательской игре. Меню считается полностью закрытым только при выборе опции, когда пользователь щелкает за ее пределами или когда нажата Escape после вызова меню окна и после этого нажата другая клавиша.
Примечание: Этот параметр реализован только в Windows.
bool application/run/flush_stdout_on_print = false 🔗
Если true, то поток стандартного вывода очищается каждый раз, когда печатается строка. Это влияет как на ведение журналов в терминале, так и на ведение журналов в файлах.
При запуске проекта этот параметр должен быть включен, если вы хотите, чтобы журналы собирались менеджерами служб, такими как systemd/journalctl. Эта настройка отключена по умолчанию в сборках релизов, поскольку промывка каждой напечатанной строки негативно скажется на производительности, если много строк печатается в быстрой последовательности. Кроме того, если эта настройка включена, файлы журналов будут успешно записаны, если приложение аварийно завершено или иным образом убито пользователем (не будучи закрытым "нормально").
Примечание: Независимо от этой настройки, стандартный поток ошибок (stderr) всегда промывается, когда в него печатается строка.
Изменения в этой настройке будут применены только после перезапуска приложения.
bool application/run/flush_stdout_on_print.debug = true 🔗
Отладочная сборка переопределена для application/run/flush_stdout_on_print, так как производительность менее важна во время отладки.
Изменения этого параметра будут применены только после перезапуска приложения.
int application/run/frame_delay_msec = 0 🔗
Устанавливает постоянную задержку между кадрами в основном цикле (в миллисекундах). В большинстве случаев application/run/max_fps следует предпочесть в качестве ограничителя FPS, поскольку он более точен.
Эту настройку можно переопределить с помощью аргумента командной строки --frame-delay <ms;>.
bool application/run/load_shell_environment = false 🔗
Если true, загружает оболочку по умолчанию и копирует переменные среды, заданные скриптами запуска оболочки, в среду приложения.
Примечание: Этот параметр реализован в macOS только для приложений, не находящихся в песочнице.
bool application/run/low_processor_mode = false 🔗
Если true, включается режим низкой загрузки процессора. При включении движку требуется больше времени на перерисовку, но он перерисовывает экран только при необходимости. Это может снизить энергопотребление и предназначено для редакторов или мобильных приложений. Для большинства игр, поскольку экран должен перерисовываться в каждом кадре, рекомендуется отключать эту настройку.
int application/run/low_processor_mode_sleep_usec = 6900 🔗
Количество сна между кадрами при включенном режиме низкой загрузки процессора (в микросекундах). Более высокие значения приведут к снижению загрузки процессора.
String application/run/main_loop_type = "SceneTree" 🔗
Имя типа, реализующего основной цикл движка.
String application/run/main_scene = "" 🔗
Путь к главной сцене, которая будет загружена при запуске проекта.
int application/run/max_fps = 0 🔗
Максимально допустимое количество кадров в секунду. Значение 0 означает "без ограничений". Фактическое количество кадров в секунду может быть ниже этого значения, если ЦП или ГП не справляются с логикой проекта и рендерингом.
Ограничение FPS может быть полезно для снижения энергопотребления системы, что уменьшает тепловыделение и шум (и увеличивает время автономной работы мобильных устройств).
Если display/window/vsync/vsync_mode установлен в Enabled или Adaptive, он имеет приоритет, и принудительно установленное количество FPS не может превышать частоту обновления монитора. См. также DisplayServer.screen_get_refresh_rate().
Фактическое количество кадров в секунду может быть ниже этого значения, если ЦП или ГП не справляются с логикой проекта и рендерингом.
Если параметр display/window/vsync/vsync_mode включен, то на мониторах с включенной переменной частотой обновления (G-Sync/FreeSync) использование ограничения FPS, немного меньшего, чем частота обновления монитора, уменьшит задержку ввода, избегая при этом разрывов изображения. При более высоких частотах обновления разницу между ограничением FPS и частотой обновления монитора следует увеличить, чтобы обеспечить кадры, учитывающие неточности синхронизации. Оптимальная формула для значения ограничения FPS в этом сценарии: r - (r * r) / 3600.0, где r — частота обновления монитора.
Если параметр display/window/vsync/vsync_mode отключен, ограничение частоты кадров до высокого значения, которое может стабильно достигаться системой, может уменьшить задержку ввода по сравнению с неограниченной частотой кадров. Поскольку это работает за счет обеспечения нагрузки на графический процессор ниже 100%, это снижение задержки эффективно только в сценариях с узким местом, связанным с графическим процессором, а не с центральным процессором.
См. также physics/common/physics_ticks_per_second.
Этот параметр можно переопределить с помощью аргумента командной строки --max-fps <fps> (включая значение 0 для неограниченной частоты кадров).
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить ограничение частоты кадров рендеринга во время выполнения, установите вместо этого Engine.max_fps.
bool application/run/print_header = true 🔗
Если true, заголовок движка выводится в консоли при запуске. Этот заголовок описывает текущую версию движка, а также используемый рендерер. Это поведение также можно отключить в командной строке с помощью параметра --no-header.
float audio/buses/channel_disable_threshold_db = -60.0 🔗
Аудиошины автоматически отключаются, когда звук опускается ниже заданного порога dB на заданное время. Это экономит ресурсы CPU, поскольку эффекты, назначенные на эту шину, больше не будут выполнять никакой обработки.
float audio/buses/channel_disable_time = 2.0 🔗
Аудиошины автоматически отключаются, когда звук опускается ниже заданного порога dB на заданное время. Это экономит ресурсы CPU, поскольку эффекты, назначенные на эту шину, больше не будут выполнять никакой обработки.
String audio/buses/default_bus_layout = "res://default_bus_layout.tres" 🔗
Файл ресурсов AudioBusLayout по умолчанию для использования в проекте, если он не переопределен сценой.
Указывает используемый аудиодрайвер. Этот параметр зависит от платформы, так как каждая платформа поддерживает разные аудиодрайверы. Если оставить пустым, будет использоваться аудиодрайвер по умолчанию.
Аудиодрайвер Dummy отключает все воспроизведение и запись звука, что полезно для неигровых приложений, так как снижает загрузку CPU. Он также предотвращает появление движка в качестве приложения, воспроизводящего звук в аудиомикшере ОС.
Чтобы запросить значение, используемое во время выполнения (которое может быть переопределено аргументами командной строки или режимом headless), используйте AudioServer.get_driver_name().
Примечание: Используемый драйвер можно переопределить во время выполнения с помощью --audio-driver аргумента командной строки.
bool audio/driver/enable_input = false 🔗
Если true, вход микрофона будет разрешен. Для этого необходимо установить соответствующие разрешения при экспорте в Android или iOS.
Примечание: Если операционная система блокирует доступ к устройствам ввода звука (из-за настроек конфиденциальности пользователя), захват звука вернет только тишину. В Windows убедитесь, что приложениям разрешен доступ к микрофону в настройках конфиденциальности ОС.
int audio/driver/mix_rate = 44100 🔗
Целевая скорость смешивания, используемая для звука (в Гц). В общем случае лучше не трогать это и оставить это на усмотрение операционной системы хоста.
Примечание: В iOS и macOS скорость смешивания определяется аудиодрайвером, это значение игнорируется.
Примечание: Скорости смешивания на входе и выходе могут отличаться. Используйте AudioServer.get_mix_rate() и AudioServer.get_input_mix_rate(), чтобы получить фактические значения.
int audio/driver/mix_rate.web = 0 🔗
Более безопасное переопределение для audio/driver/mix_rate в веб-платформе. Здесь 0 означает "позволить браузеру выбирать" (так как некоторые браузеры не любят принудительно задавать скорость смешивания).
int audio/driver/output_latency = 15 🔗
Указывает предпочтительную задержку вывода в миллисекундах для звука. Более низкие значения приведут к меньшей задержке звука за счет увеличения загрузки CPU. Низкие значения могут привести к слышимому треску на более медленном оборудовании.
Задержка вывода звука может быть ограничена операционной системой хоста и драйверами аудиооборудования. Если хост не может обеспечить указанную задержку вывода звука, Godot попытается использовать ближайшую задержку, разрешенную хостом. Таким образом, вы всегда должны использовать AudioServer.get_output_latency() для определения фактической задержки вывода звука.
Задержка вывода звука может быть переопределена с помощью аргумента командной строки --audio-output-latency <ms>.
Примечание: Этот параметр игнорируется на Android.
int audio/driver/output_latency.web = 50 🔗
Более безопасное переопределение audio/driver/output_latency на веб-платформе, позволяющее избежать проблем со звуком, особенно на мобильных устройствах.
float audio/general/2d_panning_strength = 0.5 🔗
Базовая сила эффекта панорамирования для всех узлов AudioStreamPlayer2D. Силу панорамирования можно дополнительно масштабировать на каждом узле с помощью AudioStreamPlayer2D.panning_strength. Значение 0.0 полностью отключает стереопанорамирование, оставляя только ослабление громкости. Значение 1.0 полностью отключает один из каналов, если звук расположен точно слева (или справа) от слушателя.
Значение по умолчанию 0.5 настроено для наушников. При использовании динамиков вы можете обнаружить, что более низкие значения звучат лучше, поскольку динамики имеют более низкое стереоразделение по сравнению с наушниками.
float audio/general/3d_panning_strength = 0.5 🔗
Базовая сила эффекта панорамирования для всех узлов AudioStreamPlayer3D. Силу панорамирования можно дополнительно масштабировать на каждом узле с помощью AudioStreamPlayer3D.panning_strength. Значение 0.0 полностью отключает стереопанорамирование, оставляя только ослабление громкости. Значение 1.0 полностью отключает один из каналов, если звук находится точно слева (или справа) от слушателя.
Значение по умолчанию 0.5 настроено для наушников, что означает, что противоположный боковой канал не опускается ниже 50% громкости ближнего канала. Вы можете обнаружить, что можете установить это значение выше для динамиков, чтобы получить тот же эффект, поскольку оба уха могут слышать из каждого динамика.
int audio/general/default_playback_type = 0 🔗
Экспериментальное: Это свойство может быть изменено или удалено в будущих версиях.
Указывает тип воспроизведения по умолчанию для платформы.
Значение по умолчанию установлено на Stream, так как у большинства платформ нет проблем с микшированием потоков.
int audio/general/default_playback_type.web = 1 🔗
Экспериментальное: Это свойство может быть изменено или удалено в будущих версиях.
Указывает тип воспроизведения по умолчанию для веб-платформы.
Значение по умолчанию установлено на Sample, так как веб-платформа не подходит для микширования аудиопотоков за пределами API веб-аудио, особенно при экспорте однопоточной игры. Sample позволяет снизить задержку на веб-платформе за счет гибкости (AudioEffect-ы не поддерживаются).
Предупреждение: Принудительное использование Stream на веб-платформе может привести к высокой задержке звука и потрескиванию, особенно при экспорте многопоточной игры.
bool audio/general/ios/mix_with_others = false 🔗
Устанавливает параметр mixWithOthers для AVAudioSession на iOS. Это переопределит поведение микширования, если категория установлена на Play and Record (Воспроизведение и запись), Playback (Воспроизведение) или Multi Route (Мультимаршрут).
Ambient всегда имеет этот набор по умолчанию.
int audio/general/ios/session_category = 0 🔗
Устанавливает AVAudioSessionCategory на iOS. Используйте категорию Playback (Воспроизведение), чтобы получить вывод звука, даже если телефон находится в беззвучном режиме.
bool audio/general/text_to_speech = false 🔗
Если true, поддержка преобразования текста в речь включается при запуске, в противном случае она включается при первом использовании любого метода TTS. См. также DisplayServer.tts_get_voices() и DisplayServer.tts_speak().
Примечание: Включение TTS может привести к дополнительному использованию ЦП в режиме ожидания и помешать работе спящего режима, поэтому рекомендуется отключить его, если TTS не используется.
int audio/video/video_delay_compensation_ms = 0 🔗
Настройка жесткой задержки звука при воспроизведении видео. Лучше оставить это без изменений, если вы не знаете, что делаете.
bool collada/use_ambient = false 🔗
Если true, окружающее освещение будет импортировано из моделей COLLADA как DirectionalLight3D. Если false, окружающее освещение будет проигнорировано.
int compression/formats/gzip/compression_level = -1 🔗
Уровень сжатия по умолчанию для gzip. Влияет на сжатые сцены и ресурсы. Более высокие уровни приводят к уменьшению размера файлов за счет скорости сжатия. Скорость распаковки в основном не зависит от уровня сжатия. -1 использует уровень сжатия gzip по умолчанию, который идентичен 6, но может измениться в будущем из-за базовых обновлений zlib.
int compression/formats/zlib/compression_level = -1 🔗
Уровень сжатия по умолчанию для Zlib. Влияет на сжатые сцены и ресурсы. Более высокие уровни приводят к уменьшению размера файлов за счет скорости сжатия. Скорость распаковки в основном не зависит от уровня сжатия. -1 использует уровень сжатия gzip по умолчанию, который идентичен 6, но может измениться в будущем из-за базовых обновлений zlib.
int compression/formats/zstd/compression_level = 3 🔗
Уровень сжатия по умолчанию для Zstandard. Влияет на сжатые сцены и ресурсы. Более высокие уровни приводят к меньшим файлам за счет скорости сжатия. Скорость распаковки в основном не зависит от уровня сжатия.
bool compression/formats/zstd/long_distance_matching = false 🔗
Включает Сопоставление на большом расстоянии в Zstandard.
int compression/formats/zstd/window_log_size = 27 🔗
Наибольший предел размера (в степени 2), разрешенный при сжатии с использованием сопоставления на большом расстоянии с Zstandard. Более высокие значения могут привести к лучшему сжатию, но потребуют больше памяти при сжатии и распаковке.
Color debug/canvas_items/debug_redraw_color = Color(1, 0.2, 0.2, 0.5) 🔗
Если отладка перерисовки элементов холста активна, этот цвет будет мигать на элементах холста при их перерисовке.
float debug/canvas_items/debug_redraw_time = 1.0 🔗
Если отладка перерисовки элементов холста активна, это будет время, в течение которого будет длиться вспышка при каждой перерисовке.
bool debug/file_logging/enable_file_logging = false 🔗
Если true, регистрирует все выходные данные и сообщения об ошибках в файлах. См. также debug/file_logging/log_path, debug/file_logging/max_log_files и application/run/flush_stdout_on_print.
bool debug/file_logging/enable_file_logging.pc = true 🔗
Переопределение для настольного компьютера для debug/file_logging/enable_file_logging, поскольку файлы журналов не всегда доступны на мобильных/веб-платформах.
String debug/file_logging/log_path = "user://logs/godot.log" 🔗
Путь, по которому следует хранить файлы журналов для проекта. Рекомендуется использовать путь в user://.
Это можно указать вручную в командной строке с помощью --log-file <file> аргумента командной строки. Если указан этот аргумент командной строки, ротация журналов автоматически отключается (см. debug/file_logging/max_log_files).
int debug/file_logging/max_log_files = 5 🔗
Указывает максимально допустимое количество файлов журнала (используется для ротации). Установите на 1, чтобы отключить ротацию файлов журнала.
Если используется --log-file <file> аргумент командной строки, ротация журнала всегда отключена.
int debug/gdscript/warnings/assert_always_false = 1 🔗
Если установлено значение Warn или Error, то при вызове assert всегда будет получено значение false выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/assert_always_true = 1 🔗
Если установлено значение Warn или Error, то при вызове assert всегда будет выдаваться предупреждение или ошибка соответственно.
int debug/gdscript/warnings/confusable_capture_reassignment = 1 🔗
Если установлено значение Warn или Error, то при переназначении локальной переменной, захваченной лямбда-функцией, выдается предупреждение или ошибка соответственно, поскольку это не изменяет внешнюю локальную переменную.
int debug/gdscript/warnings/confusable_identifier = 1 🔗
Если установлено значение Warn или Error, то при наличии в идентификаторе символов, которые могут быть ошибочно приняты за другие, например, при смешивании разных алфавитов, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/confusable_local_declaration = 1 🔗
Если задано значение Warn или Error, выдаётся предупреждение или ошибка соответственно, когда идентификатор, объявленный во вложенном блоке, имеет то же имя, что и идентификатор, объявленный ниже в родительском блоке.
int debug/gdscript/warnings/confusable_local_usage = 1 🔗
Если задано значение Warn или Error, выдаётся предупреждение или ошибка соответственно, если используется идентификатор, который будет скрыт ниже в блоке.
int debug/gdscript/warnings/confusable_temporary_modification = 1 🔗
When set to Warn or Error, produces a warning or an error respectively when a built-in property of type Packed*Array is modified using a complex assignment chain or a non-const method call. In this case, you are only modifying a temporary value, and the property's value remains unchanged.
int debug/gdscript/warnings/deprecated_keyword = 1 🔗
Если установлено значение Warn или Error, выдаётся предупреждение или ошибка соответственно при использовании устаревших ключевых слов.
Примечание: В настоящее время устаревших ключевых слов нет, поэтому это предупреждение никогда не выводится.
Dictionary debug/gdscript/warnings/directory_rules = { "res://addons": 0 } 🔗
Правила включения или исключения скриптов при генерации предупреждений представлены в виде словаря. Каждое правило представляет собой запись, состоящую из пути к каталогу (key) и решения (value). При попытке сгенерировать предупреждение парсер GDScript выбирает наиболее специфичное правило, т. е. наиболее вложенный каталог, содержащий скрипт. Если решение Exclude, предупреждения для этого скрипта не генерируются. Если решение Include или скрипт не удовлетворяет ни одному из правил, применяется конфигурация предупреждений, указанная в настройках проекта.
Рекомендуется включать собственные дополнения/библиотеки, как специфичные для проекта, так и находящиеся в активной разработке. Сторонние или независимые от проекта дополнения/библиотеки следует исключать, поскольку они могут быть несовместимы с конфигурацией предупреждений проекта.
Примечание: Не рекомендуется удалять или изменять правило для "res://addons", поскольку конфигурация предупреждений проекта может нарушить работу сторонних дополнений. Вместо этого, при необходимости, рассмотрите возможность включения отдельных дополнений.
Примечание: Редактор не проверяет, являются ли указанные пути существующими каталогами. Он также не обновляет эти пути автоматически при перемещении каталогов.
int debug/gdscript/warnings/empty_file = 1 🔗
Если установлено значение Warn или Error, то при анализе пустого файла будет выдаваться предупреждение или ошибка соответственно.
bool debug/gdscript/warnings/enable = true 🔗
Если true, включает определенные предупреждения GDScript (см. настройки debug/gdscript/warnings/*). Если false, отключает все предупреждения GDScript.
int debug/gdscript/warnings/enum_variable_without_default = 1 🔗
Если установлено значение Warn или Error, выдается предупреждение или ошибка соответственно, если переменная имеет тип перечисления, но не имеет явного значения по умолчанию, но только если перечисление не содержит 0 в качестве допустимого значения.
int debug/gdscript/warnings/get_node_default_without_onready = 2 🔗
Если установлено значение Warn или Error, то при использовании метода Node.get_node() (или сокращенной записи $) в качестве значения по умолчанию для переменной класса без аннотации @onready выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/incompatible_ternary = 1 🔗
Если установлено значение Warn или Error, это приводит к появлению предупреждения или ошибки соответственно, если тернарный оператор может выдавать значения несовместимых типов.
int debug/gdscript/warnings/inference_on_variant = 2 🔗
Если задано значение Warn или Error, выдаётся предупреждение или ошибка соответственно, когда статический выводимый тип использует Variant в качестве начального значения, что делает статический тип также типом Variant.
int debug/gdscript/warnings/inferred_declaration = 0 🔗
Если установлено значение Warn или Error, это приводит к предупреждению или ошибке соответственно, когда переменная, константа или параметр имеют неявно выведенный статический тип. В GDScript вывод типа выполняется путем объявления переменной с помощью := вместо = и опускания спецификатора типа. Например, var x := 1 выведет тип int, в то время как var x: int = 1 явно объявляет переменную как int.
Примечание: Рекомендуется использовать это предупреждение в дополнение к debug/gdscript/warnings/untyped_declaration, если вы хотите всегда явно указывать тип. Наличие уровня предупреждения INFERRED_DECLARATION выше уровня предупреждения UNTYPED_DECLARATION не имеет смысла и не рекомендуется.
int debug/gdscript/warnings/int_as_enum_without_cast = 1 🔗
Если установлено значение Warn или Error, то при попытке использовать целое число в качестве перечисления без явного приведения типов будет выдаваться предупреждение или ошибка соответственно.
int debug/gdscript/warnings/int_as_enum_without_match = 1 🔗
Если установлено значение Warn или Error, то при попытке использовать целое число в качестве перечисления, если для этого числового значения нет соответствующего члена перечисления, будет выдано предупреждение или ошибка соответственно.
int debug/gdscript/warnings/integer_division = 1 🔗
Если установлено значение Warn или Error, то при делении одного целого числа на другое целое число будет выдаваться предупреждение или ошибка соответственно (десятичная часть будет отброшена).
int debug/gdscript/warnings/missing_await = 0 🔗
Если установлено значение Warn или Error, то при вызове сопрограммы (coroutine) без параметра await выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/missing_tool = 1 🔗
Если установлено значение Warn или Error, то выдается предупреждение или ошибка соответственно, если базовый скрипт класса имеет аннотацию @tool, а текущий скрипт класса ее не имеет.
int debug/gdscript/warnings/narrowing_conversion = 1 🔗
Если установлено значение Warn или Error, то при передаче значения с плавающей запятой в функцию, ожидающую целое число, будет выдано предупреждение или ошибка соответственно (значение будет преобразовано, и точность будет потеряна).
int debug/gdscript/warnings/native_method_override = 2 🔗
Если установлено значение Warn или Error, то при переопределении собственного метода в скрипте, поскольку он может вести себя не так, как ожидалось, будет выдаваться предупреждение или ошибка соответственно.
int debug/gdscript/warnings/onready_with_export = 2 🔗
Если установлено значение Warn или Error, то при использовании аннотации @onready вместе с аннотацией @export выдается предупреждение или ошибка соответственно, поскольку поведение может быть не таким, как ожидалось.
int debug/gdscript/warnings/redundant_await = 1 🔗
Если установлено значение Warn или Error, то при вызове функции, не являющейся сопрограммой, с помощью await выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/redundant_static_unload = 1 🔗
Если установлено значение Warn или Error, то при использовании аннотации @static_unload в скрипте без статических переменных выдается предупреждение или ошибка соответственно.
bool debug/gdscript/warnings/renamed_in_godot_4_hint = true 🔗
Если эта опция включена, использование свойства, перечисления или функции, которые были переименованы с момента выхода Godot 3, приведет к появлению подсказки в случае возникновения ошибки.
int debug/gdscript/warnings/return_value_discarded = 0 🔗
Если установлено значение Warn или Error, это приводит к появлению предупреждения или ошибки соответственно при вызове функции без использования её возвращаемого значения (путём присвоения его переменной или использования в качестве аргумента функции). Эти возвращаемые значения иногда используются для обозначения возможных ошибок с помощью перечисления Error.
int debug/gdscript/warnings/shadowed_global_identifier = 1 🔗
Если установлено значение Warn или Error, то при определении локальной переменной, члена класса, сигнала или перечисления, имеющего то же имя, что и встроенная функция или имя глобального класса, будет выдаваться предупреждение или ошибка соответственно, тем самым перекрывая их.
int debug/gdscript/warnings/shadowed_variable = 1 🔗
Если установлено значение Warn или Error, то при возникновении ситуации, когда локальная переменная или локальная константа перекрывает член, объявленный в текущем классе, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/shadowed_variable_base_class = 1 🔗
Если установлено значение Warn или Error, то при возникновении ситуации, когда локальная переменная или локальная константа перекрывает член, объявленный в базовом классе, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/standalone_expression = 1 🔗
Если установлено значение Warn или Error, то при вызове выражения, которое может не оказывать никакого влияния на окружающий код, например, при записи 2 + 2 в виде оператора, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/standalone_ternary = 1 🔗
Если установлено значение Warn или Error, то при вызове тернарного выражения, которое может не оказывать никакого влияния на окружающий код, например, при записи 42 if active else 0 в качестве оператора, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/static_called_on_instance = 1 🔗
Если установлено значение Warn или Error, то при вызове статического метода из экземпляра класса вместо прямого вызова из самого класса будет выдаваться предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unassigned_variable = 1 🔗
Если установлено значение Warn или Error, то при использовании переменной, которой ранее не было присвоено значение, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unassigned_variable_op_assign = 1 🔗
Если установлено значение Warn или Error, то при присваивании переменной значения с помощью оператора присваивания, например +=, если переменной ранее не было присвоено значение, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unreachable_code = 1 🔗
Если установлено значение Warn или Error, то при обнаружении недостижимого кода (например, после оператора return, который всегда будет выполняться) выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unreachable_pattern = 1 🔗
Если установлено значение Warn или Error, то при обнаружении недоступного шаблона match выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unsafe_call_argument = 0 🔗
Если установлено значение Warn или Error, то при использовании выражения, тип которого может быть несовместим с ожидаемым параметром функции, выдается соответственно предупреждение или ошибка.
int debug/gdscript/warnings/unsafe_cast = 0 🔗
Если установлено значение Warn или Error, то при преобразовании значения Variant в значение, отличное от Variant, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unsafe_method_access = 0 🔗
Если установлено значение Warn или Error, то при вызове метода, наличие которого не гарантируется на этапе компиляции в классе, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unsafe_property_access = 0 🔗
Если установлено значение Warn или Error, то при обращении к свойству, наличие которого не гарантируется на этапе компиляции в классе, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unsafe_void_return = 1 🔗
Если установлено значение Warn или Error, то при возврате вызова из функции типа void, не гарантируется, что такой вызов также будет функцией типа void, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/untyped_declaration = 0 🔗
Если установлено значение Warn или Error, то выдается предупреждение или ошибка соответственно, если переменная или параметр не имеют статического типа, или если функция не имеет статического типа возвращаемого значения.
Примечание: Рекомендуется использовать это предупреждение вместе с EditorSettings.text_editor/completion/add_type_hints для обеспечения типобезопасности.
int debug/gdscript/warnings/unused_local_constant = 1 🔗
Если установлено значение Warn или Error, то при отсутствии использования локальной константы выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unused_parameter = 1 🔗
Если установлено значение Warn или Error, то при отсутствии параметра функции будет выдано предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unused_private_class_variable = 1 🔗
Если установлено значение Warn или Error, то при использовании приватной переменной-члена выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unused_signal = 1 🔗
Если установлено значение Warn или Error, то при объявлении сигнала, и его явном использовании в классе, выдается предупреждение или ошибка соответственно.
int debug/gdscript/warnings/unused_variable = 1 🔗
Если установлено значение Warn или Error, то при неиспользовании локальной переменной выдается предупреждение или ошибка соответственно.
String debug/settings/crash_handler/message = "Please include this when reporting the bug to the project developer." 🔗
Сообщение, которое будет отображаться перед обратной трассировкой при сбое движка. По умолчанию это сообщение используется только в экспортированных проектах из-за переопределения, доступного только редактору, примененного к этой настройке.
String debug/settings/crash_handler/message.editor = "Please include this when reporting the bug on: https://github.com/godotengine/godot/issues" 🔗
Переопределение только для редактора для debug/settings/crash_handler/message. Не влияет на экспортированные проекты в режиме отладки или выпуска.
bool debug/settings/gdscript/always_track_call_stacks = false 🔗
Будет ли отслеживаться стек вызовов GDScript в релизных сборках, что позволит функционировать Engine.capture_script_backtraces().
Примечание: Этот параметр не влияет на сборки редактора или отладочные сборки, где стек вызовов GDScript отслеживается независимо.
bool debug/settings/gdscript/always_track_local_variables = false 🔗
Будут ли отслеживаться локальные переменные GDScript во всех сборках, включая экспортные сборки, что позволит Engine.capture_script_backtraces() захватывать их при включении параметра include_variables.
Включение этого параметра обходится примерно в 50 байт памяти на локальную переменную для каждого скомпилированного класса во всем проекте, поэтому в более крупных проектах может потребоваться несколько МБ.
Примечание: Этот параметр не действует при запуске игры из редактора, где локальные переменные GDScript отслеживаются независимо.
int debug/settings/gdscript/max_call_stack = 1024 🔗
Максимальный стек вызовов, разрешенный для отладки GDScript.
bool debug/settings/physics_interpolation/enable_warnings = true 🔗
Если true, включаются предупреждения, которые могут помочь определить, где узлы обновляются неправильно, что приведет к неправильной интерполяции и визуальным сбоям.
Когда узел интерполируется, важно, чтобы преобразование было установлено во время Node._physics_process() (во время физического тика), а не Node._process() (во время кадра).
int debug/settings/profiler/max_functions = 16384 🔗
Максимально допустимое количество функций на кадр при профилировании.
int debug/settings/profiler/max_timestamp_query_elements = 256 🔗
Максимально допустимое количество элементов запроса временной метки на кадр для визуального профилирования.
bool debug/settings/stdout/print_fps = false 🔗
Выводить кадры в секунду на стандартный вывод каждую секунду.
bool debug/settings/stdout/print_gpu_profile = false 🔗
Выводить информацию о профиле GPU на стандартный вывод каждую секунду. Сюда входит, сколько времени в среднем требуется GPU для рендеринга каждого кадра, разбитая на различные этапы конвейера рендеринга, такие как CanvasItems, тени, свечение и т. д.
bool debug/settings/stdout/verbose_stdout = false 🔗
Выводить больше информации на стандартный вывод при запуске. Он отображает информацию, такую как утечки памяти, какие сцены и ресурсы загружаются и т. д. Это также можно включить с помощью --verbose или -v аргумента командной строки, даже в экспортированном проекте. См. также OS.is_stdout_verbose() и @GlobalScope.print_verbose().
bool debug/shader_language/warnings/device_limit_exceeded = true 🔗
Если установлено значение true, выводится предупреждение, когда шейдер превышает определенные ограничения устройства. В настоящее время единственным проверяемым ограничением устройства является ограничение на размер однородного буфера. В будущем будут добавлены дополнительные ограничения устройства.
bool debug/shader_language/warnings/enable = true 🔗
Если true, включает определенные предупреждения шейдера (см. настройки debug/shader_language/warnings/*. Если false, отключает все предупреждения шейдера.
bool debug/shader_language/warnings/float_comparison = true 🔗
Если установлено значение true, выводится предупреждение при непосредственном сравнении двух чисел с плавающей точкой с помощью оператора == или оператора !=.
bool debug/shader_language/warnings/formatting_error = true 🔗
Если установлено значение true, выводится предупреждение при обнаружении определенных ошибок форматирования. В настоящее время это проверяет только пустые операторы. Со временем могут быть добавлены новые ошибки форматирования.
bool debug/shader_language/warnings/magic_position_write = true 🔗
При установке на true выдается предупреждение, когда шейдер содержит POSITION = vec4(vertex,, поскольку это был очень распространенный код, написанный в Godot 4.2 и более ранних версиях, который использовался в паре с QuadMesh для создания полноэкранного прохода постобработки. С переключением на обратное z в 4.3 этот трюк больше не работает, поскольку он неявно полагался на VERTEX.z, равный 0.
bool debug/shader_language/warnings/treat_warnings_as_errors = false 🔗
Если задано значение true, предупреждения рассматриваются как ошибки.
bool debug/shader_language/warnings/unused_constant = true 🔗
Если установлено значение true, выводится предупреждение, если константа никогда не используется.
bool debug/shader_language/warnings/unused_function = true 🔗
Если установлено значение true, выводится предупреждение, если функция никогда не используется.
bool debug/shader_language/warnings/unused_local_variable = true 🔗
Если установлено значение true, выводится предупреждение, если локальная переменная никогда не используется.
bool debug/shader_language/warnings/unused_struct = true 🔗
Если установлено значение true, выводится предупреждение, если структура никогда не используется.
bool debug/shader_language/warnings/unused_uniform = true 🔗
Если установлено значение true, выводится предупреждение, если униформа никогда не используется.
bool debug/shader_language/warnings/unused_varying = true 🔗
Если установлено значение true, выводится предупреждение, если переменная никогда не используется.
Color debug/shapes/avoidance/2d/agents_radius_color = Color(1, 1, 0, 0.25) 🔗
Цвет радиуса агентов избегания, видимый, если в меню «Отладка» включен параметр «Видимое избегание».
bool debug/shapes/avoidance/2d/enable_agents_radius = true 🔗
Если включено, отображает радиус агентов избегания, когда в меню «Отладка» включен параметр «Видимое избегание» ("Visible Avoidance").
bool debug/shapes/avoidance/2d/enable_obstacles_radius = true 🔗
Если включено, отображает радиус препятствий для избегания, когда в меню «Отладка» включен параметр «Видимое избегание» ("Visible Avoidance").
bool debug/shapes/avoidance/2d/enable_obstacles_static = true 🔗
Если этот параметр включен, отображаются статические препятствия для избегания, если в меню «Отладка» включен параметр «Видимое избегание» ("Visible Avoidance").
Color debug/shapes/avoidance/2d/obstacles_radius_color = Color(1, 0.5, 0, 0.25) 🔗
Цвет радиуса препятствий для избегания, видимый, если в меню «Отладка» включен параметр «Видимое избегание».
Color debug/shapes/avoidance/2d/obstacles_static_edge_pushin_color = Color(1, 0, 0, 1) 🔗
Цвет кромок статических препятствий для избегания, когда их вершины закручены, чтобы втолкнуть агентов; виден, если в меню «Отладка» включен параметр «Видимое избегание».
Color debug/shapes/avoidance/2d/obstacles_static_edge_pushout_color = Color(1, 1, 0, 1) 🔗
Цвет кромок статических препятствий для избегания, когда их вершины закручены с целью выталкивания агентов; виден, если в меню «Отладка» включен параметр «Видимое избегание».
Color debug/shapes/avoidance/2d/obstacles_static_face_pushin_color = Color(1, 0, 0, 0) 🔗
Цвет статичных препятствий для избегания, когда их вершины закручены, чтобы втолкнуть агентов; виден, если в меню «Отладка» включен параметр «Видимое избегание».
Color debug/shapes/avoidance/2d/obstacles_static_face_pushout_color = Color(1, 1, 0, 0.5) 🔗
Цвет статичных препятствий для избегания, когда их вершины закручены, чтобы вытолкнуть агентов; виден, если в меню «Отладка» включен параметр «Видимое избегание».
Color debug/shapes/avoidance/3d/agents_radius_color = Color(1, 1, 0, 0.25) 🔗
Цвет радиуса агентов избегания, видимый, если в меню «Отладка» включен параметр «Видимое избегание».
bool debug/shapes/avoidance/3d/enable_agents_radius = true 🔗
Если включено, отображает радиус агентов избегания, когда в меню «Отладка» включен параметр «Видимое избегание» ("Visible Avoidance").
bool debug/shapes/avoidance/3d/enable_obstacles_radius = true 🔗
Если включено, отображает радиус препятствий для избегания, когда в меню «Отладка» включен параметр «Видимое избегание» ("Visible Avoidance").
bool debug/shapes/avoidance/3d/enable_obstacles_static = true 🔗
Если этот параметр включен, отображаются статические препятствия для избегания, если в меню «Отладка» включен параметр «Видимое избегание» ("Visible Avoidance").
Color debug/shapes/avoidance/3d/obstacles_radius_color = Color(1, 0.5, 0, 0.25) 🔗
Цвет радиуса препятствий для избегания, видимый, если в меню «Отладка» включен параметр «Видимое избегание».
Color debug/shapes/avoidance/3d/obstacles_static_edge_pushin_color = Color(1, 0, 0, 1) 🔗
Цвет кромок статических препятствий для избегания, когда их вершины закручены, чтобы втолкнуть агентов; виден, если в меню «Отладка» включен параметр «Видимое избегание».
Color debug/shapes/avoidance/3d/obstacles_static_edge_pushout_color = Color(1, 1, 0, 1) 🔗
Цвет кромок статических препятствий для избегания, когда их вершины закручены с целью выталкивания агентов; виден, если в меню «Отладка» включен параметр «Видимое избегание».
Color debug/shapes/avoidance/3d/obstacles_static_face_pushin_color = Color(1, 0, 0, 0) 🔗
Цвет статичных препятствий для избегания, когда их вершины закручены, чтобы втолкнуть агентов; виден, если в меню «Отладка» включен параметр «Видимое избегание».
Color debug/shapes/avoidance/3d/obstacles_static_face_pushout_color = Color(1, 1, 0, 0.5) 🔗
Цвет статичных препятствий для избегания, когда их вершины закручены, чтобы вытолкнуть агентов; виден, если в меню «Отладка» включен параметр «Видимое избегание».
Color debug/shapes/collision/contact_color = Color(1, 0.2, 0.1, 0.8) 🔗
Цвет точек контакта между фигурами столкновений, видимый, если в меню «Отладка» включен параметр «Видимые фигуры столкновений».
bool debug/shapes/collision/draw_2d_outlines = true 🔗
Устанавливает, будет ли 2D-физика отображать контуры столкновений в игре, если в меню «Отладка» включен параметр «Видимые формы столкновений».
int debug/shapes/collision/max_contacts_displayed = 10000 🔗
Максимальное количество точек контакта между фигурами столкновений, отображаемых при включении параметра «Видимые фигуры столкновений» в меню «Отладка».
Color debug/shapes/collision/shape_color = Color(0, 0.6, 0.7, 0.42) 🔗
Цвет фигур столкновений, видимый, если в меню «Отладка» включен параметр «Видимые фигуры столкновений».
Цвет для отображения путей включенного агента навигации, когда у агента включена отладка.
Растровый размер (в пикселях), используемый для визуализации точек пути агента навигации, когда у агента включена отладка.
Цвет для отображения граничных соединений между областями навигации, видимый, если в меню «Отладка» включен параметр «Видимая навигация».
Если включено, отображает пути агента навигации, когда у агента включена отладка.
Если включено, отображает граничные соединения между областями навигации, когда в меню «Отладка» включен параметр «Видимая навигация».
Если включено, отображает края полигонов навигационной сетки, когда в меню «Отладка» включен параметр «Видимая навигация».
Если включено, окрашивает каждую грань полигона навигационной сетки случайным цветом, когда в меню «Отладка» включен параметр «Видимая навигация».
Если включено, отображает соединения навигационных ссылок, когда в меню «Отладка» включена опция «Видимая навигация».
Цвет для отображения включенных кромок полигонов сетки навигации, видимых, если в меню «Отладка» включена опция «Видимая навигация».
Цвет для отображения отключенных краев полигонов сетки навигации, видимых, если в меню «Отладка» включен параметр «Видимая навигация».
Цвет для отображения включенных граней полигонов сетки навигации, видимых, если в меню «Отладка» включена опция «Видимая навигация».
Цвет для отображения отключенных граней полигонов сетки навигации, видимых, если в меню «Отладка» включен параметр «Видимая навигация».
Цвет, используемый для отображения связей навигационных ссылок, видимый, если в меню «Отладка» включен параметр «Видимая навигация».
Цвет, используемый для отображения отключенных навигационных ссылок, видимых, если в меню «Отладка» включен параметр «Видимая навигация».
Цвет для отображения путей включенного агента навигации, когда у агента включена отладка.
Растровый размер (в пикселях), используемый для визуализации точек пути агента навигации, когда у агента включена отладка.
Цвет для отображения граничных соединений между областями навигации, видимый, если в меню «Отладка» включен параметр «Видимая навигация».
Если включено, отображает пути агента навигации, когда у агента включена отладка.
Если включено, отображает пути агента навигации, когда у агента включена отладка.
Если включено, отображает граничные соединения между областями навигации, когда в меню «Отладка» включен параметр «Видимая навигация».
Если включено, отображает граничные соединения между областями навигации через геометрию, когда в меню «Отладка» включен параметр «Видимая навигация».
Если включено, отображает края полигонов навигационной сетки, когда в меню «Отладка» включен параметр «Видимая навигация».
Если включено, отображает ребра полигонов навигационной сетки через геометрию, когда в меню «Отладка» включен параметр «Видимая навигация».
Если включено, окрашивает каждую грань полигона навигационной сетки случайным цветом, когда в меню «Отладка» включен параметр «Видимая навигация».
Если включено, отображает соединения навигационных ссылок, когда в меню «Отладка» включена опция «Видимая навигация».
Если включено, отображает соединения навигационных ссылок через геометрию, когда в меню «Отладка» включена опция «Видимая навигация».
Цвет для отображения включенных кромок полигонов сетки навигации, видимых, если в меню «Отладка» включена опция «Видимая навигация».
Цвет для отображения отключенных краев полигонов сетки навигации, видимых, если в меню «Отладка» включен параметр «Видимая навигация».
Цвет для отображения включенных граней полигонов сетки навигации, видимых, если в меню «Отладка» включена опция «Видимая навигация».
Цвет для отображения отключенных граней полигонов сетки навигации, видимых, если в меню «Отладка» включен параметр «Видимая навигация».
Цвет, используемый для отображения связей навигационных ссылок, видимый, если в меню «Отладка» включен параметр «Видимая навигация».
Цвет, используемый для отображения отключенных навигационных ссылок, видимых, если в меню «Отладка» включен параметр «Видимая навигация».
Color debug/shapes/paths/geometry_color = Color(0.1, 1, 0.7, 0.4) 🔗
Цвет геометрии кривой траектории, видимый, если в меню «Отладка» включен параметр «Видимые пути».
float debug/shapes/paths/geometry_width = 2.0 🔗
Ширина линии геометрии траектории кривой, видимая, если в меню «Отладка» включен параметр «Видимые пути».
String display/display_server/driver 🔗
Устанавливает драйвер, который будет использоваться сервером отображения. Это свойство нельзя редактировать напрямую, вместо этого установите драйвер с помощью переопределений, зависящих от платформы.
String display/display_server/driver.android 🔗
Переопределение Android для display/display_server/driver.
String display/display_server/driver.ios 🔗
Переопределение iOS для display/display_server/driver.
String display/display_server/driver.linuxbsd 🔗
Переопределение LinuxBSD для display/display_server/driver.
String display/display_server/driver.macos 🔗
Переопределение MacOS для display/display_server/driver.
String display/display_server/driver.visionos 🔗
Переопределение visionOS для display/display_server/driver.
String display/display_server/driver.windows 🔗
Переопределение Windows для display/display_server/driver.
String display/mouse_cursor/custom_image = "" 🔗
Ваше собственное изображение для курсора мыши (макс. размер 256×256).
Vector2 display/mouse_cursor/custom_image_hotspot = Vector2(0, 0) 🔗
Горячая точка для пользовательского изображения курсора мыши.
Vector2 display/mouse_cursor/tooltip_position_offset = Vector2(10, 10) 🔗
Смещение позиции всплывающих подсказок относительно активной точки курсора мыши.
bool display/window/dpi/allow_hidpi = true 🔗
Если true, разрешается отображение HiDPI на Windows, macOS, Android, iOS и Web. Если false, резервный вариант платформы с низким DPI будет использоваться на дисплеях HiDPI, что приводит к тому, что окно отображается размытым или пикселизированным (и может вызывать различные ошибки управления окнами). Поэтому рекомендуется масштабировать ваш проект до нескольких разрешений вместо отключения этого параметра.
Примечание: Этот параметр не влияет на Linux, так как резервные варианты с учетом DPI там не поддерживаются.
bool display/window/energy_saving/keep_screen_on = true 🔗
Если true, экран остается включенным (даже в случае бездействия), поэтому заставка не включается. Работает на настольных и мобильных платформах.
bool display/window/frame_pacing/android/enable_frame_pacing = true 🔗
Включите Swappy для стабильной рамочной регуляции на Android. Настоятельно рекомендуется.
Примечание: Эта опция будет принудительно отключена при использовании OpenXR.
int display/window/frame_pacing/android/swappy_mode = 2 🔗
Режим Swappy для использования. Варианты:
pipeline_forced_on: Попытаться соблюдать Engine.max_fps. Конвейерная обработка всегда включена. Аналогично поведению настольного ПК.auto_fps_pipeline_forced_on: Автоматически рассчитывать максимальный FPS. Фактический FPS будет между0и Engine.max_fps. Хотя это удобно, учтите: Swappy часто будет снижать FPS до достижения стабильного значения. Например, если игра работает на 40-60 FPS при 60 Гц, со временем Swappy снизит FPS для стабильной отрисовки на 30 FPS.auto_fps_auto_pipeline: Аналогичноauto_fps_pipeline_forced_on, но если отрисовка очень быстрая (например, занимает <8 мс при 60 Гц), Swappy отключит конвейер для минимизации задержки ввода. Режим по умолчанию.
Примечание: Если Engine.max_fps равен 0, максимальным FPS будет считаться частота обновления экрана (обычно 60 Гц, 90 Гц или 120 Гц в зависимости от устройства и настроек ОС).
int display/window/handheld/orientation = 0 🔗
Ориентация экрана по умолчанию для использования на мобильных устройствах. См. ScreenOrientation для возможных значений.
Примечание: При установке портретной ориентации эта настройка проекта не меняет ширину и высоту разрешения проекта автоматически. Вместо этого вам нужно установить display/window/size/viewport_width и display/window/size/viewport_height соответственно.
bool display/window/hdr/request_hdr_output = false 🔗
If true, HDR output is requested for the main window and the editor. The main window and editor will automatically switch between HDR and SDR if it is moved between screens, screen capabilities change, or system settings are modified. This will internally force Viewport.use_hdr_2d to be enabled on the main Viewport. All other SubViewport of the Window must have their Viewport.use_hdr_2d property enabled to produce HDR output.
Note: This property is only read when the project starts. To change this property at runtime, set Window.hdr_output_requested.
bool display/window/ios/allow_high_refresh_rate = true 🔗
Если true, устройства iOS, поддерживающие высокую частоту обновления/"ProMotion", смогут выполнять рендеринг со скоростью до 120 кадров в секунду.
bool display/window/ios/hide_home_indicator = true 🔗
Если true, индикатор «Домой» автоматически скрывается. Это касается только устройств iOS без физической кнопки «Домой».
bool display/window/ios/hide_status_bar = true 🔗
Если true, строка состояния скрыта во время работы приложения.
bool display/window/ios/suppress_ui_gesture = true 🔗
Если true, для доступа к пользовательскому интерфейсу iOS, использующему жесты, потребуется два свайпа.
Примечание: Эта настройка не влияет на индикатор «Домой», если hide_home_indicator имеет значение true.
bool display/window/per_pixel_transparency/allowed = false 🔗
Если true, разрешает попиксельную прозрачность для фона окна. Это влияет на производительность, поэтому оставьте его на false, если вам это не нужно. См. также display/window/size/transparent и rendering/viewport/transparent_background.
bool display/window/size/always_on_top = false 🔗
Заставляет главное окно всегда быть поверх остальных.
Примечание: Этот параметр игнорируется в iOS, Android и Web.
bool display/window/size/borderless = false 🔗
Заставляет главное окно быть безрамочным.
Примечание: Этот параметр игнорируется в iOS, Android и Web.
bool display/window/size/extend_to_title = false 🔗
Содержимое главного окна расширяется до полного размера окна. В отличие от окна без рамки, рамка остается нетронутой и может использоваться для изменения размера окна, а строка заголовка прозрачна, но имеет кнопки свернуть/развернуть/закрыть.
Примечание: Эта настройка реализована только в macOS.
Vector2i display/window/size/initial_position = Vector2i(0, 0) 🔗
Начальное положение главного окна (в координатах виртуального рабочего стола), этот параметр используется только если display/window/size/initial_position_type установлен на "Absolute" (0).
Примечание: Этот параметр влияет только на экспортированный проект или когда проект запускается из командной строки. В редакторе вместо этого используется значение EditorSettings.run/window_placement/rect_custom_position.
int display/window/size/initial_position_type = 1 🔗
Начальное положение главного окна.
0 - "Абсолютное", display/window/size/initial_position используется для установки положения окна.
1 - "Центр основного экрана".
3 - "Другой центр экрана", display/window/size/initial_screen используется для установки экрана.
4 - "Центр экрана с указателем мыши".
5 - "Центр экрана с фокусом клавиатуры".
Примечание: Этот параметр влияет только на экспортированный проект или при запуске проекта из командной строки. В редакторе вместо него используется значение EditorSettings.run/window_placement/rect.
int display/window/size/initial_screen = 0 🔗
Начальный экран главного окна, эта настройка используется только если display/window/size/initial_position_type установлен на "Other Screen Center" (2).
Примечание: Эта настройка влияет только на экспортированный проект или когда проект запускается из командной строки. В редакторе вместо этого используется значение EditorSettings.run/window_placement/screen.
bool display/window/size/maximize_disabled = false 🔗
Если true, кнопка развертывания главного окна отключена.
bool display/window/size/minimize_disabled = false 🔗
Если true, кнопка сворачивания главного окна отключена.
int display/window/size/mode = 0 🔗
Режим главного окна. См. WindowMode для возможных значений и того, как ведет себя каждый режим.
Примечание: Встраивание игры доступно только в режиме «Оконный».
bool display/window/size/no_focus = false 🔗
Главное окно не может быть сфокусировано. Окно без фокуса будет игнорировать весь ввод, кроме щелчков мыши.
bool display/window/size/resizable = true 🔗
Если true, позволяет изменять размер окна по умолчанию.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить, можно ли изменять размер окна во время выполнения, установите Window.unresizable вместо этого в корневом окне, которое можно получить с помощью get_viewport().get_window(). Window.unresizable принимает противоположное значение этого параметра.
Примечание: Некоторые менеджеры окон можно настроить так, чтобы они игнорировали статус неизменяемого размера окна. Не полагайтесь на этот параметр как на гарантию того, что окно никогда не будет изменять размер.
Примечание: Этот параметр игнорируется в iOS.
bool display/window/size/sharp_corners = false 🔗
Если true, главное окно по умолчанию использует острые углы.
Примечание: Это свойство реализовано только в Windows (11).
bool display/window/size/transparent = false 🔗
Если true, включается подсказка оконного менеджера о том, что фон главного окна может быть прозрачным. Это не делает фон фактически прозрачным. Для прозрачности фона необходимо также сделать прозрачным корневую область просмотра, включив rendering/viewport/transparent_background.
Примечание: Чтобы использовать прозрачный экран-заставку, установите для application/boot_splash/bg_color значение Color(0, 0, 0, 0).
Примечание: Этот параметр не действует, если для display/window/per_pixel_transparency/allowed установлено значение false.
Примечание: Этот параметр не действует на Android, поскольку прозрачность контролируется только через display/window/per_pixel_transparency/allowed.
int display/window/size/viewport_height = 648 🔗
Устанавливает высоту основного окна просмотра игры. На настольных платформах это также начальная высота окна, представленная прямоугольником цвета индиго в 2D-редакторе. Настройки режима растяжения также используют это в качестве ссылки при использовании режимов растяжения canvas_items или viewport. См. также display/window/size/viewport_width, display/window/size/window_width_override и display/window/size/window_height_override.
int display/window/size/viewport_width = 1152 🔗
Устанавливает ширину основного окна просмотра игры. На настольных платформах это также начальная ширина окна, представленная прямоугольником цвета индиго в 2D-редакторе. Настройки режима растяжения также используют это в качестве ссылки при использовании режимов растяжения canvas_items или viewport. См. также display/window/size/viewport_height, display/window/size/window_width_override и display/window/size/window_height_override.
int display/window/size/window_height_override = 0 🔗
На настольных платформах переопределяет начальную высоту окна игры. См. также display/window/size/window_width_override, display/window/size/viewport_width и display/window/size/viewport_height.
Примечание: По умолчанию или при установке на 0 начальная высота окна равна display/window/size/viewport_height. Этот параметр игнорируется в iOS, Android и Web.
int display/window/size/window_width_override = 0 🔗
На настольных платформах переопределяет начальную ширину окна игры. См. также display/window/size/window_height_override, display/window/size/viewport_width и display/window/size/viewport_height.
Примечание: По умолчанию или при установке на 0 начальная ширина окна равна display/window/size/viewport_width. Этот параметр игнорируется на iOS, Android и в Web.
String display/window/stretch/aspect = "keep" 🔗
Defines how the aspect ratio of the base size is preserved when stretching to fit the resolution of the window or screen.
"ignore": Ignore the aspect ratio when stretching the screen. This means that the original resolution will be stretched to exactly fill the screen, even if it's wider or narrower. This may result in non-uniform stretching: things looking wider or taller than designed.
"keep": Keep aspect ratio when stretching the screen. This means that the viewport retains its original size regardless of the screen resolution, and black bars will be added to the top/bottom of the screen ("letterboxing") or the sides ("pillarboxing").
"keep_width": Keep aspect ratio when stretching the screen. If the screen is wider than the base size, black bars are added at the left and right (pillarboxing). But if the screen is taller than the base resolution, the viewport will be grown in the vertical direction (and more content will be visible at the bottom). You can also think of this as "Expand Vertically".
"keep_height": Keep aspect ratio when stretching the screen. If the screen is taller than the base size, black bars are added at the top and bottom (letterboxing). But if the screen is wider than the base resolution, the viewport will be grown in the horizontal direction (and more content will be visible to the right). You can also think of this as "Expand Horizontally".
"expand": Keep aspect ratio when stretching the screen, but keep neither the base width nor height. Depending on the screen aspect ratio, the viewport will either be larger in the horizontal direction (if the screen is wider than the base size) or in the vertical direction (if the screen is taller than the original size). This is the default for projects created starting in Godot 4.7.
String display/window/stretch/mode = "disabled" 🔗
Defines how the base size is stretched to fit the resolution of the window or screen.
"disabled": No stretching happens. One unit in the scene corresponds to one pixel on the screen. In this mode, display/window/stretch/aspect has no effect. Recommended for non-game applications.
"canvas_items": The base size specified in width and height in the project settings is stretched to cover the whole screen (taking display/window/stretch/aspect into account). This means that everything is rendered directly at the target resolution. 3D is unaffected, while in 2D, there is no longer a 1:1 correspondence between sprite pixels and screen pixels, which may result in scaling artifacts. Recommended for most games that don't use a pixel art aesthetic, although it is possible to use this stretch mode for pixel art games too (especially in 3D). This is the default for projects created starting in Godot 4.7.
"viewport": The size of the root Viewport is set precisely to the base size specified in the Project Settings' Display section. The scene is rendered to this viewport first. Finally, this viewport is scaled to fit the screen (taking display/window/stretch/aspect into account). Recommended for games that use a pixel art aesthetic.
float display/window/stretch/scale = 1.0 🔗
Множитель масштабного коэффициента для использования для 2D-элементов. Он умножает конечный масштабный коэффициент, определяемый display/window/stretch/mode. Если используется режим растяжения Disabled, этот масштабный коэффициент применяется как есть. Его можно настроить, чтобы сделать пользовательский интерфейс более удобным для чтения на определенных дисплеях.
String display/window/stretch/scale_mode = "fractional" 🔗
Политика, используемая для определения окончательного коэффициента масштабирования для 2D-элементов. Это влияет на то, как применяется display/window/stretch/scale, в дополнение к автоматическому коэффициенту масштабирования, определяемому display/window/stretch/mode.
"fractional": Коэффициент масштабирования не будет изменяться.
"integer": Коэффициент масштабирования будет округлен до целого значения, что означает, что размер экрана всегда будет кратным целому числу базового размера области просмотра. Это обеспечивает четкое изображение в стиле пиксельной графики.
Примечание: При использовании целочисленного масштабирования в режиме растяжения изменение размера окна до размера меньше базового размера области просмотра приведет к обрезке содержимого. Рекомендуется предотвратить это, установив Window.min_size равным значению базового размера области просмотра, определенного в display/window/size/viewport_width и display/window/size/viewport_height.
bool display/window/subwindows/embed_subwindows = true 🔗
If true, subwindows are embedded in the main window (this is also called single-window mode). Single-window mode can be faster as it does not need to create a separate window for every popup and tooltip, which can be a slow operation depending on the operating system and rendering method in use.
If false, subwindows are created as separate windows (this is also called multi-window mode). This allows them to be moved outside the main window and use native operating system window decorations.
This is equivalent to EditorSettings.interface/editor/display/single_window_mode in the editor.
int display/window/vsync/vsync_mode = 1 🔗
Sets the V-Sync mode for the main game window. The editor's own V-Sync mode can be set using EditorSettings.interface/editor/display/vsync_mode.
See VSyncMode for possible values and how they affect the behavior of your application.
Depending on the platform and rendering method, the engine will fall back to Enabled if the desired mode is not supported.
V-Sync can be disabled on the command line using the --disable-vsync command line argument.
Note: The Adaptive and Mailbox V-Sync modes are only supported in the Forward+ and Mobile rendering methods, not Compatibility.
Note: This property is only read when the project starts. To change the V-Sync mode at runtime, call DisplayServer.window_set_vsync_mode() instead.
String dotnet/project/assembly_name = "" 🔗
Имя сборки .NET. Это имя используется в качестве имени файлов .csproj и .sln. По умолчанию оно установлено на имя проекта (application/config/name), что позволяет изменить его в будущем, не затрагивая сборку .NET.
int dotnet/project/assembly_reload_attempts = 3 🔗
Количество попыток перезагрузки сборки после пересборки сборок .NET. Фактически также тайм-аут в секундах для ожидания завершения выгрузки сборок скриптов.
String dotnet/project/solution_directory = "" 🔗
Каталог, содержащий файл .sln. По умолчанию файлы .sln находятся в корне каталога проекта, рядом с файлами project.godot и .csproj.
Изменение этого значения позволяет настроить многопроектный сценарий, в котором есть несколько .csproj. Имейте в виду, что проект Godot считается одним из проектов C# в рабочей области, и его корневой каталог должен содержать project.godot и .csproj рядом друг с другом.
bool editor/export/convert_text_resources_to_binary = true 🔗
Если true, файлы текстового ресурса (tres) и текстовой сцены (tscn) преобразуются в соответствующий двоичный формат при экспорте. Это уменьшает размеры файлов и немного ускоряет загрузку.
Примечание: Поскольку расширение файла ресурса может измениться в экспортированном проекте, настоятельно рекомендуется использовать @GDScript.load() или ResourceLoader вместо FileAccess для динамической загрузки ресурсов.
Примечание: Файл настроек проекта (project.godot) всегда будет преобразован в двоичный формат при экспорте, независимо от этой настройки.
int editor/import/atlas_max_width = 2048 🔗
Максимальная ширина, используемая при импорте текстур в качестве атласа. Значение будет округлено до ближайшей степени двойки при использовании. Используйте это, чтобы предотвратить слишком большой рост импортированных текстур в другом направлении.
bool editor/import/reimport_missing_imported_files = true 🔗
There is currently no description for this property. Please help us by contributing one!
bool editor/import/use_multiple_threads = true 🔗
Если true, импорт ресурсов выполняется в несколько потоков.
int editor/movie_writer/audio_bit_depth = 16 🔗
Количество бит на аудиосэмпл, записываемое в файл .avi. Поддерживаются только 16- и 32-битные форматы.
bool editor/movie_writer/disable_vsync = false 🔗
Если true, запрашивает отключение V-Sync при записи фильма (аналогично установке display/window/vsync/vsync_mode в Disabled). Это может ускорить запись видео, если оборудование достаточно быстрое для рендеринга, кодирования и сохранения видео с частотой кадров выше частоты обновления монитора.
Примечание: editor/movie_writer/disable_vsync не имеет никакого эффекта, если операционная система или графический драйвер принудительно включают V-Sync и у приложений нет возможности отключить его.
int editor/movie_writer/fps = 60 🔗
Количество кадров в секунду для записи в видео при записи фильма. Скорость симуляции будет подстраиваться так, чтобы всегда соответствовать указанной частоте кадров, что означает, что движок будет работать медленнее при более высоких значениях editor/movie_writer/fps. Определенные значения FPS потребуют от вас настройки editor/movie_writer/mix_rate, чтобы предотвратить рассинхронизацию звука с течением времени.
Это можно указать вручную в командной строке с помощью --fixed-fps <fps> аргумента командной строки.
int editor/movie_writer/mix_rate = 48000 🔗
Скорость аудиомикса, используемая в записанном аудио при записи фильма (в Гц). Может отличаться от audio/driver/mix_rate, но это значение должно делиться на editor/movie_writer/fps, чтобы предотвратить рассинхронизацию звука с течением времени.
String editor/movie_writer/movie_file = "" 🔗
Путь к выходу фильма. Расширение файла определяет используемый MovieWriter.
Godot имеет 3 встроенных MovieWriter:
Контейнер OGV с Theora для видео и Vorbis для аудио (расширение файла
.ogv). Сжатие с потерями, файлы среднего размера, быстрое кодирование. Качество сжатия с потерями можно регулировать, изменяя editor/movie_writer/video_quality и editor/movie_writer/ogv/audio_quality. Полученный файл можно просмотреть в Godot с помощью VideoStreamPlayer и большинства видеоплееров, но не в веб-браузерах, поскольку они не поддерживают Theora.Контейнер AVI с MJPEG для видео и несжатого аудио (расширение файла
.avi). Сжатие с потерями, средние размеры файлов, быстрое кодирование. Качество сжатия с потерями можно настроить, изменив editor/movie_writer/video_quality. Полученный файл можно просмотреть в большинстве видеоплееров, но для просмотра в Интернете или с помощью Godot его необходимо конвертировать в другой формат VideoStreamPlayer. MJPEG не поддерживает прозрачность. В настоящее время размер выходного файла AVI ограничен 4 ГБ.PNG Последовательность изображений для видео и WAV для аудио (расширение файла
.png). Сжатие без потерь, большой размер файлов, медленное кодирование. Разработано для кодирования в видеофайл с помощью другой программы, например, FFmpeg после записи. Прозрачность в настоящее время не поддерживается, даже если корневая область просмотра настроена как прозрачная.
Если вам необходимо выполнить кодирование в другой формат или передать поток через стороннее программное обеспечение, вы можете расширить этот класс MovieWriter для создания собственных средств записи фильмов.
При использовании вывода в формате PNG номер кадра будет добавлен в конец имени файла. Он начинается с 0 и дополняется 8 цифрами для обеспечения правильной сортировки и более легкой обработки. Например, если путь вывода — /tmp/hello.png, первые два кадра будут /tmp/hello00000000.png и /tmp/hello00000001.png. Аудио будет сохранено в /tmp/hello.wav.
float editor/movie_writer/ogv/audio_quality = 0.5 🔗
Качество кодирования звука, используемое при записи звука Vorbis в файл, находится в диапазоне от -0.1 до 1.0 (включительно). Более высокие значения quality обеспечивают лучшее звучание за счёт увеличения размера файла. Даже при качестве 1.0 сжатие остаётся с потерями.
Примечание: Это не влияет на качество видео, которым управляет editor/movie_writer/video_quality.
int editor/movie_writer/ogv/encoding_speed = 4 🔗
Компромисс между скоростью кодирования и эффективностью сжатия. Скорость 1 — самая медленная, но обеспечивает наилучшее сжатие. Скорость 4 — самая быстрая, но обеспечивает наихудшее сжатие. Качество видео обычно не сильно зависит от этого параметра.
int editor/movie_writer/ogv/keyframe_interval = 64 🔗
Принудительно устанавливает ключевые кадры с заданным интервалом (в количестве кадров). Более высокие значения могут улучшить сжатие до определённого уровня за счёт увеличения задержки при поиске.
int editor/movie_writer/speaker_mode = 0 🔗
Режим динамика, который будет использоваться в записанном звуке при записи фильма. См. SpeakerMode для возможных значений.
float editor/movie_writer/video_quality = 0.75 🔗
Качество кодирования видео, используемое при записи видео Theora или AVI (MJPEG) в файл, находится в диапазоне от 0.0 до 1.0 (включительно). Более высокие значения quality обеспечивают более качественное изображение за счёт увеличения размера файла. Рекомендуемые значения quality находятся в диапазоне от 0.75 до 0.9. Даже при качестве 1.0 сжатие остаётся с потерями.
String editor/naming/default_signal_callback_name = "_on_{node_name}_{signal_name}" 🔗
Формат имени обратного вызова сигнала по умолчанию (в диалоге подключения сигнала). Доступны следующие подстановки: {NodeName}, {nodeName}, {node_name}, {SignalName}, {signalName} и {signal_name}.
String editor/naming/default_signal_callback_to_self_name = "_on_{signal_name}" 🔗
Формат имени обратного вызова сигнала по умолчанию, когда сигнал подключается к тому же узлу, который его испускает (в диалоге подключения сигнала). Доступны следующие подстановки: {NodeName}, {nodeName}, {node_name}, {SignalName}, {signalName} и {signal_name}.
int editor/naming/node_name_casing = 0 🔗
При автоматическом создании имен узлов установите тип регистра, который будет использоваться в этом проекте. Это в основном настройка редактора.
int editor/naming/node_name_num_separator = 0 🔗
Что использовать для отделения имени узла от номера. Это в основном настройка редактора.
int editor/naming/scene_name_casing = 2 🔗
При генерации имен файлов сцен из корневого узла сцены установите тип регистра для использования в этом проекте. Это в основном настройка редактора.
int editor/naming/script_name_casing = 0 🔗
При генерации имен файлов скриптов из выбранного узла задайте тип регистра для использования в этом проекте. Это в основном настройка редактора.
String editor/run/main_run_args = "" 🔗
Аргументы командной строки для добавления к собственной командной строке Godot при запуске проекта. Это не влияет на сам редактор.
Можно заставить другой исполняемый файл запустить Godot, используя заполнитель %command%. Заполнитель будет заменен собственной командной строкой Godot. Аргументы, специфичные для программы, должны быть размещены перед заполнителем, тогда как аргументы, специфичные для Godot, должны быть размещены после заполнителя.
Например, это можно использовать для принудительного запуска проекта на выделенном GPU в системе NVIDIA Optimus на Linux:
prime-run %command%
PackedStringArray editor/script/search_in_file_extensions 🔗
Расширения текстовых файлов для включения в функцию "Найти в файлах" редактора сценариев. Вы можете добавить, например, tscn, если хотите также анализировать файлы сцен, особенно если вы используете встроенные скрипты, которые сериализуются в файлах сцен.
Note: The returned array is copied and any changes to it will not update the original property value. See PackedStringArray for more details.
String editor/script/templates_search_path = "res://script_templates" 🔗
Путь поиска шаблонов скриптов, специфичных для проекта. Godot будет искать шаблоны скриптов как в пути, специфичном для редактора, так и в этом пути, специфичном для проекта.
bool editor/version_control/autoload_on_startup = false 🔗
There is currently no description for this property. Please help us by contributing one!
String editor/version_control/plugin_name = "" 🔗
There is currently no description for this property. Please help us by contributing one!
bool filesystem/import/blender/enabled = true 🔗
Если true, файлы сцен Blender 3D с расширением .blend будут импортированы путем преобразования их в glTF 2.0.
Для этого требуется настроить путь к исполняемому файлу Blender в настройке EditorSettings.filesystem/import/blender/blender_path. Требуется Blender 3.0 или более поздняя версия.
bool filesystem/import/blender/enabled.android = false 🔗
Переопределение для filesystem/import/blender/enabled на Android, где к Blender невозможно легко получить доступ из Godot.
bool filesystem/import/blender/enabled.web = false 🔗
Переопределите filesystem/import/blender/enabled в Интернете, где к Blender невозможно легко получить доступ из Godot.
bool filesystem/import/fbx2gltf/enabled = true 🔗
Если true, файлы сцен Autodesk FBX 3D с расширением .fbx будут импортированы путем преобразования их в glTF 2.0.
Для этого необходимо настроить путь к исполняемому файлу FBX2glTF в настройках редактора в EditorSettings.filesystem/import/fbx/fbx2gltf_path.
bool filesystem/import/fbx2gltf/enabled.android = false 🔗
Переопределение для filesystem/import/fbx2gltf/enabled на Android, где FBX2glTF не может быть легко доступен из Godot.
bool filesystem/import/fbx2gltf/enabled.web = false 🔗
Переопределите filesystem/import/fbx2gltf/enabled в Web, где к FBX2glTF невозможно легко получить доступ из Godot.
int gui/common/default_scroll_deadzone = 0 🔗
Значение по умолчанию для ScrollContainer.scroll_deadzone, которое будет использоваться для всех ScrollContainer, если не будет переопределено.
int gui/common/drag_threshold = 10 🔗
Минимальное расстояние, на которое должен переместиться курсор мыши при нажатии, прежде чем начнется операция перетаскивания в окне просмотра по умолчанию. Для пользовательских окон просмотра см. Viewport.gui_drag_threshold.
int gui/common/show_focus_state_on_pointer_event = 1 🔗
Determines whether a Control should visually indicate focus when that focus is gained using a mouse or touch input.
Never (
0) show the focused state for mouse/touch input.Text Input Controls (
1) show the focused state even if that focus was gained via mouse/touch input (similar to browser behavior).Always (
2) show the focused state, even if that focus was gained via mouse/touch input.
bool gui/common/snap_controls_to_pixels = true 🔗
Если true, привязывает вершины узла Control к ближайшему пикселю, чтобы они оставались четкими даже при перемещении или масштабировании камеры.
int gui/common/swap_cancel_ok = 0 🔗
Как расположить кнопки «Отмена» и «ОК» в окнах AcceptDialog проекта. На разных платформах действуют разные правила, которые можно переопределить с помощью этой настройки.
Авто следует правилам платформы: сначала «ОК» в Windows, KDE и LXQt; сначала «Отмена» в macOS и других средах рабочего стола Linux.
Сначала «Отмена» принудительно устанавливает порядок «Отмена/ОК».
Сначала «ОК» принудительно устанавливает порядок «ОК/Отмена».
Чтобы проверить, поменяны ли эти кнопки местами во время выполнения, используйте метод DisplayServer.get_swap_cancel_ok.
Примечание: Это не влияет на нативные диалоги, такие как те, которые создаются DisplayServer.dialog_show().
int gui/common/text_edit_undo_stack_max_size = 1024 🔗
Максимальный размер истории отмен/повторов для полей TextEdit.
bool gui/fonts/dynamic_fonts/use_oversampling = true 🔗
Если установлено значение true и параметр display/window/stretch/mode установлен на "canvas_items", то в главном окне включается передискретизация шрифтов и DPITexture. Используйте Viewport.oversampling для управления передискретизацией в других окнах просмотра и окнах.
String gui/theme/custom = "" 🔗
Путь к пользовательскому файлу ресурсов Theme для использования в проекте (.theme или общее расширение .tres/.res).
String gui/theme/custom_font = "" 🔗
Путь к пользовательскому ресурсу Font, который будет использоваться по умолчанию для всех элементов графического интерфейса проекта.
int gui/theme/default_font_antialiasing = 1 🔗
Режим сглаживания шрифта для шрифта проекта по умолчанию. См. FontFile.antialiasing.
Примечание: Этот параметр не влияет на пользовательские Font, используемые в проекте. Вместо этого используйте док-станцию Import (см. ResourceImporterDynamicFont.antialiasing).
bool gui/theme/default_font_generate_mipmaps = false 🔗
Если установлено значение true, шрифт по умолчанию будет иметь сгенерированные mip-карты. Это предотвращает зернистость текста при уменьшении масштаба Control или при просмотре Label3D с большого расстояния (если Label3D.texture_filter установлен в режим, который отображает mip-карты).
Включение gui/theme/default_font_generate_mipmaps увеличивает время генерации шрифта и использование памяти. Включайте этот параметр только в том случае, если он вам действительно нужен.
Примечание: Этот параметр не влияет на пользовательские Font, используемые в проекте. Вместо этого используйте док-станцию Import (см. ResourceImporterDynamicFont.generate_mipmaps).
int gui/theme/default_font_hinting = 1 🔗
Режим хинтинга шрифта для шрифта проекта по умолчанию. См. FontFile.hinting.
Примечание: Этот параметр не влияет на пользовательские Font, используемые в проекте. Вместо этого используйте док-станцию Import (см. ResourceImporterDynamicFont.hinting).
bool gui/theme/default_font_multichannel_signed_distance_field = false 🔗
Если установлено значение true, шрифт по умолчанию будет использовать многоканальное поле знакового расстояния (MSDF) для четкой визуализации при любом размере. Поскольку этот подход не предполагает растеризацию шрифта каждый раз при изменении его размера, это позволяет изменять размер шрифта в реальном времени без потери производительности. Текст также не будет выглядеть зернистым для Control, которые масштабируются в уменьшенном масштабе (или для Label3D, просматриваемых с большого расстояния).
Рендеринг шрифта MSDF можно объединить с gui/theme/default_font_generate_mipmaps для дальнейшего улучшения качества визуализации шрифта при уменьшении масштаба.
Примечание: Этот параметр не влияет на пользовательские Font, используемые в проекте. Вместо этого используйте док-станцию Import (см. ResourceImporterDynamicFont.multichannel_signed_distance_field).
int gui/theme/default_font_subpixel_positioning = 1 🔗
Режим субпиксельного позиционирования глифа шрифта для шрифта проекта по умолчанию. См. FontFile.subpixel_positioning.
Примечание: Этот параметр не влияет на пользовательские Font, используемые в проекте. Вместо этого используйте док-станцию Import (см. ResourceImporterDynamicFont.subpixel_positioning).
float gui/theme/default_theme_scale = 1.0 🔗
Коэффициент масштабирования по умолчанию для элементов Control, если он не переопределен в Theme.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить масштаб темы по умолчанию во время выполнения, установите вместо этого ThemeDB.fallback_base_scale. Однако, чтобы настроить масштаб всех 2D-элементов во время выполнения, предпочтительнее использовать Window.content_scale_factor на корневом узле Window (поскольку это также влияет на переопределенные Theme). Подробнее см. Несколько разрешений в документации.
int gui/theme/lcd_subpixel_layout = 1 🔗
Субпиксельная раскладка ЖК-дисплея, используемая для сглаживания шрифтов. См. FontLCDSubpixelLayout.
float gui/timers/button_shortcut_feedback_highlight_time = 0.2 🔗
Если параметр BaseButton.shortcut_feedback включен, то это время, в течение которого BaseButton будет оставаться выделенной после применения сочетания клавиш. На эту продолжительность не влияет параметр Engine.time_scale.
int gui/timers/incremental_search_max_interval_msec = 2000 🔗
Настройка таймера для инкрементного поиска в элементах управления Tree, ItemList и т. д. (в миллисекундах).
float gui/timers/text_edit_idle_detect_sec = 3 🔗
Таймер для определения простоя в TextEdit (в секундах).
float gui/timers/tooltip_delay_sec = 0.5 🔗
Задержка по умолчанию для всплывающих подсказок (в секундах).
float gui/timers/tooltip_delay_sec.editor_hint = 0.5 🔗
Задержка всплывающих подсказок в редакторе.
Dictionary input/ui_accept 🔗
InputEventAction по умолчанию для подтверждения сфокусированной кнопки, меню или элемента списка или проверки ввода.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_accessibility_drag_and_drop 🔗
InputEventAction по умолчанию для запуска или завершения операции перетаскивания без использования мыши.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_cancel 🔗
InputEventAction по умолчанию для отмены модального или ожидающего ввода.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_close_dialog 🔗
Действие по умолчанию InputEventAction закрывает диалоговое окно.
Примечание: Действия по умолчанию ui_* нельзя удалить, поскольку они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_close_dialog.macos 🔗
Специфическая для macOS настройка сочетания клавиш для закрытия диалогового окна.
Dictionary input/ui_colorpicker_delete_preset 🔗
InputEventAction по умолчанию для удаления предустановки цвета в ColorPicker.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_copy 🔗
InputEventAction по умолчанию для копирования выделения в буфер обмена.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_cut 🔗
InputEventAction по умолчанию для вырезания выделения в буфер обмена.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_down 🔗
InputEventAction по умолчанию для перемещения вниз в пользовательском интерфейсе.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_end 🔗
InputEventAction по умолчанию для перехода к конечной позиции Control (например, последний элемент в ItemList или Tree), что соответствует поведению @GlobalScope.KEY_END в типичных системах пользовательского интерфейса для настольных компьютеров.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_filedialog_delete 🔗
Действие по умолчанию InputEventAction используется для удаления выбранного файла в FileDialog.
Примечание: Действия по умолчанию ui_* нельзя удалить, поскольку они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_filedialog_find 🔗
Действие по умолчанию InputEventAction открывает фильтр файлов в FileDialog.
Примечание: Действия по умолчанию ui_* нельзя удалить, поскольку они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_filedialog_focus_path 🔗
По умолчанию InputEventAction фокусирует поле редактирования пути в FileDialog.
Примечание: Действия ui_* по умолчанию нельзя удалить, поскольку они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_filedialog_focus_path.macos 🔗
Специфическая для macOS настройка сочетания клавиш для поля редактирования пути фокуса в FileDialog.
Dictionary input/ui_filedialog_refresh 🔗
InputEventAction по умолчанию для обновления содержимого текущего каталога FileDialog.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, могут быть изменены.
InputEventAction по умолчанию для переключения отображения скрытых файлов и каталогов в FileDialog.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_filedialog_up_one_level 🔗
InputEventAction по умолчанию для перехода на один каталог вверх в FileDialog.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_focus_mode 🔗
InputEventAction по умолчанию для переключения TextEdit input/ui_text_indent между перемещением фокуса клавиатуры на следующий Control в сцене и вводом символа Tab.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_focus_next 🔗
InputEventAction по умолчанию для фокусировки на следующем Control в сцене. Поведение фокусировки можно настроить через Control.focus_next.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_focus_prev 🔗
InputEventAction по умолчанию для фокусировки на предыдущем Control в сцене. Поведение фокусировки можно настроить через Control.focus_previous.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_graph_delete 🔗
InputEventAction по умолчанию для удаления GraphNode в GraphEdit.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_graph_duplicate 🔗
InputEventAction по умолчанию для дублирования GraphNode в GraphEdit.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_graph_follow_left 🔗
InputEventAction по умолчанию для отслеживания соединения порта ввода GraphNode.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_graph_follow_left.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для отслеживания подключения к входному порту GraphNode.
Dictionary input/ui_graph_follow_right 🔗
InputEventAction по умолчанию для отслеживания соединения выходного порта GraphNode.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_graph_follow_right.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для отслеживания выходного порта GraphNode.
Dictionary input/ui_home 🔗
InputEventAction по умолчанию для перехода к начальной позиции Control (например, первый элемент в ItemList или Tree), что соответствует поведению @GlobalScope.KEY_HOME в типичных системах пользовательского интерфейса для настольных компьютеров.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_left 🔗
InputEventAction по умолчанию для перемещения влево в пользовательском интерфейсе.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
InputEventAction по умолчанию для открытия контекстного меню в текстовом поле.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_page_down 🔗
InputEventAction по умолчанию для перехода на страницу вниз в Control (например, в ItemList или Tree), что соответствует поведению @GlobalScope.KEY_PAGEDOWN в типичных системах пользовательского интерфейса для настольных компьютеров.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_page_up 🔗
InputEventAction по умолчанию для перехода на страницу вверх в Control (например, в ItemList или Tree), что соответствует поведению @GlobalScope.KEY_PAGEUP в типичных системах пользовательского интерфейса для настольных компьютеров.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_paste 🔗
InputEventAction по умолчанию для вставки из буфера обмена.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_redo 🔗
InputEventAction по умолчанию для повтора отмененного действия.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_right 🔗
InputEventAction по умолчанию для перемещения вправо в пользовательском интерфейсе.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_select 🔗
InputEventAction по умолчанию для выбора элемента в Control (например, в ItemList или Tree).
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_swap_input_direction 🔗
По умолчанию InputEventAction для смены направления ввода, т.е. переключения между режимами слева направо и справа налево. Влияет на элементы управления редактированием текста (LineEdit, TextEdit).
Dictionary input/ui_text_add_selection_for_next_occurrence 🔗
Если в текстовых полях в данный момент активно выделение с последним курсором, выполняется поиск следующего вхождения выделения, добавление курсора и выбор следующего вхождения.
Если в данный момент нет активного выделения с последним курсором в текстовых полях, выполняется выбор слова, находящегося под курсором.
Действие может быть выполнено последовательно для всех вхождений выделения последнего курсора и для всех существующих курсоров.
Область просмотра настраивается на последний добавленный курсор.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_backspace 🔗
InputEventAction по умолчанию для удаления символа перед текстовым курсором.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_backspace_all_to_left 🔗
InputEventAction по умолчанию для удаления всего текста перед текстовым курсором.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_backspace_all_to_left.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для удаления всего текста перед текстовым курсором.
Dictionary input/ui_text_backspace_word 🔗
InputEventAction по умолчанию для удаления всех символов перед курсором до пробела или знака пунктуации.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_backspace_word.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для удаления слова.
Dictionary input/ui_text_caret_add_above 🔗
По умолчанию InputEventAction добавляет дополнительный символ над каждым символом в тексте.
Dictionary input/ui_text_caret_add_above.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для добавления курсора над каждым курсором.
Dictionary input/ui_text_caret_add_below 🔗
По умолчанию InputEventAction добавляет дополнительный курсор под каждым курсором текста.
Dictionary input/ui_text_caret_add_below.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для добавления курсора под каждым курсором.
Dictionary input/ui_text_caret_document_end 🔗
InputEventAction по умолчанию для перемещения текстового курсора в конец текста.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_document_end.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для перемещения текстового курсора в конец текста.
Dictionary input/ui_text_caret_document_start 🔗
InputEventAction по умолчанию для перемещения текстового курсора в начало текста.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_document_start.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для перемещения текстового курсора в начало текста.
Dictionary input/ui_text_caret_down 🔗
InputEventAction по умолчанию для перемещения текстового курсора вниз.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_left 🔗
InputEventAction по умолчанию для перемещения текстового курсора влево.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_line_end 🔗
InputEventAction по умолчанию для перемещения текстового курсора в конец строки.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_line_end.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для перемещения текстового курсора в конец строки.
Dictionary input/ui_text_caret_line_start 🔗
InputEventAction по умолчанию для перемещения текстового курсора в начало строки.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_line_start.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для перемещения текстового курсора в начало строки.
Dictionary input/ui_text_caret_page_down 🔗
InputEventAction по умолчанию для перемещения текстового курсора вниз на одну страницу.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control-ов. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_page_up 🔗
InputEventAction по умолчанию для перемещения текстового курсора на одну страницу вверх.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_right 🔗
InputEventAction по умолчанию для перемещения текстового курсора вправо.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_up 🔗
InputEventAction по умолчанию для перемещения текстового курсора вверх.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_word_left 🔗
InputEventAction по умолчанию для перемещения текстового курсора влево к следующему пробелу или знаку препинания.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_word_left.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для перемещения текстового курсора на одно слово назад.
Dictionary input/ui_text_caret_word_right 🔗
InputEventAction по умолчанию для перемещения текстового курсора вправо к следующему пробелу или знаку препинания.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_caret_word_right.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для перемещения текстового курсора вперед на одно слово.
Dictionary input/ui_text_clear_carets_and_selection 🔗
Если активен только один кареточный курсор с выбором, отменяет выбор.
Если активно несколько кареточных курсоров, удаляет вторичные каретки и отменяет их выбор.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_completion_accept 🔗
InputEventAction по умолчанию для приема подсказки автодополнения.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_completion_query 🔗
InputEventAction по умолчанию для запроса автодополнения.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_completion_replace 🔗
InputEventAction по умолчанию принимает подсказку автодополнения, заменяя существующий текст.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_dedent 🔗
InputEventAction по умолчанию для удаления отступа текста.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_delete 🔗
InputEventAction по умолчанию для удаления символа после текстового курсора.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_delete_all_to_right 🔗
InputEventAction по умолчанию для удаления всего текста после текстового курсора.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_delete_all_to_right.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для удаления всего текста после текстового курсора.
Dictionary input/ui_text_delete_word 🔗
InputEventAction по умолчанию для удаления всех символов после курсора до пробела или знака пунктуации.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_delete_word.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для удаления слова после текстового курсора.
Dictionary input/ui_text_indent 🔗
InputEventAction по умолчанию для отступа текущей строки.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_newline 🔗
InputEventAction по умолчанию для вставки новой строки в позицию текстового курсора.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_newline_above 🔗
InputEventAction по умолчанию для вставки новой строки перед текущей.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_newline_blank 🔗
InputEventAction по умолчанию для вставки новой строки после текущей.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_scroll_down 🔗
InputEventAction по умолчанию для прокрутки вниз на одну строку текста.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_scroll_down.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для прокрутки на одну строку вниз.
Dictionary input/ui_text_scroll_up 🔗
InputEventAction по умолчанию для прокрутки текста на одну строку вверх.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_scroll_up.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для прокрутки на одну строку вверх.
Dictionary input/ui_text_select_all 🔗
InputEventAction по умолчанию для выбора всего текста.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_select_word_under_caret 🔗
Если в данный момент нет активного выделения, выделяет слово, находящееся под курсором в текстовых полях. Если в данный момент активно выделение, отменяет текущее выделение.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_text_select_word_under_caret.macos 🔗
Специфическое для macOS переопределение сочетания клавиш для выбора слова, находящегося под курсором.
Dictionary input/ui_text_skip_selection_for_next_occurrence 🔗
Если в текстовых полях нет активного выделения с последним курсором, выполняется поиск следующего вхождения слова, находящегося под курсором, и перемещение курсора на следующее вхождение. Действие может быть выполнено последовательно для других вхождений слова под последним курсором.
Если в текстовых полях активно выделение с последним курсором, выполняется поиск следующего вхождения выделения, добавляет курсор, выбирает следующее вхождение, затем отменяет выделение предыдущего выделения и связанного с ним курсора. Действие может быть выполнено последовательно для других вхождений выделения последнего курсора.
Область просмотра настраивается на последний добавленный курсор.
Примечание: Действия по умолчанию ui_* не могут быть удалены, поскольку они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_submit 🔗
InputEventAction по умолчанию для отправки текстового поля.
Примечание: Действия по умолчанию ui_* не могут быть удалены, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, могут быть изменены.
Dictionary input/ui_text_toggle_insert_mode 🔗
InputEventAction по умолчанию для переключения режима вставки в текстовое поле. В режиме вставки вставка нового текста переопределяет символ после курсора, если только следующий символ не является новой строкой.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_undo 🔗
InputEventAction по умолчанию для отмены последнего действия.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_unicode_start 🔗
InputEventAction по умолчанию для начала ввода шестнадцатеричного кода символа Unicode в текстовое поле.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
Dictionary input/ui_up 🔗
InputEventAction по умолчанию для перемещения вверх в пользовательском интерфейсе.
Примечание: Действия по умолчанию ui_* нельзя удалить, так как они необходимы для внутренней логики нескольких Control. Однако события, назначенные действию, можно изменить.
bool input_devices/buffering/agile_event_flushing = false 🔗
Если true, события клавиш/касания/джойстика будут сбрасываться непосредственно перед каждым кадром бездействия и физики.
Если false, такие события будут сбрасываться только один раз за кадр процесса, между итерациями движка.
Включение этого может значительно улучшить отклик на ввод, особенно на устройствах, которым необходимо запускать несколько кадров физики на видимый (процессный) кадр, поскольку они не могут работать с целевой частотой кадров.
Примечание: В настоящее время реализовано только на Android.
bool input_devices/compatibility/legacy_just_pressed_behavior = false 🔗
Если true, Input.is_action_just_pressed() и Input.is_action_just_released() вернут true только если действие все еще находится в соответствующем состоянии, т. е. действие, нажатое и отпущенное в одном кадре, будет пропущено.
Если false, ввод не будет потерян.
Примечание: Почти во всех случаях следует предпочесть настройку false. Устаревшее поведение заключается в том, чтобы включить поддержку старых проектов, которые полагаются на старую логику, без внесения изменений в скрипт.
bool input_devices/joypads/ignore_joypad_on_unfocused_application = false 🔗
Если true, ввод с геймпада (включая датчики движения) и изменения светодиодной индикации будут игнорироваться, а вибрация геймпада будет прекращена, когда приложение не находится в фокусе.
String input_devices/pen_tablet/driver 🔗
Указывает используемый драйвер планшета. Если оставить пустым, будет использоваться драйвер по умолчанию.
Примечание: Используемый драйвер можно переопределить во время выполнения с помощью --tablet-driver аргумента командной строки.
Примечание: Используйте DisplayServer.tablet_set_current_driver() для переключения драйвера планшета во время выполнения.
String input_devices/pen_tablet/driver.windows 🔗
Переопределить для input_devices/pen_tablet/driver в Windows. Поддерживаемые значения:
auto(по умолчанию), используетwintab, если Windows Ink отключен в свойствах планшета Wacom или системных настройках, в противном случаеwinink.winink, использует собственный драйвер Wind. "Windows Ink".wintab, использует драйвер Wacom "WinTab".dummy, ввод с планшета отключен.
bool input_devices/pointing/android/disable_scroll_deadzone = false 🔗
Если true, отключает мертвую зону прокрутки на Android, позволяя регистрировать даже очень маленькие движения прокрутки. Это может повысить чувствительность прокрутки, но также может привести к непреднамеренной прокрутке от легких движений пальцев.
bool input_devices/pointing/android/enable_long_press_as_right_click = false 🔗
Если true, события длительного нажатия на сенсорном экране Android преобразуются в события щелчка правой кнопкой мыши.
bool input_devices/pointing/android/enable_pan_and_scale_gestures = false 🔗
Если true, на устройствах Android включены мультисенсорные жесты панорамирования и масштабирования.
bool input_devices/pointing/android/override_volume_buttons = false 🔗
Если true, изменение громкости системы отключено при использовании кнопок в приложении.
int input_devices/pointing/android/rotary_input_scroll_axis = 1 🔗
На устройствах Wear OS определяет, к какой оси колеса мыши относится вращательный ввод. Этот вращательный ввод обычно выполняется путем вращения физического или виртуального (сенсорного) безеля на смарт-часах.
bool input_devices/pointing/emulate_mouse_from_touch = true 🔗
Если true, отправляет события ввода мыши при нажатии или проведении по сенсорному экрану.
bool input_devices/pointing/emulate_touch_from_mouse = false 🔗
Если true, отправляет события сенсорного ввода при щелчке или перетаскивании мыши.
bool input_devices/sensors/enable_accelerometer = false 🔗
Если true, датчик акселерометра включен и Input.get_accelerometer() возвращает действительные данные.
bool input_devices/sensors/enable_gravity = false 🔗
Если true, датчик гравитации включен и Input.get_gravity() возвращает действительные данные.
bool input_devices/sensors/enable_gyroscope = false 🔗
Если true, датчик гироскопа включен и Input.get_gyroscope() возвращает действительные данные.
bool input_devices/sensors/enable_magnetometer = false 🔗
Если true, датчик магнитометра включен и Input.get_magnetometer() возвращает действительные данные.
String internationalization/locale/fallback = "en" 🔗
Локаль, к которой следует вернуться, если перевод на заданном языке недоступен. Если оставить пустым, будет использоваться en (английский).
Примечание: Не путать с TextServerFallback.
bool internationalization/locale/include_text_server_data = false 🔗
Если true, наборы правил итерации прерывания текстового сервера, словари и другие дополнительные данные включаются в экспортируемый проект.
Примечание: Данные текстового сервера "ICU / HarfBuzz / Graphite" включают словари для Бирманского, Китайского, Японского, Кхмерского, Лаосского и Тайского языков, а также правила переноса слов и строк Unicode Standard Annex #29 и Unicode Standard Annex #14. Размер данных составляет около 4 МБ.
Примечание: TextServerFallback не использует дополнительные данные.
int internationalization/locale/line_breaking_strictness = 0 🔗
Строгость правил переноса строк по умолчанию. Можно переопределить, добавив @lb={auto,loose,normal,strict} к коду языка.
Auto (
0) - строгость зависит от длины очереди.Loose (
1) - наименее строгий набор правил переноса строк. Обычно используется для коротких строк.Normal (
2) - наиболее распространенный набор правил разрыва строк.Strict (
3) - самый строгий набор правил разрыва строк.
См. Строгость переноса строк: свойство переноса строк для получения дополнительной информации.
String internationalization/locale/test = "" 🔗
Если не пусто, эта локаль будет использоваться вместо автоматически обнаруженной системной локали.
Примечание: Эта настройка также применяется к экспортированному проекту. Чтобы повлиять только на тестирование в редакторе, переопределите эту настройку с помощью редактора тега функции для целей тестирования локализации.
bool internationalization/pseudolocalization/double_vowels = false 🔗
Двойные гласные в строках во время псевдолокализации для имитации удлинения текста из-за локализации.
float internationalization/pseudolocalization/expansion_ratio = 0.0 🔗
Коэффициент расширения, используемый при псевдолокализации. Значение 0.3 достаточно для большинства практических целей и увеличит длину каждой строки на 30%.
bool internationalization/pseudolocalization/fake_bidi = false 🔗
Если true, эмулировать двунаправленный (справа налево) текст при включенной псевдолокализации. Это можно использовать для обнаружения проблем с RTL-макетом и зеркалированием пользовательского интерфейса, которые возникнут, если проект локализован для языков RTL, таких как арабский или иврит. См. также internationalization/rendering/force_right_to_left_layout_direction.
bool internationalization/pseudolocalization/override = false 🔗
Заменить все символы в строке на *. Полезно для поиска нелокализуемых строк.
String internationalization/pseudolocalization/prefix = "[" 🔗
Префикс, который будет добавлен к псевдолокализованной строке.
bool internationalization/pseudolocalization/replace_with_accents = true 🔗
Заменить все символы на их акцентированные варианты во время псевдолокализации.
bool internationalization/pseudolocalization/skip_placeholders = true 🔗
Пропустить заполнители для форматирования строк, например %s или %f во время псевдолокализации. Полезно для определения строк, которым нужны дополнительные управляющие символы для правильного отображения.
String internationalization/pseudolocalization/suffix = "]" 🔗
Суффикс, который будет добавлен к псевдолокализованной строке.
bool internationalization/pseudolocalization/use_pseudolocalization = false 🔗
Если true, включает псевдолокализацию для проекта. Это можно использовать для обнаружения непереводимых строк или проблем с макетом, которые могут возникнуть после локализации проекта на языках, имеющих более длинные строки, чем исходный язык.
Примечание: Это свойство считывается только при запуске проекта. Чтобы включить псевдолокализацию во время выполнения, используйте вместо этого TranslationServer.pseudolocalization_enabled.
bool internationalization/rendering/force_right_to_left_layout_direction = false 🔗
Принудительно устанавливать направление макета и направление написания текста RTL для всех элементов управления, даже если текущая локаль предназначена для использования макета слева направо и направления написания текста. Это следует включать только для целей тестирования. См. также internationalization/pseudolocalization/fake_bidi.
bool internationalization/rendering/root_node_auto_translate = true 🔗
Если true, корневой узел будет использовать Node.AUTO_TRANSLATE_MODE_ALWAYS, в противном случае будет использоваться Node.AUTO_TRANSLATE_MODE_DISABLED.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить режим автоматического перевода во время выполнения, вместо этого установите Node.auto_translate_mode SceneTree.root.
int internationalization/rendering/root_node_layout_direction = 0 🔗
Направление компоновки корневого узла по умолчанию.
String internationalization/rendering/text_driver = "" 🔗
Указывает TextServer для использования. Если оставить пустым, будет использоваться значение по умолчанию.
"ICU / HarfBuzz / Graphite" (TextServerAdvanced) — самый продвинутый текстовый драйвер, поддерживающий набор текста справа налево и сложные сценарии (для таких языков, как арабский, иврит и т. д.). Текстовый драйвер "Fallback" (TextServerFallback) не поддерживает набор текста справа налево и сложные сценарии.
Примечание: Используемый драйвер можно переопределить во время выполнения с помощью --text-driver аргумента командной строки.
Примечание: Доступен дополнительный текстовый драйвер Dummy, который отключает всю отрисовку текста и функциональность, связанную со шрифтами. Этот драйвер не указан в настройках проекта, но его можно включить при запуске редактора или проекта с помощью --text-driver Dummy аргумента командной строки.
Необязательное имя для слоя 2D-навигации 1. Если оставить пустым, слой будет отображаться как "Layer 1".
Необязательное имя для слоя 2D-навигации 2. Если оставить пустым, слой будет отображаться как "Layer 2".
Необязательное имя для слоя 2D-навигации 3. Если оставить пустым, слой будет отображаться как "Layer 3".
Необязательное имя для слоя 2D-навигации 4. Если оставить пустым, слой будет отображаться как "Layer 4".
Необязательное имя для слоя 2D-навигации 5. Если оставить пустым, слой будет отображаться как "Layer 5".
Необязательное имя для слоя 2D-навигации 6. Если оставить пустым, слой будет отображаться как "Layer 6".
Необязательное имя для слоя 2D-навигации 7. Если оставить пустым, слой будет отображаться как "Layer 7".
Необязательное имя для слоя 2D-навигации 8. Если оставить пустым, слой будет отображаться как "Layer 8".
Необязательное имя для слоя 2D-навигации 9. Если оставить пустым, слой будет отображаться как "Layer 9".
Необязательное имя для слоя 2D-навигации 10. Если оставить пустым, слой будет отображаться как "Layer 10".
Необязательное имя для слоя 2D-навигации 11. Если оставить пустым, слой будет отображаться как "Layer 11".
Необязательное имя для слоя 2D-навигации 12. Если оставить пустым, слой будет отображаться как "Layer 12".
Необязательное имя для слоя 2D-навигации 13. Если оставить пустым, слой будет отображаться как "Layer 13".
Необязательное имя для слоя 2D-навигации 14. Если оставить пустым, слой будет отображаться как "Layer 14".
Необязательное имя для слоя 2D-навигации 15. Если оставить пустым, слой будет отображаться как "Layer 15".
Необязательное имя для слоя 2D-навигации 16. Если оставить пустым, слой будет отображаться как "Layer 16".
Необязательное имя для слоя 2D-навигации 17. Если оставить пустым, слой будет отображаться как "Layer 17".
Необязательное имя для слоя 2D-навигации 18. Если оставить пустым, слой будет отображаться как "Layer 18".
Необязательное имя для слоя 2D-навигации 19. Если оставить пустым, слой будет отображаться как "Layer 19".
Необязательное имя для слоя 2D-навигации 20. Если оставить пустым, слой будет отображаться как "Layer 20".
Необязательное имя для слоя 2D-навигации 21. Если оставить пустым, слой будет отображаться как "Layer 21".
Необязательное имя для слоя 2D-навигации 22. Если оставить пустым, слой будет отображаться как "Layer 22".
Необязательное имя для слоя 2D-навигации 23. Если оставить пустым, слой будет отображаться как "Layer 23".
Необязательное имя для слоя 2D-навигации 24. Если оставить пустым, слой будет отображаться как "Layer 24".
Необязательное имя для слоя 2D-навигации 25. Если оставить пустым, слой будет отображаться как "Layer 25".
Необязательное имя для слоя 2D-навигации 26. Если оставить пустым, слой будет отображаться как "Layer 26".
Необязательное имя для слоя 2D-навигации 27. Если оставить пустым, слой будет отображаться как "Layer 27".
Необязательное имя для слоя 2D-навигации 28. Если оставить пустым, слой будет отображаться как "Layer 28".
Необязательное имя для слоя 2D-навигации 29. Если оставить пустым, слой будет отображаться как "Layer 29".
Необязательное имя для слоя 2D-навигации 30. Если оставить пустым, слой будет отображаться как "Layer 30".
Необязательное имя для слоя 2D-навигации 31. Если оставить пустым, слой будет отображаться как "Layer 31".
Необязательное имя для слоя 2D-навигации 32. Если оставить пустым, слой будет отображаться как "Layer 32".
String layer_names/2d_physics/layer_1 = "" 🔗
Необязательное имя для слоя 2D-физики 1. Если оставить пустым, слой будет отображаться как "Layer 1".
String layer_names/2d_physics/layer_2 = "" 🔗
Необязательное имя для слоя 2D-физики 2. Если оставить пустым, слой будет отображаться как "Layer 2".
String layer_names/2d_physics/layer_3 = "" 🔗
Необязательное имя для слоя 2D-физики 3. Если оставить пустым, слой будет отображаться как "Layer 3".
String layer_names/2d_physics/layer_4 = "" 🔗
Необязательное имя для слоя 2D-физики 4. Если оставить пустым, слой будет отображаться как "Layer 4".
String layer_names/2d_physics/layer_5 = "" 🔗
Необязательное имя для слоя 2D-физики 5. Если оставить пустым, слой будет отображаться как "Layer 5".
String layer_names/2d_physics/layer_6 = "" 🔗
Необязательное имя для слоя 2D-физики 6. Если оставить пустым, слой будет отображаться как "Layer 6".
String layer_names/2d_physics/layer_7 = "" 🔗
Необязательное имя для слоя 2D-физики 7. Если оставить пустым, слой будет отображаться как "Layer 7".
String layer_names/2d_physics/layer_8 = "" 🔗
Необязательное имя для слоя 2D-физики 8. Если оставить пустым, слой будет отображаться как "Layer 8".
String layer_names/2d_physics/layer_9 = "" 🔗
Необязательное имя для слоя 2D-физики 9. Если оставить пустым, слой будет отображаться как "Layer 9".
String layer_names/2d_physics/layer_10 = "" 🔗
Необязательное имя для слоя 2D-физики 10. Если оставить пустым, слой будет отображаться как "Layer 10".
String layer_names/2d_physics/layer_11 = "" 🔗
Необязательное имя для слоя 2D-физики 11. Если оставить пустым, слой будет отображаться как "Layer 11".
String layer_names/2d_physics/layer_12 = "" 🔗
Необязательное имя для слоя 2D-физики 12. Если оставить пустым, слой будет отображаться как "Layer 12".
String layer_names/2d_physics/layer_13 = "" 🔗
Необязательное имя для слоя 2D-физики 13. Если оставить пустым, слой будет отображаться как "Layer 13".
String layer_names/2d_physics/layer_14 = "" 🔗
Необязательное имя для слоя 2D-физики 14. Если оставить пустым, слой будет отображаться как "Layer 14".
String layer_names/2d_physics/layer_15 = "" 🔗
Необязательное имя для слоя 2D-физики 15. Если оставить пустым, слой будет отображаться как "Layer 15".
String layer_names/2d_physics/layer_16 = "" 🔗
Необязательное имя для слоя 2D-физики 16. Если оставить пустым, слой будет отображаться как "Layer 16".
String layer_names/2d_physics/layer_17 = "" 🔗
Необязательное имя для слоя 2D-физики 17. Если оставить пустым, слой будет отображаться как "Layer 17".
String layer_names/2d_physics/layer_18 = "" 🔗
Необязательное имя для слоя 2D-физики 18. Если оставить пустым, слой будет отображаться как "Layer 18".
String layer_names/2d_physics/layer_19 = "" 🔗
Необязательное имя для слоя 2D-физики 19. Если оставить пустым, слой будет отображаться как "Layer 19".
String layer_names/2d_physics/layer_20 = "" 🔗
Необязательное имя для слоя 2D-физики 20. Если оставить пустым, слой будет отображаться как "Layer 20".
String layer_names/2d_physics/layer_21 = "" 🔗
Необязательное имя для слоя 2D-физики 21. Если оставить пустым, слой будет отображаться как "Layer 21".
String layer_names/2d_physics/layer_22 = "" 🔗
Необязательное имя для слоя 2D-физики 22. Если оставить пустым, слой будет отображаться как "Layer 22".
String layer_names/2d_physics/layer_23 = "" 🔗
Необязательное имя для слоя 2D-физики 23. Если оставить пустым, слой будет отображаться как "Layer 23".
String layer_names/2d_physics/layer_24 = "" 🔗
Необязательное имя для слоя 2D-физики 24. Если оставить пустым, слой будет отображаться как "Layer 24".
String layer_names/2d_physics/layer_25 = "" 🔗
Необязательное имя для слоя 2D-физики 25. Если оставить пустым, слой будет отображаться как "Layer 25".
String layer_names/2d_physics/layer_26 = "" 🔗
Необязательное имя для слоя 2D-физики 26. Если оставить пустым, слой будет отображаться как "Layer 26".
String layer_names/2d_physics/layer_27 = "" 🔗
Необязательное имя для слоя 2D-физики 27. Если оставить пустым, слой будет отображаться как "Layer 27".
String layer_names/2d_physics/layer_28 = "" 🔗
Необязательное имя для слоя 2D-физики 28. Если оставить пустым, слой будет отображаться как "Layer 28".
String layer_names/2d_physics/layer_29 = "" 🔗
Необязательное имя для слоя 2D-физики 29. Если оставить пустым, слой будет отображаться как "Layer 29".
String layer_names/2d_physics/layer_30 = "" 🔗
Необязательное имя для слоя 2D-физики 30. Если оставить пустым, слой будет отображаться как "Layer 30".
String layer_names/2d_physics/layer_31 = "" 🔗
Необязательное имя для слоя 2D-физики 31. Если оставить пустым, слой будет отображаться как "Layer 31".
String layer_names/2d_physics/layer_32 = "" 🔗
Необязательное имя для слоя 2D-физики 32. Если оставить пустым, слой будет отображаться как "Layer 32".
String layer_names/2d_render/layer_1 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 1. Если оставить пустым, слой будет отображаться как "Layer 1".
String layer_names/2d_render/layer_2 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 2. Если оставить пустым, слой будет отображаться как "Layer 2".
String layer_names/2d_render/layer_3 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 3. Если оставить пустым, слой будет отображаться как "Layer 3".
String layer_names/2d_render/layer_4 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 4. Если оставить пустым, слой будет отображаться как "Layer 4".
String layer_names/2d_render/layer_5 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 5. Если оставить пустым, слой будет отображаться как "Layer 5".
String layer_names/2d_render/layer_6 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 6. Если оставить пустым, слой будет отображаться как "Layer 6".
String layer_names/2d_render/layer_7 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 7. Если оставить пустым, слой будет отображаться как "Layer 7".
String layer_names/2d_render/layer_8 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 8. Если оставить пустым, слой будет отображаться как "Layer 8".
String layer_names/2d_render/layer_9 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 9. Если оставить пустым, слой будет отображаться как "Layer 9".
String layer_names/2d_render/layer_10 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 10. Если оставить пустым, слой будет отображаться как "Layer 10".
String layer_names/2d_render/layer_11 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 11. Если оставить пустым, слой будет отображаться как "Layer 11".
String layer_names/2d_render/layer_12 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 12. Если оставить пустым, слой будет отображаться как "Layer 12".
String layer_names/2d_render/layer_13 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 13. Если оставить пустым, слой будет отображаться как "Layer 13".
String layer_names/2d_render/layer_14 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 14. Если оставить пустым, слой будет отображаться как "Layer 14".
String layer_names/2d_render/layer_15 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 15. Если оставить пустым, слой будет отображаться как "Layer 15".
String layer_names/2d_render/layer_16 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 16. Если оставить пустым, слой будет отображаться как "Layer 16".
String layer_names/2d_render/layer_17 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 17. Если оставить пустым, слой будет отображаться как "Layer 17".
String layer_names/2d_render/layer_18 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 18. Если оставить пустым, слой будет отображаться как "Layer 18".
String layer_names/2d_render/layer_19 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 19. Если оставить пустым, слой будет отображаться как "Layer 19".
String layer_names/2d_render/layer_20 = "" 🔗
Необязательное имя для слоя 2D-рендеринга 20. Если оставить пустым, слой будет отображаться как "Layer 20".
Необязательное имя для слоя 3D-навигации 1. Если оставить пустым, слой будет отображаться как "Layer 1".
Необязательное имя для слоя 3D-навигации 2. Если оставить пустым, слой будет отображаться как "Layer 2".
Необязательное имя для слоя 3D-навигации 3. Если оставить пустым, слой будет отображаться как "Layer 3".
Необязательное имя для слоя 3D-навигации 4. Если оставить пустым, слой будет отображаться как "Layer 4".
Необязательное имя для слоя 3D-навигации 5. Если оставить пустым, слой будет отображаться как "Layer 5".
Необязательное имя для слоя 3D-навигации 6. Если оставить пустым, слой будет отображаться как "Layer 6".
Необязательное имя для слоя 3D-навигации 7. Если оставить пустым, слой будет отображаться как "Layer 7".
Необязательное имя для слоя 3D-навигации 8. Если оставить пустым, слой будет отображаться как "Layer 8".
Необязательное имя для слоя 3D-навигации 9. Если оставить пустым, слой будет отображаться как "Layer 9".
Необязательное имя для слоя 3D-навигации 10. Если оставить пустым, слой будет отображаться как "Layer 10".
Необязательное имя для слоя 3D-навигации 11. Если оставить пустым, слой будет отображаться как "Layer 11".
Необязательное имя для слоя 3D-навигации 12. Если оставить пустым, слой будет отображаться как "Layer 12".
Необязательное имя для слоя 3D-навигации 13. Если оставить пустым, слой будет отображаться как "Layer 13".
Необязательное имя для слоя 3D-навигации 14. Если оставить пустым, слой будет отображаться как "Layer 14".
Необязательное имя для слоя 3D-навигации 15. Если оставить пустым, слой будет отображаться как "Layer 15".
Необязательное имя для слоя 3D-навигации 16. Если оставить пустым, слой будет отображаться как "Layer 16".
Необязательное имя для слоя 3D-навигации 17. Если оставить пустым, слой будет отображаться как "Layer 17".
Необязательное имя для слоя 3D-навигации 18. Если оставить пустым, слой будет отображаться как "Layer 18".
Необязательное имя для слоя 3D-навигации 19. Если оставить пустым, слой будет отображаться как "Layer 19".
Необязательное имя для слоя 3D-навигации 20. Если оставить пустым, слой будет отображаться как "Layer 20".
Необязательное имя для слоя 3D-навигации 21. Если оставить пустым, слой будет отображаться как "Layer 21".
Необязательное имя для слоя 3D-навигации 22. Если оставить пустым, слой будет отображаться как "Layer 22".
Необязательное имя для слоя 3D-навигации 23. Если оставить пустым, слой будет отображаться как "Layer 23".
Необязательное имя для слоя 3D-навигации 24. Если оставить пустым, слой будет отображаться как "Layer 24".
Необязательное имя для слоя 3D-навигации 25. Если оставить пустым, слой будет отображаться как "Layer 25".
Необязательное имя для слоя 3D-навигации 26. Если оставить пустым, слой будет отображаться как "Layer 26".
Необязательное имя для слоя 3D-навигации 27. Если оставить пустым, слой будет отображаться как "Layer 27".
Необязательное имя для слоя 3D-навигации 28. Если оставить пустым, слой будет отображаться как "Layer 28".
Необязательное имя для слоя 3D-навигации 29. Если оставить пустым, слой будет отображаться как "Layer 29".
Необязательное имя для слоя 3D-навигации 30. Если оставить пустым, слой будет отображаться как "Layer 30".
Необязательное имя для слоя 3D-навигации 31. Если оставить пустым, слой будет отображаться как "Layer 31".
Необязательное имя для слоя 3D-навигации 32. Если оставить пустым, слой будет отображаться как "Layer 32".
String layer_names/3d_physics/layer_1 = "" 🔗
Необязательное имя для слоя 3D-физики 1. Если оставить пустым, слой будет отображаться как "Layer 1".
String layer_names/3d_physics/layer_2 = "" 🔗
Необязательное имя для слоя 3D-физики 2. Если оставить пустым, слой будет отображаться как "Layer 2".
String layer_names/3d_physics/layer_3 = "" 🔗
Необязательное имя для слоя 3D-физики 3. Если оставить пустым, слой будет отображаться как "Layer 3".
String layer_names/3d_physics/layer_4 = "" 🔗
Необязательное имя для слоя 3D-физики 4. Если оставить пустым, слой будет отображаться как "Layer 4".
String layer_names/3d_physics/layer_5 = "" 🔗
Необязательное имя для слоя 3D-физики 5. Если оставить пустым, слой будет отображаться как "Layer 5".
String layer_names/3d_physics/layer_6 = "" 🔗
Необязательное имя для слоя 3D-физики 6. Если оставить пустым, слой будет отображаться как "Layer 6".
String layer_names/3d_physics/layer_7 = "" 🔗
Необязательное имя для слоя 3D-физики 7. Если оставить пустым, слой будет отображаться как "Layer 7".
String layer_names/3d_physics/layer_8 = "" 🔗
Необязательное имя для слоя 3D-физики 8. Если оставить пустым, слой будет отображаться как "Layer 8".
String layer_names/3d_physics/layer_9 = "" 🔗
Необязательное имя для слоя 3D-физики 9. Если оставить пустым, слой будет отображаться как "Layer 9".
String layer_names/3d_physics/layer_10 = "" 🔗
Необязательное имя для слоя 3D-физики 10. Если оставить пустым, слой будет отображаться как "Layer 10".
String layer_names/3d_physics/layer_11 = "" 🔗
Необязательное имя для слоя 3D-физики 11. Если оставить пустым, слой будет отображаться как "Layer 11".
String layer_names/3d_physics/layer_12 = "" 🔗
Необязательное имя для слоя 3D-физики 12. Если оставить пустым, слой будет отображаться как "Layer 12".
String layer_names/3d_physics/layer_13 = "" 🔗
Необязательное имя для слоя 3D-физики 13. Если оставить пустым, слой будет отображаться как "Layer 13".
String layer_names/3d_physics/layer_14 = "" 🔗
Необязательное имя для слоя 3D-физики 14. Если оставить пустым, слой будет отображаться как "Layer 14".
String layer_names/3d_physics/layer_15 = "" 🔗
Необязательное имя для слоя 3D-физики 15. Если оставить пустым, слой будет отображаться как "Layer 15".
String layer_names/3d_physics/layer_16 = "" 🔗
Необязательное имя для слоя 3D-физики 16. Если оставить пустым, слой будет отображаться как "Layer 16".
String layer_names/3d_physics/layer_17 = "" 🔗
Необязательное имя для слоя 3D-физики 17. Если оставить пустым, слой будет отображаться как "Layer 17".
String layer_names/3d_physics/layer_18 = "" 🔗
Необязательное имя для слоя 3D-физики 18. Если оставить пустым, слой будет отображаться как "Layer 18".
String layer_names/3d_physics/layer_19 = "" 🔗
Необязательное имя для слоя 3D-физики 19. Если оставить пустым, слой будет отображаться как "Layer 19".
String layer_names/3d_physics/layer_20 = "" 🔗
Необязательное имя для слоя 3D-физики 20. Если оставить пустым, слой будет отображаться как "Layer 20".
String layer_names/3d_physics/layer_21 = "" 🔗
Необязательное имя для слоя 3D-физики 21. Если оставить пустым, слой будет отображаться как "Layer 21".
String layer_names/3d_physics/layer_22 = "" 🔗
Необязательное имя для слоя 3D-физики 22. Если оставить пустым, слой будет отображаться как "Layer 22".
String layer_names/3d_physics/layer_23 = "" 🔗
Необязательное имя для слоя 3D-физики 23. Если оставить пустым, слой будет отображаться как "Layer 23".
String layer_names/3d_physics/layer_24 = "" 🔗
Необязательное имя для слоя 3D-физики 24. Если оставить пустым, слой будет отображаться как "Layer 24".
String layer_names/3d_physics/layer_25 = "" 🔗
Необязательное имя для слоя 3D-физики 25. Если оставить пустым, слой будет отображаться как "Layer 25".
String layer_names/3d_physics/layer_26 = "" 🔗
Необязательное имя для слоя 3D-физики 26. Если оставить пустым, слой будет отображаться как "Layer 26".
String layer_names/3d_physics/layer_27 = "" 🔗
Необязательное имя для слоя 3D-физики 27. Если оставить пустым, слой будет отображаться как "Layer 27".
String layer_names/3d_physics/layer_28 = "" 🔗
Необязательное имя для слоя 3D-физики 28. Если оставить пустым, слой будет отображаться как "Layer 28".
String layer_names/3d_physics/layer_29 = "" 🔗
Необязательное имя для слоя 3D-физики 29. Если оставить пустым, слой будет отображаться как "Layer 29".
String layer_names/3d_physics/layer_30 = "" 🔗
Необязательное имя для слоя 3D-физики 30. Если оставить пустым, слой будет отображаться как "Layer 30".
String layer_names/3d_physics/layer_31 = "" 🔗
Необязательное имя для слоя 3D-физики 31. Если оставить пустым, слой будет отображаться как "Layer 31".
String layer_names/3d_physics/layer_32 = "" 🔗
Необязательное имя для слоя 3D-физики 32. Если оставить пустым, слой будет отображаться как "Layer 32".
String layer_names/3d_render/layer_1 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 1. Если оставить пустым, слой будет отображаться как "Layer 1".
String layer_names/3d_render/layer_2 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 2. Если оставить пустым, слой будет отображаться как "Layer 2".
String layer_names/3d_render/layer_3 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 3. Если оставить пустым, слой будет отображаться как "Layer 3".
String layer_names/3d_render/layer_4 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 4. Если оставить пустым, слой будет отображаться как "Layer 4".
String layer_names/3d_render/layer_5 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 5. Если оставить пустым, слой будет отображаться как "Layer 5".
String layer_names/3d_render/layer_6 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 6. Если оставить пустым, слой будет отображаться как "Layer 6".
String layer_names/3d_render/layer_7 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 7. Если оставить пустым, слой будет отображаться как "Layer 7".
String layer_names/3d_render/layer_8 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 8. Если оставить пустым, слой будет отображаться как "Layer 8".
String layer_names/3d_render/layer_9 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 9. Если оставить пустым, слой будет отображаться как "Layer 9".
String layer_names/3d_render/layer_10 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 10. Если оставить пустым, слой будет отображаться как "Layer 10".
String layer_names/3d_render/layer_11 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 11. Если оставить пустым, слой будет отображаться как "Layer 11".
String layer_names/3d_render/layer_12 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 12. Если оставить пустым, слой будет отображаться как "Layer 12".
String layer_names/3d_render/layer_13 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 13. Если оставить пустым, слой будет отображаться как "Layer 13".
String layer_names/3d_render/layer_14 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 14. Если оставить пустым, слой будет отображаться как "Layer 14".
String layer_names/3d_render/layer_15 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 15. Если оставить пустым, слой будет отображаться как "Layer 15".
String layer_names/3d_render/layer_16 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 16. Если оставить пустым, слой будет отображаться как "Layer 16".
String layer_names/3d_render/layer_17 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 17. Если оставить пустым, слой будет отображаться как "Layer 17".
String layer_names/3d_render/layer_18 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 18. Если оставить пустым, слой будет отображаться как "Слой 18".
String layer_names/3d_render/layer_19 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 19. Если оставить пустым, слой будет отображаться как "Слой 19".
String layer_names/3d_render/layer_20 = "" 🔗
Необязательное имя для слоя 3D-рендеринга 20. Если оставить пустым, слой будет отображаться как "Слой 20".
String layer_names/avoidance/layer_1 = "" 🔗
Необязательное имя для слоя избегания навигации 1. Если оставить пустым, слой будет отображаться как "Слой 1".
String layer_names/avoidance/layer_2 = "" 🔗
Необязательное имя для слоя избегания навигации 2. Если оставить пустым, слой будет отображаться как "Слой 2".
String layer_names/avoidance/layer_3 = "" 🔗
Необязательное имя для слоя избегания навигации 3. Если оставить пустым, слой будет отображаться как "Слой 3".
String layer_names/avoidance/layer_4 = "" 🔗
Необязательное имя для слоя избегания навигации 4. Если оставить пустым, слой будет отображаться как "Слой 4".
String layer_names/avoidance/layer_5 = "" 🔗
Необязательное имя для слоя избегания навигации 5. Если оставить пустым, слой будет отображаться как "Слой 5".
String layer_names/avoidance/layer_6 = "" 🔗
Необязательное имя для слоя избегания навигации 6. Если оставить пустым, слой будет отображаться как "Слой 6".
String layer_names/avoidance/layer_7 = "" 🔗
Необязательное имя для слоя избегания навигации 7. Если оставить пустым, слой будет отображаться как "Слой 7".
String layer_names/avoidance/layer_8 = "" 🔗
Необязательное имя для слоя избегания навигации 8. Если оставить пустым, слой будет отображаться как "Слой 8".
String layer_names/avoidance/layer_9 = "" 🔗
Необязательное имя для слоя избегания навигации 9. Если оставить пустым, слой будет отображаться как "Слой 9".
String layer_names/avoidance/layer_10 = "" 🔗
Необязательное имя для слоя избегания навигации 10. Если оставить пустым, слой будет отображаться как "Слой 10".
String layer_names/avoidance/layer_11 = "" 🔗
Необязательное имя для слоя избегания навигации 11. Если оставить пустым, слой будет отображаться как "Слой 11".
String layer_names/avoidance/layer_12 = "" 🔗
Необязательное имя для слоя избегания навигации 12. Если оставить пустым, слой будет отображаться как "Слой 12".
String layer_names/avoidance/layer_13 = "" 🔗
Необязательное имя для слоя избегания навигации 13. Если оставить пустым, слой будет отображаться как "Слой 13".
String layer_names/avoidance/layer_14 = "" 🔗
Необязательное имя для слоя избегания навигации 14. Если оставить пустым, слой будет отображаться как "Слой 14".
String layer_names/avoidance/layer_15 = "" 🔗
Необязательное имя для слоя избегания навигации 15. Если оставить пустым, слой будет отображаться как "Слой 15".
String layer_names/avoidance/layer_16 = "" 🔗
Необязательное имя для слоя избегания навигации 16. Если оставить пустым, слой будет отображаться как "Слой 16".
String layer_names/avoidance/layer_17 = "" 🔗
Необязательное имя для слоя избегания навигации 17. Если оставить пустым, слой будет отображаться как "Слой 17".
String layer_names/avoidance/layer_18 = "" 🔗
Необязательное имя для слоя избегания навигации 18. Если оставить пустым, слой будет отображаться как "Слой 18".
String layer_names/avoidance/layer_19 = "" 🔗
Необязательное имя для слоя избегания навигации 19. Если оставить пустым, слой будет отображаться как "Слой 19".
String layer_names/avoidance/layer_20 = "" 🔗
Необязательное имя для слоя избегания навигации 20. Если оставить пустым, слой будет отображаться как "Слой 20".
String layer_names/avoidance/layer_21 = "" 🔗
Необязательное имя для слоя избегания навигации 21. Если оставить пустым, слой будет отображаться как "Слой 21".
String layer_names/avoidance/layer_22 = "" 🔗
Необязательное имя для слоя избегания навигации 22. Если оставить пустым, слой будет отображаться как "Слой 22".
String layer_names/avoidance/layer_23 = "" 🔗
Необязательное имя для слоя избегания навигации 23. Если оставить пустым, слой будет отображаться как "Слой 23".
String layer_names/avoidance/layer_24 = "" 🔗
Необязательное имя для слоя избегания навигации 24. Если оставить пустым, слой будет отображаться как "Слой 24".
String layer_names/avoidance/layer_25 = "" 🔗
Необязательное имя для слоя избегания навигации 25. Если оставить пустым, слой будет отображаться как "Слой 25".
String layer_names/avoidance/layer_26 = "" 🔗
Необязательное имя для слоя избегания навигации 26. Если оставить пустым, слой будет отображаться как "Слой 26".
String layer_names/avoidance/layer_27 = "" 🔗
Необязательное имя для слоя избегания навигации 27. Если оставить пустым, слой будет отображаться как "Слой 27".
String layer_names/avoidance/layer_28 = "" 🔗
Необязательное имя для слоя избегания навигации 28. Если оставить пустым, слой будет отображаться как "Слой 28".
String layer_names/avoidance/layer_29 = "" 🔗
Необязательное имя для слоя избегания навигации 29. Если оставить пустым, слой будет отображаться как "Слой 29".
String layer_names/avoidance/layer_30 = "" 🔗
Необязательное имя для слоя избегания навигации 30. Если оставить пустым, слой будет отображаться как "Слой 30".
String layer_names/avoidance/layer_31 = "" 🔗
Необязательное имя для слоя избегания навигации 31. Если оставить пустым, слой будет отображаться как "Слой 31".
String layer_names/avoidance/layer_32 = "" 🔗
Необязательное имя для слоя избегания навигации 31. Если оставить пустым, слой будет отображаться как "Слой 31".
int memory/limits/message_queue/max_size_mb = 32 🔗
Godot использует очередь сообщений для отсрочки некоторых вызовов функций. Если у вас закончилось место на ней (вы увидите ошибку), вы можете увеличить размер здесь.
Размер ячейки по умолчанию для навигационных карт 2D. См. NavigationServer2D.map_set_cell_size().
Поле соединения ребер по умолчанию для навигационных карт 2D. См. NavigationServer2D.map_set_edge_connection_margin().
Радиус соединения ссылок по умолчанию для навигационных карт 2D. См. NavigationServer2D.map_set_link_connection_radius().
Масштаб ячеек растеризатора слияния по умолчанию, для 2D-навигационных карт. См. NavigationServer2D.map_set_merge_rasterizer_cell_scale().
Задает, какой движок навигации использовать для 2D-навигации.
DEFAULT эквивалентно GodotNavigation2D, но может измениться в будущих релизах. Выберите явную реализацию, если хотите гарантировать, что ваш проект останется на том же движке.
GodotNavigation2D — это внутренний движок 2D-навигации Godot.
Dummy — это сервер 2D-навигации, который ничего не делает и возвращает только фиктивные значения, фактически отключая всю функциональность 2D-навигации.
Сторонние модули могут добавлять другие движки навигации для выбора с помощью этой настройки.
Если включено, навигационные регионы 2D будут использовать соединения по краям для соединения с другими навигационными регионами в непосредственной близости от границы соединения по краям навигационной карты. Эта настройка влияет только на навигационные карты World2D по умолчанию.
Если true, система навигации будет выводить предупреждения при использовании навигационной сетки с малым размером ячейки на навигационной карте большего размера, поскольку это часто приводит к ошибкам растеризации.
Если true, система навигации будет выводить предупреждения об ошибках слияния ребер навигационной сетки, возникающих в навигационных регионах или на картах.
Высота ячейки по умолчанию для 3D-карт навигации. См. NavigationServer3D.map_set_cell_height().
Размер ячейки по умолчанию для 3D-карт навигации. См. NavigationServer3D.map_set_cell_size().
Поле соединения краев по умолчанию для 3D-навигационных карт. See NavigationServer3D.map_set_edge_connection_margin().
Радиус соединения ссылок по умолчанию для 3D-навигационных карт. See NavigationServer3D.map_set_link_connection_radius().
Ориентация вверх по умолчанию для 3D-карт навигации. См. NavigationServer3D.map_set_up().
Масштаб ячеек слияния растеризатора по умолчанию для 3D-карт навигации. См. NavigationServer3D.map_set_merge_rasterizer_cell_scale().
Задает, какой движок навигации использовать для 3D-навигации.
DEFAULT эквивалентно GodotNavigation3D, но может измениться в будущих релизах. Выберите явную реализацию, если хотите гарантировать, что ваш проект останется на том же движке.
GodotNavigation3D — это внутренний движок 3D-навигации Godot.
Dummy — это сервер 3D-навигации, который ничего не делает и возвращает только фиктивные значения, фактически отключая всю функциональность 3D-навигации.
Сторонние модули могут добавлять другие движки навигации для выбора с помощью этой настройки.
Если включено, регионы навигации 3D будут использовать соединения по краям для соединения с другими регионами навигации в пределах границы соединения по краям карты навигации. Эта настройка , по умолчанию, влияет только на карты навигации World3D.
Если true, система навигации будет выводить предупреждения при использовании навигационной сетки с малым размером ячейки (или высотой в 3D) на навигационной карте большего размера, поскольку это часто приводит к ошибкам растеризации.
Если true, система навигации будет выводить предупреждения об ошибках слияния ребер навигационной сетки, возникающих в навигационных регионах или на картах.
Если включено и расчеты избегания используют несколько потоков, потоки выполняются с высоким приоритетом.
Если включено, расчеты избегания используют несколько потоков.
Если включено и асинхронное запекание навигационной сетки использует несколько потоков, потоки выполняются с высоким приоритетом.
Если включено, асинхронное запекание навигационной сетки использует несколько потоков.
Если эта функция включена и запекание может привести к сбою двигателя, запекание будет прервано и появится сообщение об ошибке с пояснением.
Максимальное количество потоков, которые могут одновременно выполнять запросы поиска пути на одном и том же графе поиска пути, например, на одной и той же навигационной карте. Дополнительные потоки увеличивают потребление памяти и время синхронизации из-за необходимости подготовки дополнительных копий данных для каждого потока. Значение -1 означает неограниченность, и используется максимально доступное количество процессоров ОС. По умолчанию 1, когда ОС не поддерживает потоки.
Если включено, синхронизация навигационной карты использует асинхронный процесс, который выполняется в фоновом потоке. Это позволяет избежать остановки основного потока, но добавляет дополнительную задержку к любому изменению навигационной карты.
Если эта опция включена, синхронизация областей навигации использует асинхронный процесс, работающий в фоновом потоке. Это позволяет избежать остановки основного потока, но добавляет дополнительную задержку к любым изменениям областей навигации.
int network/limits/debugger/max_chars_per_second = 32768 🔗
Максимальное количество символов, разрешенных для отправки в качестве вывода отладчика. При превышении этого значения содержимое отбрасывается. Это помогает не останавливать соединение отладчика.
int network/limits/debugger/max_errors_per_second = 400 🔗
Максимальное количество ошибок, которые разрешено отправлять отладчику. При превышении этого значения контент отбрасывается. Это помогает не останавливать соединение отладчика.
int network/limits/debugger/max_queued_messages = 2048 🔗
Максимальное количество сообщений в очереди отладчика. При превышении этого значения содержимое отбрасывается. Это помогает ограничить использование памяти отладчика.
int network/limits/debugger/max_warnings_per_second = 400 🔗
Максимальное количество предупреждений, которые разрешено отправлять отладчику. При превышении этого значения контент отбрасывается. Это помогает не останавливать соединение отладчика.
int network/limits/packet_peer_stream/max_buffer_po2 = 16 🔗
Размер пакета peer-потока по умолчанию для десериализации данных Godot (в байтах, указывается как степень двойки). Значение по умолчанию 16 равно 65 536 байтам. При превышении этого размера данные отбрасываются.
int network/limits/tcp/connect_timeout_seconds = 30 🔗
Тайм-аут (в секундах) для попыток подключения по протоколу TCP.
int network/limits/unix/connect_timeout_seconds = 30 🔗
Время ожидания (в секундах) для попыток подключения с использованием сокета домена UNIX.
int network/limits/webrtc/max_channel_in_buffer_kb = 64 🔗
Максимальный размер (в КБ) для входного буфера WebRTCDataChannel.
String network/tls/certificate_bundle_override = "" 🔗
Пакет сертификатов CA, используемый для TLS-соединений. Если значение параметра не пустое, он переопределит стандартный пакет сертификатов Mozilla Godot. Если оставить поле пустым, будет использоваться стандартный пакет сертификатов.
Если сомневаетесь, оставьте этот параметр пустым.
bool network/tls/enable_tls_v1.3 = true 🔗
Если true, включите согласование TLSv1.3.
Примечание: Поддерживается только при использовании Mbed TLS 3.0 или более поздней версии (пакеты дистрибутивов Linux могут быть скомпилированы с использованием более старых системных пакетов Mbed TLS), в противном случае максимальная поддерживаемая версия TLS всегда TLSv1.2.
float physics/2d/default_angular_damp = 1.0 🔗
Амортизация вращательного движения по умолчанию в 2D. Амортизация используется для постепенного замедления физических объектов с течением времени. RigidBodie-ы вернутся к этому значению при сочетании своих собственных значений амортизации и никакого значения амортизации области.
Предлагаемые значения находятся в диапазоне `` 0 `` до `` 30 ``. В значении `` 0 `` объекты будут продолжать перемещаться с той же скоростью. Большие значения остановят объект быстрее. Значение, равное или превышающему скорость тика физики (physics/common/physics_ticks_per_second) доведет объект в одну итерацию.
** Примечание: ** Расчеты амортизации Godot являются зависимыми от скорости, это означает, что если тела движутся быстрее, потребуется больше времени, чтобы остановиться. Они не имитируют инерцию, трение или сопротивление воздуха. Поэтому более тяжелые или более крупные тела будут терять скорость с той же пропорциональной скоростью, что и более легкие или меньшие тела.
Во время каждого тика физики Godot умножат линейную скорость RigidBodies на 1.0 - combined_damp / physics_ticks_per_second. По умолчанию тела объединяют сырые коэффициенты: combined_damp - это сумма сырого значения тела, и это значение или значение площади, в котором находится тело. См. DampMode.
Предупреждение: Расчеты затухания Godot зависят от частоты тиков симуляции. Изменение physics/common/physics_ticks_per_second может существенно изменить результаты и ощущения от вашей симуляции. Это справедливо для всего диапазона значений амортизации больше 0. Чтобы вернуться к похожим ощущениям, вам также нужно изменить значения амортизации. Это необходимое изменение не пропорционально и отличается от случая к случаю.
float physics/2d/default_gravity = 980.0 🔗
Сила гравитации по умолчанию в 2D (в пикселях в секунду в квадрате).
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить силу гравитации по умолчанию во время выполнения, используйте следующий пример кода:
# Установить силу гравитации по умолчанию на 980.
PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, PhysicsServer2D.AREA_PARAM_GRAVITY, 980)
// Установить силу гравитации по умолчанию на 980.
PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, PhysicsServer2D.AreaParameter.Gravity, 980);
Vector2 physics/2d/default_gravity_vector = Vector2(0, 1) 🔗
Направление гравитации по умолчанию в 2D.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить вектор гравитации по умолчанию во время выполнения, используйте следующий пример кода:
# Установить направление гравитации по умолчанию на `Vector2(0, 1)`.
PhysicsServer2D.area_set_param(get_viewport().find_world_2d().space, PhysicsServer2D.AREA_PARAM_GRAVITY_VECTOR, Vector2.DOWN)
// Установить направление гравитации по умолчанию на `Vector2(0, 1)`.
PhysicsServer2D.AreaSetParam(GetViewport().FindWorld2D().Space, PhysicsServer2D.AreaParameter.GravityVector, Vector2.Down)
float physics/2d/default_linear_damp = 0.1 🔗
Амортизация (damping) линейного движения по умолчанию в 2D. Амортизация используется для постепенного замедления физических объектов с течением времени. RigidBodies вернется к этому значению при объединении собственных значений амортизации, а значение амортизации области отсутствует.
Предлагаемые значения находятся в диапазоне от 0 до 30. При значении 0 объекты будут продолжать двигаться с той же скоростью. Большие значения остановят объект быстрее. Значение, равное или большее скорости физических тиков (physics/common/physics_ticks_per_second), остановит объект за одну итерацию.
Примечание: Расчеты амортизации Godot зависят от скорости, то есть телам, движущимся быстрее, потребуется больше времени, чтобы прийти в состояние покоя. Они не моделируют инерцию, трение или сопротивление воздуха. Поэтому более тяжелые или большие тела будут терять скорость с той же пропорциональной скоростью, что и более легкие или меньшие тела.
Во время каждого физического тика Godot умножает линейную скорость RigidBodies на 1.0 - combined_damp / physics_ticks_per_second, где combined_damp - это сумма линейной амортизации тела и этого значения или значения области, в которой находится тело, предполагая, что тело по умолчанию объединяет значения амортизации. См. DampMode.
Предупреждение: Расчеты затухания Godot зависят от частоты тиков симуляции. Изменение physics/common/physics_ticks_per_second может существенно изменить результаты и ощущения от вашей симуляции. Это справедливо для всего диапазона значений амортизации больше 0. Чтобы вернуться к похожим ощущениям, вам также нужно изменить значения амортизации. Это необходимое изменение не пропорционально и отличается от случая к случаю.
String physics/2d/physics_engine = "DEFAULT" 🔗
Устанавливает, какой физический движок использовать для 2D-физики.
DEFAULT в настоящее время эквивалентно GodotPhysics2D, но может измениться в будущих выпусках. Выберите явную реализацию, если хотите, чтобы ваш проект оставался на том же движке.
GodotPhysics2D — это внутренний 2D-физический движок Godot.
Dummy — это 2D-физический сервер, который ничего не делает и возвращает только фиктивные значения, фактически отключая все функции 2D-физики.
Сторонние расширения и модули могут добавлять другие физические движки для выбора с помощью этой настройки.
bool physics/2d/run_on_separate_thread = false 🔗
Если true, сервер 2D-физики работает в отдельном потоке, что позволяет эффективнее использовать многоядерные процессоры. Если false, сервер 2D-физики работает в основном потоке. Запуск сервера физики в отдельном потоке может повысить производительность, но ограничивает доступ к API только физическим процессом.
float physics/2d/sleep_threshold_angular = 0.13962634 🔗
Пороговая угловая скорость, ниже которой физическое тело 2D будет считаться неактивным. См. PhysicsServer2D.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD.
float physics/2d/sleep_threshold_linear = 2.0 🔗
Threshold linear velocity under which a 2D physics body will be considered inactive. See PhysicsServer2D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD.
Note: Only supported when using GodotPhysics3D. This project setting is ignored when using Jolt Physics.
float physics/2d/solver/contact_max_allowed_penetration = 0.3 🔗
Maximum distance a shape can penetrate another shape before it is considered a collision. See PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION.
Note: Only supported when using GodotPhysics3D. This project setting is ignored when using Jolt Physics.
float physics/2d/solver/contact_max_separation = 1.5 🔗
Максимальное расстояние, на которое может быть разделена одна фигура от другой, прежде чем они будут считаться разделенными, а контакт будет отброшен. См. PhysicsServer2D.SPACE_PARAM_CONTACT_MAX_SEPARATION.
float physics/2d/solver/contact_recycle_radius = 1.0 🔗
Максимальное расстояние, которое должна пройти пара тел, прежде чем их статус столкновения придется пересчитывать. См. PhysicsServer2D.SPACE_PARAM_CONTACT_RECYCLE_RADIUS.
float physics/2d/solver/default_constraint_bias = 0.2 🔗
Смещение решателя по умолчанию для всех физических ограничений. Определяет, насколько тела реагируют на соблюдение ограничений. См.PhysicsServer2D.SPACE_PARAM_CONSTRAINT_DEFAULT_BIAS.
Отдельные ограничения могут иметь определенное значение смещения (См. Joint2D.bias).
float physics/2d/solver/default_contact_bias = 0.8 🔗
Смещение решателя по умолчанию для всех физических контактов. Определяет, насколько тела реагируют, чтобы обеспечить разделение контактов. См.PhysicsServer2D.SPACE_PARAM_CONTACT_DEFAULT_BIAS.
Отдельные фигуры могут иметь определенное значение смещения (см. Shape2D.custom_solver_bias).
int physics/2d/solver/solver_iterations = 16 🔗
Количество итераций решателя для всех контактов и ограничений. Чем больше количество итераций, тем точнее будут столкновения. Однако большее количество итераций требует больше мощности ЦП, что может снизить производительность. См.PhysicsServer2D.SPACE_PARAM_SOLVER_ITERATIONS.
float physics/2d/time_before_sleep = 0.5 🔗
Время (в секундах) бездействия, по истечении которого физическое тело 2D перейдет в спящий режим. См.PhysicsServer2D.SPACE_PARAM_BODY_TIME_TO_SLEEP.
float physics/3d/default_angular_damp = 0.1 🔗
Амортизация вращательного движения по умолчанию в 3D. Амортизация используется для постепенного замедления физических объектов с течением времени. RigidBodies вернется к этому значению при объединении собственных значений демпфирования, а значение амортизации области отсутствует.
Предлагаемые значения находятся в диапазоне от 0 до 30. При значении 0 объекты будут продолжать двигаться с той же скоростью. Большие значения остановят объект быстрее. Значение, равное или большее скорости физических тиков (physics/common/physics_ticks_per_second), остановит объект за одну итерацию (повторение).
Примечание: Расчеты амортизации Godot зависят от скорости, то есть телам, движущимся быстрее, потребуется больше времени, чтобы прийти в состояние покоя. Они не моделируют инерцию, трение или сопротивление воздуха. Поэтому более тяжелые или большие тела будут терять скорость с той же пропорциональной скоростью, что и более легкие или меньшие тела.
Во время каждого физического тика Godot умножает угловую скорость RigidBodies на 1.0 - combined_damp / physics_ticks_per_second. По умолчанию тела объединяют коэффициенты демпфирования: combined_damp - это сумма значения демпфирования тела и этого значения или значения области, в которой находится тело. См. DampMode.
Предупреждение: Расчеты амортизации Godot зависят от частоты тиков симуляции. Изменение physics/common/physics_ticks_per_second может существенно изменить результаты и ощущения от вашей симуляции. Это справедливо для всего диапазона значений затухания больше 0. Чтобы вернуться к похожим ощущениям, вам также нужно изменить значения затухания. Это необходимое изменение не пропорционально и отличается от случая к случаю.
float physics/3d/default_gravity = 9.8 🔗
Сила гравитации по умолчанию в 3D (в метрах в секунду в квадрате).
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить силу гравитации по умолчанию во время выполнения, используйте следующий пример кода:
# Установить силу гравитации по умолчанию на 9.8.
PhysicsServer3D.area_set_param(get_viewport().find_world_3d().space, PhysicsServer3D.AREA_PARAM_GRAVITY, 9.8)
// Установить силу гравитации по умолчанию на 9.8.
PhysicsServer3D.AreaSetParam(GetViewport().FindWorld3D().Space, PhysicsServer3D.AreaParameter.Gravity, 9.8);
Vector3 physics/3d/default_gravity_vector = Vector3(0, -1, 0) 🔗
Направление гравитации по умолчанию в 3D.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить вектор гравитации по умолчанию во время выполнения, используйте следующий пример кода:
# Установить направление гравитации по умолчанию на `Vector3(0, -1, 0)`.
PhysicsServer3D.area_set_param(get_viewport().find_world_3d().space, PhysicsServer3D.AREA_PARAM_GRAVITY_VECTOR, Vector3.DOWN)
// Установить направление гравитации по умолчанию на `Vector3(0, -1, 0)`.
PhysicsServer3D.AreaSetParam(GetViewport().FindWorld3D().Space, PhysicsServer3D.AreaParameter.GravityVector, Vector3.Down)
float physics/3d/default_linear_damp = 0.1 🔗
Амортизация линейного движения по умолчанию в 3D. Амортизация используется для постепенного замедления физических объектов с течением времени. RigidBodies вернется к этому значению при объединении собственных амортизаций, а значение амортизации области отсутствует.
Предлагаемые значения находятся в диапазоне от 0 до 30. При значении 0 объекты будут продолжать двигаться с той же скоростью. Большие значения остановят объект быстрее. Значение, равное или большее скорости физических тиков (physics/common/physics_ticks_per_second), остановит объект за одну итерацию.
Примечание: Расчеты амортизации Godot зависят от скорости, то есть телам, движущимся быстрее, потребуется больше времени, чтобы прийти в состояние покоя. Они не моделируют инерцию, трение или сопротивление воздуха. Поэтому более тяжелые или большие тела будут терять скорость с той же пропорциональной скоростью, что и более легкие или меньшие тела.
Во время каждого физического тика Godot умножает линейную скорость RigidBodies на 1.0 - combined_damp / physics_ticks_per_second. По умолчанию тела объединяют коэффициенты амортизации: combined_damp - это сумма значения амортизации тела и этого значения или значения области, в которой находится тело. См. DampMode.
Предупреждение: Расчеты амортизации Godot зависят от частоты тиков симуляции. Изменение physics/common/physics_ticks_per_second может существенно изменить результаты и ощущения от вашей симуляции. Это справедливо для всего диапазона значений затухания больше 0. Чтобы вернуться к похожим ощущениям, вам также нужно изменить значения амортизации. Это необходимое изменение не пропорционально и отличается от случая к случаю.
String physics/3d/physics_engine = "DEFAULT" 🔗
Задает, какой физический движок использовать для 3D-физики.
DEFAULT в настоящее время эквивалентен GodotPhysics3D, но может измениться в будущих релизах. Выберите явную реализацию, если хотите гарантировать, что ваш проект останется на том же движке.
GodotPhysics3D — это внутренний 3D-физический движок Godot.
Jolt Physics — это альтернативный физический движок, который, как правило, быстрее и надежнее, чем GodotPhysics3D. Jolt Physics используется по умолчанию для проектов, созданных начиная с Godot 4.6.
Dummy — это 3D-физический сервер, который ничего не делает и возвращает только фиктивные значения, фактически отключая всю функциональность 3D-физики.
Сторонние расширения и модули могут добавлять другие физические движки для выбора с помощью этой настройки.
String physics/3d/physics_interpolation/scene_traversal = "DEFAULT" 🔗
Подход, используемый для обхода 3D-сцены при включенной интерполяции физики.
DEFAULT: Оптимизированный метод по умолчанию.Legacy: Предыдущий справочный метод, используемый для обхода дерева сцены, который медленнее.Debug: Переключает между методамиDEFAULTиLegacyв чередующихся кадрах и предоставляет информацию о журнале (что, в свою очередь, делает его медленнее). Предназначен только для отладки; в большинстве случаев следует использовать методDEFAULT.
bool physics/3d/run_on_separate_thread = false 🔗
Если true, сервер 3D-физики работает в отдельном потоке, что позволяет эффективнее использовать многоядерные процессоры. Если false, сервер 3D-физики работает в основном потоке. Запуск сервера физики в отдельном потоке может повысить производительность, но ограничивает доступ API только физическим процессом.
Примечание: Когда physics/3d/physics_engine установлен на Jolt Physics, включение этого параметра не позволит серверу 3D-физики предоставлять какой-либо контекст при сообщении об ошибках и предупреждениях, и вместо этого всегда будет ссылаться на узлы как <unknown>.
float physics/3d/sleep_threshold_angular = 0.13962634 🔗
Threshold angular velocity under which a 3D physics body will be considered inactive. See PhysicsServer3D.SPACE_PARAM_BODY_ANGULAR_VELOCITY_SLEEP_THRESHOLD.
Note: This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
float physics/3d/sleep_threshold_linear = 0.1 🔗
Threshold linear velocity under which a 3D physics body will be considered inactive. See PhysicsServer3D.SPACE_PARAM_BODY_LINEAR_VELOCITY_SLEEP_THRESHOLD.
Note: This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
float physics/3d/solver/contact_max_allowed_penetration = 0.01 🔗
Maximum distance a shape can penetrate another shape before it is considered a collision. See PhysicsServer3D.SPACE_PARAM_CONTACT_MAX_ALLOWED_PENETRATION.
Note: This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
float physics/3d/solver/contact_max_separation = 0.05 🔗
Maximum distance a shape can be from another before they are considered separated and the contact is discarded. See PhysicsServer3D.SPACE_PARAM_CONTACT_MAX_SEPARATION.
Note: This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
float physics/3d/solver/contact_recycle_radius = 0.01 🔗
Maximum distance a pair of bodies has to move before their collision status has to be recalculated. See PhysicsServer3D.SPACE_PARAM_CONTACT_RECYCLE_RADIUS.
Note: This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
float physics/3d/solver/default_contact_bias = 0.8 🔗
Default solver bias for all physics contacts. Defines how much bodies react to enforce contact separation. See PhysicsServer3D.SPACE_PARAM_CONTACT_DEFAULT_BIAS.
Individual shapes can have a specific bias value (see Shape3D.custom_solver_bias).
Note: This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
int physics/3d/solver/solver_iterations = 16 🔗
Number of solver iterations for all contacts and constraints. The greater the number of iterations, the more accurate the collisions will be. However, a greater number of iterations requires more CPU power, which can decrease performance. See PhysicsServer3D.SPACE_PARAM_SOLVER_ITERATIONS.
Note: This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
float physics/3d/time_before_sleep = 0.5 🔗
Time (in seconds) of inactivity before which a 3D physics body will put to sleep. See PhysicsServer3D.SPACE_PARAM_BODY_TIME_TO_SLEEP.
Note: This project setting is only effective when using GodotPhysics3D. It has no effect when using Jolt Physics.
bool physics/common/enable_object_picking = true 🔗
Включает Viewport.physics_object_picking в корневом окне просмотра.
int physics/common/max_physics_steps_per_frame = 8 🔗
Управляет максимальным количеством шагов физики, которые можно моделировать в каждом визуализированном кадре. Значение по умолчанию настроено таким образом, чтобы избежать ситуаций, когда частота кадров внезапно падает до очень низкого значения за пределами определенного объема моделирования физики. Это происходит из-за того, что физический движок не справляется с ожидаемой скоростью моделирования. В этом случае частота кадров начнет падать, но движку разрешено моделировать только определенное количество шагов физики на каждый отрисованный кадр. Это приводит к ситуации, когда частота кадров продолжает падать, пока не достигнет очень низкого значения (обычно 1-2 FPS), что называется физической спиралью смерти.
Однако игра будет тормозить, если FPS рендеринга меньше 1 / max_physics_steps_per_frame от physics/common/physics_ticks_per_second. Это происходит, даже если delta постоянно используется в физических расчетах. Чтобы избежать этого, увеличьте physics/common/max_physics_steps_per_frame, если вы увеличили physics/common/physics_ticks_per_second значительно выше его значения по умолчанию.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить максимальное количество шагов моделирования физики на кадр во время выполнения, задайте Engine.max_physics_steps_per_frame.
bool physics/common/physics_interpolation = false 🔗
Если true, рендерер будет интерполировать преобразования объектов (как физических, так и нефизических) между двумя последними преобразованиями, так что плавное движение будет видно даже тогда, когда физические тики не совпадают с отрисованными кадрами. См. также Node.reset_physics_interpolation().
Примечание: Хотя это глобальная настройка, более тонкий контроль отдельных ветвей SceneTree возможен с помощью Node.physics_interpolation_mode.
Примечание: Это свойство считывается только при запуске проекта. Чтобы переключить интерполяцию физики во время выполнения, вместо этого установите SceneTree.physics_interpolation.
Примечание: Свойство physics/common/physics_jitter_fix автоматически отключается, если physics/common/physics_interpolation имеет значение true, поскольку эти два метода несовместимы.
float physics/common/physics_jitter_fix = 0.5 🔗
Управляет тем, насколько тики физики синхронизированы с реальным временем. При значении 0 или меньше тики синхронизируются. Такие значения рекомендуются для сетевых игр, где важна синхронизация часов. Более высокие значения вызывают большее отклонение внутриигровых часов от реальных часов, но позволяют сглаживать колебания частоты кадров. Значение по умолчанию 0,5 должно быть достаточно для большинства; значения выше 2 могут привести к тому, что игра будет реагировать на пропущенные кадры с заметной задержкой и не рекомендуются.
Примечание: Исправление дрожания автоматически отключается во время выполнения, когда включен physics/common/physics_interpolation.
Примечание: При использовании пользовательского решения интерполяции физики исправление дрожания физики следует отключить, установив physics/common/physics_jitter_fix на 0.0.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить исправление дрожания физики во время выполнения, вместо этого установите Engine.physics_jitter_fix.
int physics/common/physics_ticks_per_second = 60 🔗
Количество фиксированных итераций в секунду. Это определяет, как часто запускаются моделирование физики и метод Node._physics_process().
Использование CPU приблизительно зависит от частоты обновления физики. Однако при очень низкой частоте обновления (обычно ниже 30) поведение физики может нарушаться. Ввод также может стать менее отзывчивым при низкой частоте обновления, поскольку может возникнуть разрыв между регистрацией ввода и ответом на следующем обновлении физики. Высокая частота обновления обеспечивает более точное моделирование физики, особенно для быстро движущихся объектов. Например, в гоночных играх может быть полезно увеличить частоту обновления выше значения по умолчанию (60).
См. также application/run/max_fps.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить частоту обновления физики во время выполнения, установите вместо этого Engine.physics_ticks_per_second.
Примечание: Максимальное количество физических тактов, которое может быть смоделировано за один отрендеренный кадр, составляет physics/common/max_physics_steps_per_frame. Если для обеспечения корректной работы рендеринга необходимо смоделировать больше физических тактов за один отрендеренный кадр, проект будет казаться медленнее (даже если delta постоянно используется в физических расчетах). Поэтому рекомендуется также увеличить physics/common/max_physics_steps_per_frame, если вы значительно увеличиваете physics/common/physics_ticks_per_second по сравнению с его значением по умолчанию.
Примечание: Рассмотрите возможность включения интерполяции физики, если вы изменяете physics/common/physics_ticks_per_second на значение, не кратное 60. Использование интерполяции физических процессов позволит избежать дрожания изображения, когда частота обновления монитора и частота обновления физических данных не совпадают точно.
float physics/jolt_physics_3d/collisions/active_edge_threshold = 0.87266463 🔗
Максимальный угол в радианах между двумя соседними треугольниками в ConcavePolygonShape3D или HeightMapShape3D, для которого ребро между этими треугольниками считается неактивным.
Столкновения с неактивным ребром будут иметь его нормаль, переопределенную на нормаль поверхности треугольника. Это может помочь смягчить призрачные столкновения.
Примечание: Установка слишком большого значения может привести к тому, что объекты не будут правильно проникать.
Примечание: Это применимо ко всем запросам формы, а также к физическим телам в симуляции.
Примечание: Это не применимо при включении улучшенного удаления внутренних ребер Jolt, которое заменяет это.
float physics/jolt_physics_3d/collisions/collision_margin_fraction = 0.08 🔗
Величина поля столкновения, используемого для определенных выпуклых форм столкновения, таких как BoxShape3D, CylinderShape3D и ConvexPolygonShape3D, как доля самой короткой оси формы, с Shape3D.margin в качестве верхней границы. Это в основном используется для ускорения обнаружения столкновений с выпуклыми формами.
Примечание: Поля столкновения в Jolt не добавляют никакого дополнительного размера к форме. Вместо этого форма сначала сжимается на величину поля, а затем расширяется на ту же величину, в результате чего получается форма со скругленными углами.
Примечание: Установка этого значения слишком близко к 0.0 также может отрицательно повлиять на точность обнаружения столкновений с выпуклыми формами.
int physics/jolt_physics_3d/joints/world_node = 0 🔗
Какой из двух узлов, связанных сочленением, должен представлять мир, когда один из двух опущен, как Joint3D.node_a или Joint3D.node_b. Это можно представить как опущенный узел, являющийся StaticBody3D в позиции сочленения. Пределы сочленения легче выразить, когда Joint3D.node_a представляет мир.
Примечание: В физике Годо только Joint3D.node_b может представлять мир.
float physics/jolt_physics_3d/limits/max_angular_velocity = 47.12389 🔗
Максимальная угловая скорость, которую может достичь RigidBody3D, в радианах в секунду.
Это в основном используется в качестве защиты от сбоев, чтобы предотвратить взрыв симуляции, поскольку быстро движущиеся объекты, сталкивающиеся со сложными физическими структурами, в противном случае могут привести к выходу их из-под контроля. Быстро движущиеся объекты также могут вызывать большую нагрузку на систему обнаружения столкновений, что может значительно замедлить симуляцию.
int physics/jolt_physics_3d/limits/max_bodies = 10240 🔗
Максимальное количество PhysicsBody3D для поддержки одновременно, бодрствующих или спящих. При превышении этого предела выдается сообщение об ошибке, а все, что выходит за эту точку, является неопределенным поведением.
Примечание: Это ограничение также применяется в редакторе.
int physics/jolt_physics_3d/limits/max_body_pairs = 65536 🔗
Максимальное количество пар тел, разрешенных для обработки. При превышении этого предела выдается предупреждение, а столкновения будут случайным образом игнорироваться, пока тела проходят друг сквозь друга.
int physics/jolt_physics_3d/limits/max_contact_constraints = 20480 🔗
Максимальное количество ограничений контакта, разрешенных для обработки. При превышении этого предела выдается предупреждение, а столкновения будут случайным образом игнорироваться, пока тела проходят друг сквозь друга.
float physics/jolt_physics_3d/limits/max_linear_velocity = 500.0 🔗
Максимальная линейная скорость, которую может достичь RigidBody3D, в метрах в секунду.
Это в основном используется в качестве защиты от сбоев, чтобы предотвратить взрыв симуляции, поскольку быстро движущиеся объекты, сталкивающиеся со сложными физическими структурами, в противном случае могут привести к выходу их из-под контроля. Быстро движущиеся объекты также могут вызывать большую нагрузку на систему обнаружения столкновений, что может значительно замедлить симуляцию.
int physics/jolt_physics_3d/limits/temporary_memory_buffer_size = 32 🔗
Объем памяти для предварительного выделения для стекового распределителя, используемого в Jolt, в MiB. Этот распределитель используется в физическом шаге для хранения вещей, которые нужны только во время него, например, какие тела находятся в контакте, как они образуют острова и данные, необходимые для решения контактов.
float physics/jolt_physics_3d/limits/world_boundary_shape_size = 2000.0 🔗
Размер границ WorldBoundaryShape3D для всех трех измерений. Плоскость фактически центрирована в пределах рамки этого размера, и все, что находится за пределами рамки, не будет с ней сталкиваться. Это необходимо, поскольку WorldBoundaryShape3D не является неограниченным при использовании Jolt, чтобы предотвратить проблемы с точностью.
Примечание: Установка слишком большого значения может сделать обнаружение столкновений менее точным.
Примечание: Столкновения с эффективными краями WorldBoundaryShape3D будут непоследовательными.
float physics/jolt_physics_3d/motion_queries/recovery_amount = 0.4 🔗
Доля общего проникновения, устраняемая за итерацию при запросах движения.
Примечание: Влияет на методы CharacterBody3D.move_and_slide(), PhysicsBody3D.move_and_collide(), PhysicsBody3D.test_move() и PhysicsServer3D.body_test_motion().
int physics/jolt_physics_3d/motion_queries/recovery_iterations = 4 🔗
Количество итераций для устранения проникновения при запросах движения.
Примечание: Влияет на методы CharacterBody3D.move_and_slide(), PhysicsBody3D.move_and_collide(), PhysicsBody3D.test_move() и PhysicsServer3D.body_test_motion().
bool physics/jolt_physics_3d/motion_queries/use_enhanced_internal_edge_removal = true 🔗
Если true, включает улучшенное удаление внутренних рёбер в Jolt при запросах движения. Это помогает уменьшить фантомные столкновения, но только для рёбер внутри одного тела — рёбра между отдельными телами всё ещё могут вызывать фантомные столкновения.
Примечание: Влияет на методы CharacterBody3D.move_and_slide(), PhysicsBody3D.move_and_collide(), PhysicsBody3D.test_move() и PhysicsServer3D.body_test_motion().
bool physics/jolt_physics_3d/queries/enable_ray_cast_face_index = false 🔗
Если true, заполняет поле face_index в результатах PhysicsDirectSpaceState3D.intersect_ray() (также доступно через RayCast3D.get_collision_face_index()). Если false, поле face_index останется со значением по умолчанию -1.
Примечание: Включение этой настройки увеличит использование памяти Jolt для ConcavePolygonShape3D примерно на 25%.
bool physics/jolt_physics_3d/queries/use_enhanced_internal_edge_removal = false 🔗
Если true, включает улучшенное удаление внутренних рёбер в Jolt при запросах формы. Это помогает уменьшить фантомные столкновения при использовании запросов формы (например, для перемещения персонажа), но только для рёбер внутри одного тела — рёбра между отдельными телами всё ещё могут вызывать фантомные столкновения.
Примечание: Влияет на методы PhysicsDirectSpaceState3D.cast_motion(), PhysicsDirectSpaceState3D.collide_shape(), PhysicsDirectSpaceState3D.get_rest_info() и PhysicsDirectSpaceState3D.intersect_shape().
Примечание: Включение этой настройки может приводить к полному исключению некоторых форм из результатов, но вы получите как минимум одно пересечение на тело.
bool physics/jolt_physics_3d/simulation/allow_sleep = true 🔗
Если true, узлам RigidBody3D разрешено переходить в спящий режим, если их скорость ниже порогового значения, определенного в physics/jolt_physics_3d/simulation/sleep_velocity_threshold на время, заданное в physics/jolt_physics_3d/simulation/sleep_time_threshold. Это может улучшить производительность моделирования физики при наличии неподвижных узлов RigidBody3D, за счет того, что некоторые узлы могут не просыпаться в определенных сценариях. Рассмотрите возможность временного отключения этого параметра для устранения неполадок, связанных с тем, что узлы RigidBody3D не двигаются, когда должны.
float physics/jolt_physics_3d/simulation/baumgarte_stabilization_factor = 0.2 🔗
Сколько ошибки положения RigidBody3D нужно исправить во время шага физики, где 0.0 — это отсутствие, а 1.0 — это полная сумма. Это влияет на такие вещи, как скорость проникновения тел.
Примечание: Установка слишком высокого значения может сделать узлы RigidBody3D нестабильными.
float physics/jolt_physics_3d/simulation/body_pair_contact_cache_angle_threshold = 0.034906585 🔗
Максимальный относительный угол, на который может перемещаться пара тел и при этом повторно использовать результаты столкновения из предыдущего шага физики, в радианах.
float physics/jolt_physics_3d/simulation/body_pair_contact_cache_distance_threshold = 0.001 🔗
Максимальное относительное расстояние, на которое может переместиться пара тел и при этом повторно использовать столкновение, полученное на предыдущем шаге физики, в метрах.
bool physics/jolt_physics_3d/simulation/body_pair_contact_cache_enabled = true 🔗
Если true, включается кэш контактов пар тел, что устраняет необходимость в потенциально дорогостоящем обнаружении столкновений, когда относительная ориентация между двумя телами не сильно изменилась.
float physics/jolt_physics_3d/simulation/bounce_velocity_threshold = 1.0 🔗
Минимальная скорость, необходимая для столкновения, может быть выражена в метрах в секунду.
float physics/jolt_physics_3d/simulation/continuous_cd_max_penetration = 0.25 🔗
Доля внутреннего радиуса тела, которая может проникнуть в другое тело при использовании непрерывного обнаружения столкновений.
float physics/jolt_physics_3d/simulation/continuous_cd_movement_threshold = 0.75 🔗
Доля внутреннего радиуса тела, которую тело должно переместить за один шаг, чтобы использовать непрерывное обнаружение столкновений.
bool physics/jolt_physics_3d/simulation/generate_all_kinematic_contacts = false 🔗
Если true, RigidBody3D, замороженный с RigidBody3D.FREEZE_MODE_KINEMATIC, может сталкиваться с другими кинематическими и статическими телами и, следовательно, генерировать для них контакты.
Примечание: Эта настройка может привести к высоким затратам ресурсов CPU и памяти, если вы позволяете многим/большим замороженным кинематическим телам с ненулевым RigidBody3D.max_contacts_reported перекрываться со сложной статической геометрией, такой как ConcavePolygonShape3D или HeightMapShape3D.
float physics/jolt_physics_3d/simulation/penetration_slop = 0.02 🔗
На какое расстояние телам разрешено проникать друг в друга, в метрах.
int physics/jolt_physics_3d/simulation/position_steps = 2 🔗
Количество итераций позиции решателя. Чем больше количество итераций, тем точнее будет моделирование, за счет производительности CPU.
float physics/jolt_physics_3d/simulation/sleep_time_threshold = 0.5 🔗
Время в секундах, которое RigidBody3D проведет ниже порога скорости сна, прежде чем заснуть.
float physics/jolt_physics_3d/simulation/sleep_velocity_threshold = 0.03 🔗
Линейная скорость определенных точек на ограничивающем прямоугольнике RigidBody3D, ниже которой он может быть переведен в спящий режим, в метрах в секунду. Эти точки помогают захватить как линейное, так и угловое движение RigidBody3D.
float physics/jolt_physics_3d/simulation/soft_body_point_radius = 0.01 🔗
Насколько велики точки SoftBody3D в метрах. Более высокое значение может предотвратить такое поведение, как идеальное расположение ткани вплотную к другим поверхностям и возникновение Z-борьбы.
float physics/jolt_physics_3d/simulation/speculative_contact_distance = 0.02 🔗
Радиус вокруг физических тел, внутри которого будут обнаружены предполагаемые точки контакта, в метрах. В основном это используется для предотвращения туннелирования/проникновения для узлов RigidBody3D во время моделирования.
Примечание: Установка слишком большого значения может привести к фантомным столкновениям, поскольку предполагаемые контакты основаны на ближайших точках на этапе обнаружения столкновений, которые могут не быть фактическими ближайшими точками к моменту столкновения двух тел.
bool physics/jolt_physics_3d/simulation/use_enhanced_internal_edge_removal = true 🔗
Если true, включается улучшенное удаление внутренних ребер Jolt для RigidBody3D. Это может помочь уменьшить фантомные столкновения, когда, например, RigidBody3D сталкивается с краями двух идеально соединенных BoxShape3D. Удаление применяется только к внутренним краям одного тела, то есть края между отдельными телами все еще могут вызывать фантомные столкновения.
int physics/jolt_physics_3d/simulation/velocity_steps = 10 🔗
Количество итераций скорости решателя. Чем больше количество итераций, тем точнее будет моделирование, за счет производительности ЦП.
Примечание: Это должно быть не менее 2, чтобы трение работало, поскольку трение применяется с использованием импульса непроникновения из предыдущей итерации.
int rendering/2d/batching/item_buffer_size = 16384 🔗
Максимальное количество команд элемента холста, которые можно объединить в один вызов отрисовки.
int rendering/2d/batching/uniform_set_cache_size = 4096 🔗
Максимальное количество наборов униформ, которые будут кэшироваться 2D-рендерером при пакетной отрисовке.
Примечание: Увеличение этого значения может повысить производительность, если проект рендерит множество уникальных текстур спрайтов в каждом кадре.
int rendering/2d/sdf/oversize = 1 🔗
Управляет тем, какая часть исходного размера области просмотра должна быть покрыта 2D-полем расстояния со знаком. Этот SDF может быть выбран в шейдерах CanvasItem и используется для столкновения GPUParticles2D. Более высокие значения позволяют учитывать части окклюдеров, расположенных за пределами области просмотра, в сгенерированном поле расстояния со знаком, за счет производительности. Если вы заметили, что частицы падают через LightOccluder2D, когда окклюдеры покидают область просмотра, увеличьте этот параметр.
Указанный процент добавляется по каждой оси и с обеих сторон. Например, при настройке по умолчанию 120% поле расстояния со знаком будет покрывать 20% размера области просмотра за пределами области просмотра с каждой стороны (сверху, справа, снизу, слева).
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить процент превышения размера 2D SDF во время выполнения, используйте вместо этого RenderingServer.viewport_set_sdf_oversize_and_scale().
int rendering/2d/sdf/scale = 1 🔗
Масштаб разрешения для использования для поля расстояния со знаком 2D. Более высокие значения приводят к более точному и стабильному полю расстояния со знаком при перемещении камеры за счет производительности. Значение по умолчанию (50%) отображает изображение с разрешением, равным половине размера области просмотра по каждой оси, что означает, что SDF генерируется с 25% от количества пикселей области просмотра.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить масштаб разрешения SDF 2D во время выполнения, используйте вместо этого RenderingServer.viewport_set_sdf_oversize_and_scale().
int rendering/2d/shadow_atlas/size = 2048 🔗
Размер атласа теней 2D в пикселях. Более высокие значения приводят к более точным теням Light2D за счет производительности и использования видеопамяти. Указанное значение округляется до ближайшей степени 2.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить размер атласа теней 2D во время выполнения, используйте вместо этого RenderingServer.canvas_set_shadow_texture_size().
bool rendering/2d/snap/snap_2d_transforms_to_pixel = false 🔗
Если true, узлы CanvasItem будут внутренне привязаны к полным пикселям. Полезно для игр с пиксельной графикой с низким разрешением. Их положение все еще может быть субпиксельным, но десятичные знаки не будут иметь эффекта, так как положение округлено. Это может привести к более четкому виду за счет менее плавного движения, особенно если включено сглаживание Camera2D.
Примечание: Это свойство считывается только при запуске проекта. Чтобы переключить привязку 2D-преобразования во время выполнения, вместо этого используйте RenderingServer.viewport_set_snap_2d_transforms_to_pixel() на корневом Viewport.
Примечание: Узлы Control по умолчанию привязаны к ближайшему пикселю. Это контролируется gui/common/snap_controls_to_pixels.
Примечание: Не рекомендуется использовать эту настройку вместе с rendering/2d/snap/snap_2d_vertices_to_pixel, так как движение может выглядеть еще менее плавным. Вместо этого предпочитайте включать только эту настройку.
bool rendering/2d/snap/snap_2d_vertices_to_pixel = false 🔗
Если true, вершины узлов CanvasItem будут привязаны к полным пикселям. Полезно для игр с пиксельной графикой с низким разрешением. Влияет только на конечные положения вершин, а не на преобразования. Это может привести к более четкому внешнему виду за счет менее плавного движения, особенно если включено сглаживание Camera2D.
Примечание: Это свойство считывается только при запуске проекта. Чтобы переключить привязку 2D-вершин во время выполнения, используйте вместо этого RenderingServer.viewport_set_snap_2d_vertices_to_pixel() на корневом Viewport.
Примечание: Узлы Control по умолчанию привязаны к ближайшему пикселю. Это контролируется gui/common/snap_controls_to_pixels.
Примечание: Не рекомендуется использовать эту настройку вместе с rendering/2d/snap/snap_2d_transforms_to_pixel, так как движение может выглядеть еще менее плавным. Вместо этого предпочитайте включать только эту настройку.
int rendering/anti_aliasing/quality/msaa_2d = 0 🔗
Устанавливает количество выборок сглаживания мультивыборки (MSAA), используемых для рендеринга 2D/Canvas (как степень двойки). MSAA используется для уменьшения сглаживания по краям полигонов. Более высокое значение MSAA приводит к более гладким краям, но может быть значительно медленнее на некотором оборудовании, особенно на интегрированной графике из-за ограниченной пропускной способности памяти. Это не влияет на сглаживание, вызванное шейдером, или на сглаживание текстур.
Примечание: MSAA поддерживается только в методах рендеринга Forward+ и Mobile, но не Compatibility.
Примечание: Это свойство считывается только при запуске проекта. Чтобы задать количество выборок 2D MSAA во время выполнения, установите Viewport.msaa_2d или используйте RenderingServer.viewport_set_msaa_2d().
int rendering/anti_aliasing/quality/msaa_3d = 0 🔗
Устанавливает количество выборок мультисэмплового сглаживания (MSAA) для использования при 3D-рендеринге (как степень двойки). MSAA используется для уменьшения сглаживания по краям полигонов. Более высокое значение MSAA приводит к более гладким краям, но может быть значительно медленнее на некотором оборудовании, особенно на интегрированной графике из-за ограниченной пропускной способности памяти. См. также rendering/scaling_3d/mode для суперсэмплинга, который обеспечивает более высокое качество, но намного дороже. Это не влияет на сглаживание, вызванное шейдером, или сглаживание текстур.
Примечание: Это свойство считывается только при запуске проекта. Чтобы задать количество выборок 3D MSAA во время выполнения, установите Viewport.msaa_3d или используйте RenderingServer.viewport_set_msaa_3d().
int rendering/anti_aliasing/quality/screen_space_aa = 0 🔗
Устанавливает режим сглаживания экранного пространства для экрана по умолчанию Viewport. Сглаживание экранного пространства работает путем выборочного размытия краев в шейдере постобработки. Оно отличается от MSAA, который берет несколько образцов покрытия при рендеринге объектов. Методы сглаживания экранного пространства обычно быстрее, чем MSAA, и сглаживают зеркальное сглаживание, но, как правило, делают сцены размытыми. Размытость частично нейтрализуется автоматическим использованием отрицательного смещения LOD mipmap (см. rendering/textures/default_filters/texture_mipmap_bias).
Другой способ борьбы с зеркальным сглаживанием — включить rendering/anti_aliasing/screen_space_roughness_limiter/enabled.
Примечание: Сглаживание экранного пространства поддерживается только в методах рендеринга Forward+ и Mobile, а не Compatibility.
Примечание: Это свойство считывается только при запуске проекта. Чтобы установить режим сглаживания экранного пространства во время выполнения, вместо этого установите Viewport.screen_space_aa в корне Viewport или используйте RenderingServer.viewport_set_screen_space_aa().
float rendering/anti_aliasing/quality/smaa_edge_detection_threshold = 0.05 🔗
Устанавливает чувствительность к краям при использовании SMAA для сглаживания. Более низкие значения будут захватывать больше краев, что может привести к более высоким потерям производительности.
Примечание: Это свойство считывается только при запуске проекта. В настоящее время нет возможности изменить эту настройку во время выполнения.
bool rendering/anti_aliasing/quality/use_debanding = false 🔗
Если true, используется фильтр быстрого дизеринга непосредственно перед преобразованием значений цвета с плавающей запятой в целочисленные значения цвета, чтобы значительно уменьшить видимость полос. Удаление полос применяется на разных этапах процесса рендеринга в зависимости от метода рендеринга и настройки члена rendering/viewport/hdr_2d.
В некоторых случаях удаление полос может привести к появлению слегка заметного рисунка дизеринга. Рекомендуется включать удаление полос только тогда, когда это действительно необходимо, поскольку рисунок дизеринга увеличит размер скриншотов, сжатых без потерь.
Примечание: Это свойство считывается только при запуске проекта и настройке RenderingServer.material_set_use_debanding() и Viewport.use_debanding корневого Viewport. Если rendering/viewport/hdr_2d отключен, следует дополнительно установить Viewport.use_debanding для других видовых окон в вашем проекте. Для установки эффекта сглаживания полос во время выполнения параметр, который следует задать, зависит от используемого рендерера: Forward+ использует только Viewport.use_debanding, а Mobile использует как RenderingServer.material_set_use_debanding(), так и Viewport.use_debanding.
bool rendering/anti_aliasing/quality/use_taa = false 🔗
Включает временное сглаживание для экрана по умолчанию Viewport. TAA работает путем дрожания камеры и накопления изображений последних отрисованных кадров, рендеринг вектора движения используется для учета движения камеры и объекта. Включение TAA может сделать изображение более размытым, что частично компенсируется автоматическим использованием отрицательного смещения LOD mipmap (см. rendering/textures/default_filters/texture_mipmap_bias).
Примечание: Реализация еще не завершена. Некоторые визуальные экземпляры, такие как частицы и сетки со скинами, могут показывать артефакты ореола в движении.
Примечание: TAA поддерживается только в методе рендеринга Forward+, а не Mobile или Compatibility.
Примечание: Это свойство считывается только при запуске проекта. Чтобы установить TAA во время выполнения, вместо этого установите Viewport.use_taa в корне Viewport или используйте RenderingServer.viewport_set_use_taa().
float rendering/anti_aliasing/screen_space_roughness_limiter/amount = 0.25 🔗
Примечание: Это свойство считывается только при запуске проекта. Чтобы управлять ограничителем шероховатости экранного пространства во время выполнения, вместо этого вызовите RenderingServer.screen_space_roughness_limiter_set_active().
bool rendering/anti_aliasing/screen_space_roughness_limiter/enabled = true 🔗
Если true, включает пространственный фильтр для ограничения шероховатости в областях с высокочастотной детализацией. Это может помочь уменьшить зеркальное наложение в некоторой степени, хотя и не так сильно, как включение rendering/anti_aliasing/quality/use_taa. Этот фильтр имеет небольшие затраты производительности, поэтому рассмотрите возможность его отключения, если он не приносит заметной пользы вашей сцене.
Примечание: Ограничитель шероховатости экранного пространства поддерживается только в методах рендеринга Forward+ и Mobile, но не Compatibility.
Примечание: Это свойство считывается только при запуске проекта. Чтобы управлять ограничителем шероховатости экранного пространства во время выполнения, вместо этого вызовите RenderingServer.screen_space_roughness_limiter_set_active().
float rendering/anti_aliasing/screen_space_roughness_limiter/limit = 0.18 🔗
Примечание: Это свойство считывается только при запуске проекта. Чтобы управлять ограничителем шероховатости экранного пространства во время выполнения, вместо этого вызовите RenderingServer.screen_space_roughness_limiter_set_active().
int rendering/camera/depth_of_field/depth_of_field_bokeh_quality = 1 🔗
Устанавливает качество эффекта глубины резкости. Более высокое качество требует больше сэмплов, что медленнее, но выглядит более плавно.
int rendering/camera/depth_of_field/depth_of_field_bokeh_shape = 1 🔗
Задает форму глубины резкости. Может быть Box, Hexagon или Circle. Box — самый быстрый. Circle — самый реалистичный, но и самый дорогой в вычислении.
bool rendering/camera/depth_of_field/depth_of_field_use_jitter = false 🔗
Если true, колеблется выборка DOF, чтобы сделать эффект немного более размытым и скрыть линии, созданные при низкой частоте выборки. Это может привести к слегка зернистому виду при использовании с небольшим количеством выборок.
String rendering/driver/depth_prepass/disable_for_vendors = "PowerVR,Mali,Adreno,Apple" 🔗
Отключает rendering/driver/depth_prepass/enable условно для определенных поставщиков. По умолчанию отключает предварительный проход глубины для мобильных устройств, поскольку мобильные устройства не получают выгоды от предварительного прохода глубины из-за своей уникальной архитектуры.
bool rendering/driver/depth_prepass/enable = true 🔗
Если true, выполняет предыдущий проход глубины перед рендерингом 3D-материалов. Это значительно увеличивает производительность в сценах с высокой перерисовкой, когда используются сложные материалы и освещение. Однако в сценах с небольшим количеством перекрытых поверхностей предварительный проход глубины может снизить производительность. Если ваша игра просматривается с фиксированного угла, что позволяет легко избежать перерисовки (например, сверху вниз или сбоку), рассмотрите возможность отключения предварительного прохода глубины для повышения производительности. Этот параметр можно изменить во время выполнения, чтобы оптимизировать производительность в зависимости от просматриваемой в данный момент сцены.
Примечание: Предварительный проход глубины поддерживается только при использовании метода рендеринга Forward+ или Compatibility. При использовании метода рендеринга Mobile предварительный проход глубины не выполняется.
int rendering/driver/threads/thread_model = 1 🔗
Экспериментальное: This setting has several known bugs which can lead to crashing, especially when using particles or resizing the window. Not recommended for use in production at this stage.
Модель потока, используемая для рендеринга. Рендеринг в потоке может улучшить производительность, но синхронизация с основным потоком может вызвать немного больше дрожания.
Color rendering/environment/defaults/default_clear_color = Color(0.3, 0.3, 0.3, 1) 🔗
Цвет очистки фона по умолчанию. Переопределяется для Viewport с помощью его Environment. См. Environment.background_mode и Environment.background_color в частности. Чтобы изменить этот цвет по умолчанию программно, используйте RenderingServer.set_default_clear_color().
String rendering/environment/defaults/default_environment = "" 🔗
Environment, который будет использоваться как резервная среда в случае, если сцена не указывает свою собственную среду. Среда по умолчанию загружается во время загрузки сцены независимо от того, установили ли вы среду или нет. Если вы не полагаетесь на резервную среду, вам не нужно устанавливать это свойство.
bool rendering/environment/fog/use_legacy_blending = false 🔗
Enables legacy fog blending behavior from version 4.5 and earlier. This is intended for users who are developing on pre-4.6 versions and want to upgrade to 4.6 with the smallest possible change to their visuals.
int rendering/environment/glow/upscale_mode = 1 🔗
Устанавливает, как эффект свечения масштабируется перед копированием на экран. Линейный быстрее, но выглядит блочным. Бикубический медленнее, но выглядит плавно.
Примечание: rendering/environment/glow/upscale_mode эффективен только при использовании методов рендеринга Forward+ или Mobile, так как Compatibility использует другую реализацию свечения.
int rendering/environment/glow/upscale_mode.mobile = 0 🔗
Переопределение нижнего уровня для rendering/environment/glow/upscale_mode на мобильных устройствах из-за проблем с производительностью или поддержкой драйверов.
bool rendering/environment/screen_space_reflection/half_size = true 🔗
Если true, отражения в экранном пространстве будут отображаться в половинном размере, а затем масштабироваться перед добавлением в сцену. Это быстрее, но может выглядеть пикселизированным или вызывать мерцание. Если false, отражения в экранном пространстве будут отображаться в полном размере.
float rendering/environment/ssao/adaptive_target = 0.5 🔗
Целевое качество, используемое, когда rendering/environment/ssao/quality установлено на Ultra. Значение 0.0 обеспечивает качество и скорость, аналогичные Medium, тогда как значение 1.0 обеспечивает гораздо более высокое качество, чем любые другие настройки, за счет производительности.
int rendering/environment/ssao/blur_passes = 2 🔗
Число проходов размытия, используемых при вычислении экранного пространства окружающего затенения. Более высокое число приведет к более плавному виду, но будет медленнее вычисляться и будет иметь меньше высокочастотных деталей.
float rendering/environment/ssao/fadeout_from = 50.0 🔗
Расстояние, на котором эффект экранного пространства окружающего пространства начинает исчезать. Используйте это, чтобы скрыть окружающее затенение издалека.
float rendering/environment/ssao/fadeout_to = 300.0 🔗
Расстояние, на котором экранное пространство окружающего пространства полностью исчезает. Используйте это, чтобы скрыть окружающее пространство издалека.
bool rendering/environment/ssao/half_size = true 🔗
Если true, экранное пространство окружающего затенения будет визуализировано в половинном размере, а затем масштабировано перед добавлением в сцену. Это значительно быстрее, но может привести к потере мелких деталей. Если false, экранное пространство окружающего затенения будет визуализировано в полном размере.
int rendering/environment/ssao/quality = 2 🔗
Устанавливает качество эффекта экранного пространства Ambient Occlusion. Более высокие значения берут больше образцов и, таким образом, приводят к лучшему качеству за счет производительности. Установка Ultra будет использовать настройку rendering/environment/ssao/adaptive_target.
float rendering/environment/ssil/adaptive_target = 0.5 🔗
Цель качества, используемая, когда rendering/environment/ssil/quality установлена на Ultra. Значение 0.0 обеспечивает качество и скорость, аналогичные Medium, тогда как значение 1.0 обеспечивает гораздо более высокое качество, чем любые другие настройки, за счет производительности. При использовании адаптивной цели стоимость производительности масштабируется со сложностью сцены.
int rendering/environment/ssil/blur_passes = 4 🔗
Число проходов размытия, используемых при вычислении непрямого освещения в экранном пространстве. Более высокое число приведет к более плавному виду, но будет медленнее вычисляться и будет иметь меньше высокочастотных деталей.
float rendering/environment/ssil/fadeout_from = 50.0 🔗
Расстояние, на котором эффект непрямого освещения экранного пространства начинает затухать. Используйте это, чтобы скрыть непрямое освещение экранного пространства издалека.
float rendering/environment/ssil/fadeout_to = 300.0 🔗
Расстояние, на котором непрямое освещение экранного пространства полностью исчезает. Используйте это, чтобы скрыть непрямое освещение экранного пространства издалека.
bool rendering/environment/ssil/half_size = true 🔗
Если true, непрямое освещение в экранном пространстве будет визуализироваться в половинном размере, а затем масштабироваться перед добавлением в сцену. Это значительно быстрее, но может привести к потере мелких деталей и может привести к тому, что некоторые объекты будут светиться по краям.
int rendering/environment/ssil/quality = 2 🔗
Устанавливает качество эффекта непрямого освещения экранного пространства. Более высокие значения требуют больше сэмплов и поэтому дают лучшее качество за счет производительности. Установка на Ultra будет использовать настройку rendering/environment/ssil/adaptive_target.
float rendering/environment/subsurface_scattering/subsurface_scattering_depth_scale = 0.01 🔗
Масштабирует глубину, на которой применяется эффект подповерхностного рассеивания. Высокое значение может позволить свету рассеиваться в части сетки или другой сетке, которая находится близко в пространстве экрана, но далеко в глубину. См. также rendering/environment/subsurface_scattering/subsurface_scattering_scale.
Примечание: Это свойство считывается только при запуске проекта. Чтобы задать масштаб глубины подповерхностного рассеивания во время выполнения, вместо этого вызовите RenderingServer.sub_surface_scattering_set_scale().
int rendering/environment/subsurface_scattering/subsurface_scattering_quality = 1 🔗
Устанавливает качество эффекта подповерхностного рассеивания. Более высокие значения медленнее, но выглядят лучше. Это влияет на рендеринг материалов, у которых BaseMaterial3D.subsurf_scatter_enabled установлен на true, а также ShaderMaterial, которые устанавливают SSS_STRENGTH.
Примечание: Это свойство считывается только при запуске проекта. Чтобы установить качество подповерхностного рассеивания во время выполнения, вместо этого вызовите RenderingServer.sub_surface_scattering_set_quality().
float rendering/environment/subsurface_scattering/subsurface_scattering_scale = 0.05 🔗
Масштабирует расстояние, на котором берутся образцы для эффекта подповерхностного рассеивания. Изменение этого значения не влияет на производительность, но более высокие значения приведут к значительным артефактам, поскольку образцы станут явно разбросанными. Более низкое значение приводит к меньшему распространению рассеянного света. См. также rendering/environment/subsurface_scattering/subsurface_scattering_depth_scale.
Примечание: Это свойство считывается только при запуске проекта. Чтобы задать масштаб подповерхностного рассеивания во время выполнения, вместо этого вызовите RenderingServer.sub_surface_scattering_set_scale().
int rendering/environment/volumetric_fog/use_filter = 1 🔗
Включает фильтрацию эффекта объемного тумана перед интеграцией. Это существенно размывает туман, что снижает мелкие детали, но также сглаживает резкие края и артефакты наложения. Отключайте, когда требуется больше деталей.
int rendering/environment/volumetric_fog/volume_depth = 64 🔗
Количество срезов для использования по глубине буфера froxel для объемного тумана. Меньшее число будет более эффективным, но может привести к появлению артефактов во время движения камеры. См. также Environment.volumetric_fog_length.
int rendering/environment/volumetric_fog/volume_size = 64 🔗
Базовый размер используется для определения размера буфера froxel по осям X и Y камеры. Окончательный размер масштабируется в соответствии с соотношением сторон экрана, поэтому фактические значения могут отличаться от установленных. Установите больший размер для более детального тумана, меньший размер для лучшей производительности.
String rendering/gl_compatibility/driver = "opengl3" 🔗
Устанавливает драйвер, который будет использоваться рендерером при использовании рендерера Compatibility. Изменение этого свойства не влияет на конфигурацию по умолчанию, так как у каждой из платформ первой стороны есть переопределения, специфичные для платформы. Используйте эти переопределения для настройки драйвера для каждой платформы.
Это можно переопределить с помощью аргумента командной строки --rendering-driver <driver>.
Поддерживаемые значения:
opengl3, OpenGL 3.3 на настольных платформах, OpenGL ES 3.0 на мобильных платформах, WebGL 2.0 в веб-приложениях.opengl3_angle, OpenGL ES 3.0 с использованием уровня совместимости ANGLE, поддерживается в macOS (поверх собственного OpenGL) и Windows (поверх Direct3D 11).opengl3_es, OpenGL ES 3.0 в Linux/BSD.
Примечание: Доступность этих параметров зависит от того, был ли движок скомпилирован с поддержкой для них (определяется параметрами SCons opengl3 и angle_libs).
Примечание: Фактический драйвер рендеринга может быть автоматически изменен движком в результате отката или указанного пользователем аргумента командной строки. Чтобы получить фактический драйвер рендеринга, который используется во время выполнения, используйте RenderingServer.get_current_rendering_driver_name() вместо чтения значения этого параметра проекта.
String rendering/gl_compatibility/driver.android = "opengl3" 🔗
Переопределение Android для rendering/gl_compatibility/driver.
Поддерживается только один вариант:
opengl3, OpenGL ES 3.0 из собственных драйверов.
String rendering/gl_compatibility/driver.ios = "opengl3" 🔗
Переопределение iOS для rendering/gl_compatibility/driver.
Поддерживается только один вариант:
opengl3, OpenGL ES 3.0 из собственных драйверов.
String rendering/gl_compatibility/driver.linuxbsd = "opengl3" 🔗
LinuxBSD переопределяет rendering/gl_compatibility/driver.
Поддерживаются два варианта:
opengl3(по умолчанию), OpenGL 3.3 из собственных драйверов.opengl3_es, OpenGL ES 3.0 из собственных драйверов. Если включено rendering/gl_compatibility/fallback_to_gles, это используется как запасной вариант, если OpenGL 3.3 не поддерживается.
String rendering/gl_compatibility/driver.macos = "opengl3" 🔗
macOS переопределяет rendering/gl_compatibility/driver.
Поддерживаются два варианта:
opengl3(по умолчанию), OpenGL 3.3 из собственных драйверов. Если включен rendering/gl_compatibility/fallback_to_native, это используется как резервный вариант, если ANGLE настроен как предпочтительный драйвер, но не поддерживается.opengl3_angle, OpenGL ES 3.0 с использованием уровня совместимости ANGLE поверх собственных драйверов OpenGL. Если включен rendering/gl_compatibility/fallback_to_angle, это используется как резервный вариант, если OpenGL 3.3 не поддерживается.
String rendering/gl_compatibility/driver.web = "opengl3" 🔗
Web-переопределение для rendering/gl_compatibility/driver.
Поддерживается только один вариант:
opengl3, WebGL 2.0. Базовый собственный API зависит от целевой ОС, браузера и конфигурации браузера.
String rendering/gl_compatibility/driver.windows = "opengl3" 🔗
Переопределение Windows для rendering/gl_compatibility/driver.
Поддерживаются два варианта:
opengl3(по умолчанию), OpenGL 3.3 из собственных драйверов. Если включено rendering/gl_compatibility/fallback_to_native, это используется как резервный вариант, если ANGLE настроен как предпочтительный драйвер, но не поддерживается.opengl3_angle, OpenGL ES 3.0 с использованием уровня совместимости ANGLE поверх собственных драйверов Direct3D 11. Если включено rendering/gl_compatibility/fallback_to_angle, это используется как резервный вариант, если OpenGL 3.3 не поддерживается. По умолчанию ANGLE используется как драйвер по умолчанию для некоторых устройств, перечисленных в rendering/gl_compatibility/force_angle_on_devices.
bool rendering/gl_compatibility/fallback_to_angle = true 🔗
Если true, то совместимый рендерер будет использовать ANGLE, если нативный OpenGL не поддерживается или устройство указано в rendering/gl_compatibility/force_angle_on_devices.
Примечание: Этот параметр реализован только в Windows.
bool rendering/gl_compatibility/fallback_to_gles = true 🔗
Если true, то модуль рендеринга совместимости будет использовать OpenGL ES, если десктопный OpenGL не поддерживается.
Примечание: Этот параметр реализован только в Linux/X11.
bool rendering/gl_compatibility/fallback_to_native = true 🔗
Если true, то совместимый рендерер будет использовать нативный OpenGL, если ANGLE не поддерживается или динамические библиотеки ANGLE не найдены.
Примечание: Этот параметр реализован в macOS и Windows.
Array rendering/gl_compatibility/force_angle_on_devices 🔗
Array устройств, которые всегда должны использовать рендерер ANGLE.
Каждая запись — это Dictionary со следующими ключами: vendor (поставщик) и name (имя). name можно установить на *, чтобы добавить все устройства с указанным vendor.
Примечание: Этот параметр реализован только в Windows.
int rendering/gl_compatibility/item_buffer_size = 16384 🔗
Максимальное количество команд элементов холста, которые можно нарисовать за одно обновление области просмотра. Если будет выдано больше команд рендеринга, они будут проигнорированы. Уменьшение этого предела может улучшить производительность на устройствах с ограниченной пропускной способностью. Увеличьте этот предел, если вы обнаружите, что не все объекты рисуются в кадре.
bool rendering/gl_compatibility/nvidia_disable_threaded_optimization = true 🔗
Если true, отключает функцию потоковой оптимизации из драйверов NVIDIA, которые, как известно, вызывают подтормаживания в большинстве приложений OpenGL.
Примечание: Эта настройка работает только в Windows, так как на других платформах потоковая оптимизация по умолчанию отключена.
bool rendering/global_illumination/gi/use_half_resolution = false 🔗
Если true, рендерит буферы VoxelGI и SDFGI (Environment.sdfgi_enabled) с половинным разрешением (например, 960×540 при размере области просмотра 1920×1080). Это значительно повышает производительность при включении VoxelGI или SDFGI за счет артефактов, которые могут быть видны на краях полигонов. Потеря качества становится менее заметной по мере увеличения разрешения области просмотра. Рендеринг LightmapGI не зависит от этой настройки.
Примечание: Это свойство считывается только при запуске проекта. Чтобы установить половинное разрешение GI во время выполнения, вместо этого вызовите RenderingServer.gi_set_use_half_resolution().
int rendering/global_illumination/sdfgi/frames_to_converge = 5 🔗
Количество кадров, используемых для сходимости глобального освещения поля расстояний со знаком. Более высокие значения приводят к менее шумному результату за счет более длительного времени для полной сходимости. Это означает, что глобальное освещение сцены будет слишком темным в течение более длительного периода времени, особенно когда камера быстро движется. Фактическая скорость сходимости зависит от частоты кадров визуализации. Например, при настройке по умолчанию 30 кадров, рендеринг со скоростью 60 кадров в секунду приведет к полной сходимости SDFGI через 0,5 секунды. См. также rendering/global_illumination/sdfgi/frames_to_update_lights и rendering/global_illumination/sdfgi/probe_ray_count.
Примечание: Это свойство считывается только при запуске проекта. Чтобы управлять скоростью сходимости SDFGI во время выполнения, вместо этого вызовите RenderingServer.environment_set_sdfgi_frames_to_converge().
int rendering/global_illumination/sdfgi/frames_to_update_lights = 2 🔗
Количество кадров, в течение которых динамические источники света должны обновляться в глобальном освещении поля со знаком расстояния. Более высокие значения требуют больше времени для обновления непрямого освещения, исходящего от динамических источников света, но приводят к лучшей производительности при наличии большого количества динамических источников света. См. также rendering/global_illumination/sdfgi/frames_to_converge и rendering/global_illumination/sdfgi/probe_ray_count.
Примечание: Это влияет только на узлы Light3D, у которых Light3D.light_bake_mode равен Light3D.BAKE_DYNAMIC (что является значением по умолчанию). Рассмотрите возможность использования неподвижных источников света в режиме запекания Light3D.BAKE_STATIC для повышения производительности.
Примечание: Это свойство считывается только при запуске проекта. Чтобы управлять скоростью обновления освещения SDFGI во время выполнения, вместо этого вызовите RenderingServer.environment_set_sdfgi_frames_to_update_light().
int rendering/global_illumination/sdfgi/probe_ray_count = 1 🔗
Количество лучей, которые нужно отбросить за кадр при вычислении глобального освещения поля расстояний со знаком. Более высокие значения приводят к менее шумному результату за счет производительности. См. также rendering/global_illumination/sdfgi/frames_to_converge и rendering/global_illumination/sdfgi/frames_to_update_lights.
Примечание: Это свойство считывается только при запуске проекта. Чтобы контролировать качество SDFGI во время выполнения, вместо этого вызовите RenderingServer.environment_set_sdfgi_ray_count().
int rendering/global_illumination/voxel_gi/quality = 0 🔗
Качество VoxelGI для использования. Высокое качество приводит к более точному освещению и лучшим отражениям, но медленнее рендерится. Эта настройка не влияет на запеченные данные и не требует повторного запекания VoxelGI для применения.
Примечание: Это свойство считывается только при запуске проекта. Чтобы управлять качеством VoxelGI во время выполнения, вместо этого вызовите RenderingServer.voxel_gi_set_quality().
int rendering/lightmapping/bake_performance/max_rays_per_pass = 4 🔗
Максимальное количество лучей, которые можно выбросить за один проход при запекании карт освещения с помощью LightmapGI. В зависимости от сцены, изменение этого значения может привести к более высокой загрузке графического процессора при запекании карт освещения, что приведет к более быстрому времени запекания.
Примечание: Использование слишком высокого для вашей системы значения может привести к сбоям из-за того, что графический процессор не будет отвечать в течение длительного времени, а графический драйвер будет сброшен ОС.
int rendering/lightmapping/bake_performance/max_rays_per_probe_pass = 64 🔗
Максимальное количество лучей, которые могут быть выброшены за один проход при запекании динамического освещения объектов в LightmapProbes с LightmapGI. В зависимости от сцены, изменение этого значения может привести к более высокой загрузке графического процессора при запекании карт освещения, что приведет к более быстрому времени запекания.
Примечание: Использование слишком высокого для вашей системы значения может привести к сбоям из-за того, что графический процессор не будет отвечать в течение длительного времени, а графический драйвер будет сброшен ОС.
int rendering/lightmapping/bake_performance/max_transparency_rays = 8 🔗
Максимальное количество повторных лучей, которые могут быть выброшены за проход при попадании на прозрачную поверхность при запекании карт освещения с помощью LightmapGI. В зависимости от сцены, уменьшение этого значения может привести к более быстрому времени запекания.
Примечание: Использование слишком высокого для вашей системы значения может привести к сбоям из-за того, что графический процессор не отвечает в течение длительного времени, а графический драйвер сбрасывается ОС.
int rendering/lightmapping/bake_performance/region_size = 512 🔗
Размер области, используемый при запекании карт освещения с помощью LightmapGI. Указанное значение округляется до ближайшей степени 2.
Примечание: Использование слишком большого для вашей системы значения может привести к сбоям из-за того, что графический процессор не будет отвечать в течение длительного времени, а графический драйвер будет сброшен ОС.
int rendering/lightmapping/bake_quality/high_quality_probe_ray_count = 512 🔗
Количество лучей, используемых для запекания динамического освещения объектов в LightmapProbe, когда LightmapGI.quality равен LightmapGI.BAKE_QUALITY_HIGH.
int rendering/lightmapping/bake_quality/high_quality_ray_count = 512 🔗
Количество лучей, используемых для запекания карт освещения с помощью LightmapGI, когда LightmapGI.quality равен LightmapGI.BAKE_QUALITY_HIGH.
int rendering/lightmapping/bake_quality/low_quality_probe_ray_count = 64 🔗
Количество лучей, используемых для запекания динамического освещения объектов в LightmapProbe, когда LightmapGI.quality равен LightmapGI.BAKE_QUALITY_LOW.
int rendering/lightmapping/bake_quality/low_quality_ray_count = 32 🔗
Количество лучей, используемых для запекания карт освещения с помощью LightmapGI, когда LightmapGI.quality равен LightmapGI.BAKE_QUALITY_LOW.
int rendering/lightmapping/bake_quality/medium_quality_probe_ray_count = 256 🔗
Количество лучей, используемых для запекания динамического освещения объектов в LightmapProbe, когда LightmapGI.quality равен LightmapGI.BAKE_QUALITY_MEDIUM.
int rendering/lightmapping/bake_quality/medium_quality_ray_count = 128 🔗
Количество лучей, используемых для запекания карт освещения с помощью LightmapGI, когда LightmapGI.quality равен LightmapGI.BAKE_QUALITY_MEDIUM.
int rendering/lightmapping/bake_quality/ultra_quality_probe_ray_count = 2048 🔗
Количество лучей, используемых для запекания динамического освещения объектов в LightmapProbe-ов, когда LightmapGI.quality равен LightmapGI.BAKE_QUALITY_ULTRA.
int rendering/lightmapping/bake_quality/ultra_quality_ray_count = 2048 🔗
Количество лучей, используемых для запекания карт освещения с помощью LightmapGI, когда LightmapGI.quality равен LightmapGI.BAKE_QUALITY_ULTRA.
int rendering/lightmapping/denoising/denoiser = 0 🔗
Инструмент Denoiser, используемый для шумоподавления карт освещения.
Использование OpenImageDenoise (OIDN) требует настройки пути к исполняемому файлу OIDN в настройках редактора в EditorSettings.filesystem/tools/oidn/oidn_denoise_path. OIDN можно загрузить со страницы загрузок OpenImageDenoise.
OIDN будет использовать ускорение GPU, если оно доступно. В отличие от JNLM, который использует вычислительные шейдеры для ускорения, OIDN использует методы ускорения, специфичные для поставщика. Для ускорения GPU в системе должны быть установлены следующие библиотеки в зависимости от вашего GPU:
Графические процессоры NVIDIA: библиотеки CUDA
Графические процессоры AMD: библиотеки HIP
Графические процессоры Intel: библиотеки SYCL
Если в системе не настроено ускорение GPU, вместо этого будет выполняться многопоточное шумоподавление на базе CPU. В большинстве случаев шумоподавление на базе CPU значительно медленнее шумоподавителя JNLM.
bool rendering/lightmapping/lightmap_gi/use_bicubic_filter = true 🔗
Если true, применяет бикубический фильтр во время выборки карты освещения. Это делает карты освещения более гладкими при умеренных затратах производительности.
Примечание: Бикубический фильтр усиливает эффект «протекания», который возникает, когда разрешение карты освещения достаточно низкое.
float rendering/lightmapping/primitive_meshes/texel_size = 0.2 🔗
Texel_size, который используется для расчета Mesh.lightmap_size_hint для ресурсов PrimitiveMesh, если включен PrimitiveMesh.add_uv2.
float rendering/lightmapping/probe_capture/update_speed = 15 🔗
The framerate-independent update speed when representing dynamic object lighting from LightmapProbes. Higher values make dynamic object lighting update faster. Higher values can prevent fast-moving objects from having "outdated" indirect lighting displayed on them, at the cost of possible flickering when an object moves from a bright area to a shaded area.
Note: This property is only read when the project starts. To adjust the BVH build quality at runtime, use RenderingServer.lightmap_set_probe_capture_update_speed().
bool rendering/lights_and_shadows/directional_shadow/16_bits = true 🔗
Используйте 16 бит для карты глубины направленной тени. Включение этого параметра приводит к снижению точности теней и может привести к появлению акне в тенях, но может привести к повышению производительности на некоторых устройствах.
int rendering/lights_and_shadows/directional_shadow/size = 4096 🔗
Размер направленной тени в пикселях. Более высокие значения приведут к более резким теням за счет производительности. Значение округляется до ближайшей степени 2.
int rendering/lights_and_shadows/directional_shadow/size.mobile = 2048 🔗
Переопределение нижнего уровня для rendering/lights_and_shadows/directional_shadow/size на мобильных устройствах из-за проблем с производительностью или поддержкой драйвера.
int rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality = 2 🔗
Настройка качества для теней, отбрасываемых DirectionalLight3D. Настройки более высокого качества используют больше выборок при чтении из карт теней и, таким образом, работают медленнее. Настройки низкого качества могут привести к тому, что тени будут выглядеть зернистыми.
Примечание: Настройка Soft Very Low автоматически умножит constant размытие тени на 0,75x, чтобы уменьшить количество видимого шума. Это автоматическое изменение размытия влияет только на постоянный коэффициент размытия, определенный в Light3D.shadow_blur, а не на переменное размытие, выполняемое Light3D.light_angular_distance DirectionalLight3D.
Примечание: Настройки Soft High и Soft Ultra автоматически умножат constant размытие тени на 1,5× и 2× соответственно, чтобы лучше использовать увеличенное количество выборок. Это повышенное размытие также улучшает стабильность динамических теней объектов.
int rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality.mobile = 0 🔗
Переопределение нижнего уровня для rendering/lights_and_shadows/directional_shadow/soft_shadow_filter_quality на мобильных устройствах из-за проблем с производительностью или поддержкой драйверов.
bool rendering/lights_and_shadows/positional_shadow/atlas_16_bits = true 🔗
Используйте 16 бит для карты глубины тени omni/spot. Включение этого параметра приводит к снижению точности теней и может привести к появлению акне в тенях, но может привести к повышению производительности на некоторых устройствах.
int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_0_subdiv = 2 🔗
Степень подразделения первого квадранта атласа теней. Подробнее см. в документации.
int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_1_subdiv = 2 🔗
Степень подразделения второго квадранта на атласе теней. Подробнее см. в документации.
int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_2_subdiv = 3 🔗
Степень подразделения третьего квадранта на атласе теней. Подробнее см. в документации.
int rendering/lights_and_shadows/positional_shadow/atlas_quadrant_3_subdiv = 4 🔗
Степень подразделения четвёртого квадранта на атласе теней. Подробнее см. в документации.
int rendering/lights_and_shadows/positional_shadow/atlas_size = 4096 🔗
Размер атласа теней, используемого для узлов OmniLight3D и SpotLight3D. Подробнее см. в документации.
int rendering/lights_and_shadows/positional_shadow/atlas_size.mobile = 2048 🔗
Переопределение нижнего уровня для rendering/lights_and_shadows/positional_shadow/atlas_size на мобильных устройствах из-за проблем с производительностью или поддержкой драйверов.
int rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality = 2 🔗
Настройка качества для теней, отбрасываемых OmniLight3D и SpotLight3D. Настройки более высокого качества используют больше выборок при чтении карт теней и, таким образом, работают медленнее. Настройки низкого качества могут привести к тому, что тени будут выглядеть зернистыми.
Примечание: Настройка Soft Very Low автоматически умножит постоянное размытие тени на 0,75x, чтобы уменьшить количество видимого шума. Это автоматическое изменение размытия влияет только на постоянный коэффициент размытия, определенный в Light3D.shadow_blur, а не на переменное размытие, выполняемое Light3D.light_angular_distance DirectionalLight3D.
Примечание: Настройки Soft High и Soft Ultra автоматически умножат размытие тени на 1,5× и 2× соответственно, чтобы лучше использовать увеличенное количество выборок. Это повышенное размытие также улучшает стабильность динамических теней объектов.
int rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality.mobile = 0 🔗
Переопределение нижнего уровня для rendering/lights_and_shadows/positional_shadow/soft_shadow_filter_quality на мобильных устройствах из-за проблем с производительностью или поддержкой драйвера.
bool rendering/lights_and_shadows/tighter_shadow_caster_culling = true 🔗
Если true, элементы, которые не могут отбрасывать тени в пирамиду видимости, не будут отображаться в картах теней.
Это может повысить производительность.
bool rendering/lights_and_shadows/use_physical_light_units = false 🔗
Позволяет использовать физически обоснованные единицы для источников света. Физически обоснованные единицы, как правило, намного больше произвольных единиц, используемых Godot, но их можно использовать для соответствия освещения в Godot реальному освещению. Из-за большого динамического диапазона условий освещения, присутствующих в природе, Godot запекает экспозицию в различные величины освещения перед рендерингом. Большинство источников света запекают экспозицию автоматически во время выполнения на основе активного ресурса CameraAttributes, но LightmapGI и VoxelGI требуют установки ресурса CameraAttributes во время запекания для уменьшения динамического диапазона. Во время выполнения Godot автоматически согласует запеченную экспозицию с активной экспозицией, чтобы гарантировать, что освещение остается постоянным.
float rendering/limits/cluster_builder/max_clustered_elements = 512 🔗
Максимальное количество кластеризованных элементов (OmniLight3D + SpotLight3D + Decal + ReflectionProbe), которые могут быть отрисованы одновременно в поле зрения камеры. Если в поле зрения камеры присутствует больше кластеризованных элементов, некоторые из них не будут отрисованы (что приведет к появлению во время движения камеры). Включение затухания на расстоянии для источников света и декалей (Light3D.distance_fade_enabled, Decal.distance_fade_enabled) может помочь избежать достижения этого предела.
Уменьшение этого значения может повысить производительность графического процессора на определенных настройках, даже если максимальное количество кластеризованных элементов никогда не будет достигнуто в проекте.
Примечание: Этот параметр эффективен только при использовании метода рендеринга Forward+, а не Mobile и Compatibility.
int rendering/limits/global_shader_variables/buffer_size = 65536 🔗
Максимальное количество юниформ, которые может использовать глобальный юниформ-буфер шейдера. Каждый элемент занимает один слот. Другими словами, один юниформ float и юниформ vec4 займут одинаковое количество места в буфере.
Примечание: При использовании рендерера совместимости большинство мобильных устройств (и все веб-экспорты) будут ограничены максимальным размером 1024 из-за аппаратных ограничений.
int rendering/limits/opengl/max_lights_per_object = 8 🔗
Максимальное количество omnilights и spotlights, которые можно визуализировать на объект. При значении по умолчанию 8 это означает, что на каждую поверхность может влиять до 8 omnilights и 8 spotlights. Это дополнительно ограничивается аппаратной поддержкой и rendering/limits/opengl/max_renderable_lights. Установка этого низкого значения немного сократит использование памяти, может сократить время компиляции шейдера и может привести к более быстрому рендерингу на бюджетных, мобильных или веб-устройствах.
Примечание: Этот параметр эффективен только при использовании метода рендеринга Compatibility, а не Forward+ и Mobile.
int rendering/limits/opengl/max_renderable_elements = 65536 🔗
Максимальное количество элементов, отображаемых в кадре. Если в кадре отображается больше элементов, чем это значение, они не будут отрисованы. Помните, что элементы относятся к поверхностям сеток, а не к самим сеткам. Установка этого низкого значения немного сократит использование памяти и может сократить время компиляции шейдера, особенно в веб-приложениях. Для большинства случаев подходит значение по умолчанию, но рассмотрите возможность его максимального снижения при экспорте в веб-приложениях.
Примечание: Этот параметр эффективен только при использовании метода рендеринга Compatibility, а не Forward+ и Mobile.
int rendering/limits/opengl/max_renderable_lights = 32 🔗
Максимальное количество позиционных источников света, которые можно визуализировать в кадре. Если используется больше источников света, чем это число, они будут игнорироваться. Установка этого низкого значения немного снизит использование памяти и может уменьшить время компиляции шейдера, особенно в веб-приложениях. Для большинства случаев подходит значение по умолчанию, но рассмотрите возможность его максимального снижения при экспорте в веб-приложениях.
Примечание: Этот параметр эффективен только при использовании метода визуализации Compatibility, а не Forward+ и Mobile.
int rendering/limits/spatial_indexer/threaded_cull_minimum_instances = 1000 🔗
Минимальное количество экземпляров, которые должны присутствовать в сцене, чтобы включить вычисления отбраковки в нескольких потоках. Если в сцене меньше экземпляров, чем это число, отбраковка выполняется в одном потоке.
int rendering/limits/spatial_indexer/update_iterations_per_frame = 10 🔗
There is currently no description for this property. Please help us by contributing one!
float rendering/limits/time/time_rollover_secs = 3600 🔗
Максимальное время (в секундах) до переключения встроенной переменной шейдера TIME. Переменная TIME увеличивается на delta каждый кадр, и когда она превышает это значение, она переходит на 0.0. Поскольку большие значения с плавающей точкой менее точны, чем маленькие значения с плавающей точкой, это значение следует установить как можно ниже, чтобы максимизировать точность встроенной переменной TIME в шейдерах. Это особенно важно на мобильных платформах, где точность в шейдерах значительно снижена. Однако, если это значение установлено слишком низко, анимация шейдера может перезапускаться с самого начала во время выполнения проекта.
На настольных платформах рекомендуются значения ниже 4096, в идеале ниже 2048. На мобильных платформах рекомендуются значения ниже 64, в идеале ниже 32.
float rendering/mesh_lod/lod_change/threshold_pixels = 1.0 🔗
The automatic LOD bias to use for meshes rendered within the ReflectionProbe. Higher values will use less detailed versions of meshes that have LOD variations generated. If set to 0.0, automatic LOD is disabled. Increase rendering/mesh_lod/lod_change/threshold_pixels to improve performance at the cost of geometry detail.
Note: Depending on the mesh's attributes (vertex colors, blend shapes, ...), a mesh may have fewer levels of LOD generated to avoid visible distortion of the mesh once it is affected by vertex colors or blend shapes. Meshes with a very low vertex count will also not have any LODs generated, which means this setting will not affect them at all. In general, this setting makes the largest impact on static meshes with a high vertex count.
Note: rendering/mesh_lod/lod_change/threshold_pixels does not affect GeometryInstance3D visibility ranges (also known as "manual" LOD or hierarchical LOD).
Note: This property is only read when the project starts. To adjust the automatic LOD threshold at runtime, set Viewport.mesh_lod_threshold on the root Viewport.
int rendering/occlusion_culling/bvh_build_quality = 2 🔗
Иерархия ограничивающего объема для использования при рендеринге буфера отсечения окклюзии. Более высокие значения приведут к более точному отсечению окклюзии за счет более высокой загрузки ЦП. См. также rendering/occlusion_culling/occlusion_rays_per_thread.
Примечание: Это свойство считывается только при запуске проекта. Чтобы настроить качество сборки BVH во время выполнения, используйте RenderingServer.viewport_set_occlusion_culling_build_quality().
bool rendering/occlusion_culling/jitter_projection = true 🔗
Если true, проекция, используемая для рендеринга буфера окклюзии, будет дергаться. Это может помочь предотвратить некорректное отсечение объектов, видимых через небольшие зазоры.
int rendering/occlusion_culling/occlusion_rays_per_thread = 512 🔗
Количество лучей окклюзии, трассируемых на поток ЦП. Более высокие значения приведут к более точному отсечению окклюзии за счет более высокой загрузки ЦП. Количество пикселей буфера отсечения окклюзии примерно равно occlusion_rays_per_thread * number_of_logical_cpu_cores, поэтому оно будет зависеть от ЦП системы. Поэтому ЦП с меньшим количеством ядер будут использовать более низкое разрешение, чтобы попытаться сохранить затраты производительности на всех устройствах. См. также rendering/occlusion_culling/bvh_build_quality.
Примечание: Это свойство считывается только при запуске проекта. Чтобы настроить количество лучей окклюзии, трассируемых на поток во время выполнения, используйте RenderingServer.viewport_set_occlusion_rays_per_thread().
bool rendering/occlusion_culling/use_occlusion_culling = false 🔗
Если true, узлы OccluderInstance3D будут использоваться для отсечения окклюзии в 3D в корневом окне просмотра. В пользовательских окнах просмотра Viewport.use_occlusion_culling вместо этого должен быть установлен на true.
Примечание: Включение отсечения окклюзии имеет затраты на ЦП. Включайте отсечение окклюзии только в том случае, если вы действительно планируете его использовать. Большие открытые сцены с небольшим количеством или без объектов, блокирующих вид, как правило, не получат большой выгоды от отсечения окклюзии. Большие открытые сцены, как правило, больше выигрывают от LOD сетки и диапазонов видимости (GeometryInstance3D.visibility_range_begin и GeometryInstance3D.visibility_range_end) по сравнению с отсечением окклюзии.
Примечание: Из-за ограничений памяти occlusion culling не поддерживается по умолчанию в шаблонах веб-экспорта. Его можно включить, скомпилировав пользовательские шаблоны веб-экспорта с module_raycast_enabled=yes.
int rendering/reflections/reflection_atlas/reflection_count = 64 🔗
Количество кубических карт для хранения в атласе отражений. Количество ReflectionProbe в сцене будет ограничено этим количеством. Большее количество требует больше VRAM.
int rendering/reflections/reflection_atlas/reflection_size = 256 🔗
Размер граней кубической карты для ReflectionProbe. Большее число требует больше VRAM и может замедлить обновление зонда отражения.
int rendering/reflections/reflection_atlas/reflection_size.mobile = 128 🔗
Нижнее значение переопределения для rendering/reflections/reflection_atlas/reflection_size на мобильных устройствах из-за проблем с производительностью или поддержкой драйвера.
bool rendering/reflections/sky_reflections/fast_filter_high_quality = false 🔗
Используйте более качественный вариант алгоритма быстрой фильтрации. Значительно медленнее, чем при использовании качества по умолчанию, но дает более плавные отражения. Следует использовать только в случае особой детализации сцены.
int rendering/reflections/sky_reflections/ggx_samples = 32 🔗
Устанавливает количество образцов, которые следует взять при использовании выборки важности для Sky-ов и ReflectionProbe-ов. Более высокое значение приведет к более плавным, высококачественным отражениям, но увеличит время расчета карт яркости. В целом, для более простых сред с низким динамическим диапазоном требуется меньше образцов, тогда как для сред HDR и сред с высоким уровнем детализации требуется больше образцов.
int rendering/reflections/sky_reflections/ggx_samples.mobile = 16 🔗
Переопределение нижнего уровня для rendering/reflections/sky_reflections/ggx_samples на мобильных устройствах из-за проблем с производительностью или поддержкой драйверов.
int rendering/reflections/sky_reflections/roughness_layers = 8 🔗
Ограничивает количество слоев для использования в картах сияния при использовании выборки важности. Меньшее число будет немного быстрее и займет меньше VRAM.
bool rendering/reflections/sky_reflections/texture_array_reflections = true 🔗
Если true, то вместо mip-карт используются массивы текстур для зондов отражений и панорамных фонов (небо). Это снижает шум дрожания и артефакты масштабирования при отражениях, но вычисляется значительно медленнее и использует в rendering/reflections/sky_reflections/roughness_layers раз больше памяти.
Примечание: Отражения массивов текстур всегда отключены в macOS на графических процессорах Intel из-за ошибок драйвера.
bool rendering/reflections/sky_reflections/texture_array_reflections.mobile = false 🔗
Переопределение нижнего уровня для rendering/reflections/sky_reflections/texture_array_reflections на мобильных устройствах из-за проблем с производительностью или поддержкой драйвера.
bool rendering/reflections/specular_occlusion/enabled = true 🔗
Если true, то уменьшаются отражения в зависимости от окружающего освещения.
String rendering/renderer/rendering_method = "forward_plus" 🔗
Задает рендерер, который будет использоваться проектом. Варианты:
forward_plus (Forward+): Высокопроизводительный рендерер, разработанный для настольных устройств. Имеет более высокие базовые накладные расходы, но хорошо масштабируется для сложных сцен. Не подходит для старых устройств или мобильных устройств.
mobile (Mobile): Современный рендерер, разработанный для мобильных устройств. Имеет более низкие базовые накладные расходы, чем Forward+, но хуже масштабируется для больших сцен с большим количеством элементов.
gl_compatibility (Compatibility): Низкопроизводительный рендерер, разработанный для старых устройств. Основан на ограничениях API OpenGL 3.3 / OpenGL ES 3.0 / WebGL 2. Расчеты освещения выполняются на нелинейных данных цвета, закодированных в sRGB, что приводит к неточным результатам, которые могут выглядеть приемлемо для некоторых игр.
Это можно переопределить с помощью аргумента командной строки --rendering-method <method>.
Примечание: Фактический метод рендеринга может быть автоматически изменен движком в результате резервного варианта или указанного пользователем аргумента командной строки. Чтобы получить фактический метод рендеринга, используемый во время выполнения, используйте RenderingServer.get_current_rendering_method() вместо чтения значения этого параметра проекта.
String rendering/renderer/rendering_method.mobile = "mobile" 🔗
Переопределение для rendering/renderer/rendering_method на мобильных устройствах.
String rendering/renderer/rendering_method.web = "gl_compatibility" 🔗
Переопределение для rendering/renderer/rendering_method на веб-сайте.
int rendering/rendering_device/d3d12/agility_sdk_version = 618 🔗
Код версии Direct3D 12 Agility SDK для использования (D3D12SDKVersion). Он должен соответствовать дополнительной версии, установленной рядом с исполняемым файлом редактора и в каталоге шаблонов экспорта для текущей версии редактора. Например, если у вас установлена 1.618.5, вам нужно ввести 618 здесь.
int rendering/rendering_device/d3d12/max_resource_descriptors = 65536 🔗
Количество записей в куче дескрипторов ресурсов, используемых драйвером рендеринга Direct3D 12 для большинства операций рендеринга.
В зависимости от сложности сцен это значение может быть уменьшено или, наоборот, увеличено.
int rendering/rendering_device/d3d12/max_sampler_descriptors = 1024 🔗
Количество записей в куче дескрипторов сэмплера, используемых драйвером рендеринга Direct3D 12 для большинства операций рендеринга.
В зависимости от сложности сцен это значение может быть уменьшено или, наоборот, увеличено.
String rendering/rendering_device/driver = "vulkan" 🔗
Устанавливает драйвер, который будет использоваться рендерером при использовании рендерера на основе RenderingDevice, например, рендереров Forward+ или Mobile. Редактирование этого свойства не влияет на конфигурацию по умолчанию, так как у каждой из платформ есть переопределения, зависящие от платформы. Используйте эти переопределения для настройки драйвера для каждой платформы.
Это можно переопределить с помощью аргумента командной строки --rendering-driver <driver>.
Поддерживаемые значения:
metal, Metal (поддерживается на компьютерах Mac и iOS от Apple Silicon).vulkan, Vulkan (поддерживается на всех настольных и мобильных платформах).d3d12, Direct3D 12 (поддерживается в Windows).
Примечание: Доступность этих параметров зависит от того, был ли движок скомпилирован с поддержкой для них (определяется параметрами SCons vulkan, metal и d3d12).
Примечание: Если на данной платформе нет зарегистрированных драйверов, она может вернуться к рендереру совместимости (OpenGL 3), если включен rendering/rendering_device/fallback_to_opengl3. Этот откат происходит автоматически для веб-платформы независимо от этого свойства.
Примечание: Фактический драйвер рендеринга может быть автоматически изменен движком в результате отката или указанного пользователем аргумента командной строки. Чтобы получить фактический драйвер рендеринга, который используется во время выполнения, используйте RenderingServer.get_current_rendering_driver_name() вместо чтения значения этого параметра проекта.
String rendering/rendering_device/driver.android = "vulkan" 🔗
Переопределение Android для rendering/rendering_device/driver.
Поддерживается только один вариант:
vulkan, Vulkan из собственных драйверов.
Примечание: Если Vulkan был отключен во время компиляции, альтернативного драйвера RenderingDevice нет.
String rendering/rendering_device/driver.ios = "metal" 🔗
Переопределение iOS для rendering/rendering_device/driver.
Поддерживаются два варианта:
metal(по умолчанию), Metal из собственных драйверов.vulkan, Vulkan поверх Metal через MoltenVK.
String rendering/rendering_device/driver.linuxbsd = "vulkan" 🔗
Переопределение LinuxBSD для rendering/rendering_device/driver.
Поддерживается только один вариант:
vulkan, Vulkan из собственных драйверов.
Примечание: Если Vulkan был отключен во время компиляции, альтернативного драйвера RenderingDevice нет.
String rendering/rendering_device/driver.macos = "metal" 🔗
macOS переопределяет rendering/rendering_device/driver.
Поддерживаются два варианта:
metal(по умолчанию), Metal из собственных драйверов, поддерживается только на компьютерах Mac с процессорами Apple Silicon. На компьютерах Mac с процессорами Intel он автоматически перейдет наvulkan, поскольку поддержка Metal не реализована.vulkan, Vulkan поверх Metal через MoltenVK, поддерживается как на компьютерах Mac с процессорами Apple Silicon, так и на компьютерах Mac с процессорами Intel.
String rendering/rendering_device/driver.visionos = "metal" 🔗
Переопределение visionOS для rendering/rendering_device/driver.
Поддерживается только один параметр:
metal(по умолчанию), Metal из собственных драйверов.
String rendering/rendering_device/driver.windows = "vulkan" 🔗
Переопределение Windows для rendering/rendering_device/driver.
Поддерживаются два варианта:
vulkan(по умолчанию), Vulkan из нативных драйверов. Если rendering/rendering_device/fallback_to_vulkan включен, это используется в качестве резервного варианта, если Direct3D 12 не поддерживается.d3d12, Direct3D 12 из нативных драйверов. Если rendering/rendering_device/fallback_to_d3d12 включен, это используется в качестве резервного варианта, если Vulkan не поддерживается.
Примечание: Начиная с Godot 4.6, новые проекты по умолчанию настроены на использование d3d12 в Windows. В проектах, созданных до Godot 4.6, по соображениям совместимости сохраняется vulkan, но рекомендуется вручную переключить их на d3d12.
bool rendering/rendering_device/fallback_to_d3d12 = true 🔗
Если true, рендерер Forward+ будет переключаться на Direct3D 12, если Vulkan не поддерживается. Переключение всегда предпринимается независимо от этой настройки, если поддержка драйвера Vulkan была отключена во время компиляции.
Примечание: Эта настройка реализована только в Windows.
bool rendering/rendering_device/fallback_to_opengl3 = true 🔗
Если true, рендерер Forward+ будет переключаться на OpenGL 3, если Direct3D 12, Metal и Vulkan не поддерживаются.
Примечание: Этот параметр реализован в Windows, Android, macOS, iOS и Linux/X11.
bool rendering/rendering_device/fallback_to_vulkan = true 🔗
Если true, рендерер Forward+ будет переключаться на Vulkan, если Direct3D 12 (в Windows) или Metal (в macOS x86_64) не поддерживаются. Переключение всегда предпринимается независимо от этой настройки, если поддержка драйверов Direct3D 12 (Windows) или Metal (macOS) была отключена во время компиляции.
Примечание: Эта настройка реализована в Windows и macOS.
bool rendering/rendering_device/pipeline_cache/enable = true 🔗
Включите кэш конвейера, который сохраняется на диске, если графический API поддерживает его.
Примечание: Это свойство не может управлять кэшированием конвейера, которое делает сам драйвер GPU. Отключайте его только вместе с удалением содержимого кэша драйвера, если вы хотите смоделировать опыт, который получит пользователь при первом запуске игры.
float rendering/rendering_device/pipeline_cache/save_chunk_size_mb = 3.0 🔗
Определяет, с каким интервалом кэш конвейера сохраняется на диск. Чем меньше значение, тем чаще он сохраняется.
int rendering/rendering_device/staging_buffer/block_size_kb = 256 🔗
Размер блока, выделенного в буферах промежуточного хранения. Буферы промежуточного хранения — это промежуточные ресурсы, которые движок использует для загрузки или скачивания данных в графический процессор. Этот параметр определяет максимальный объем данных, которые могут быть переданы в операции копирования. Увеличение этого параметра приведет к более быстрой передаче данных за счет дополнительной памяти.
Примечание: Это свойство считывается только при запуске проекта. В настоящее время нет возможности изменить это значение во время выполнения.
int rendering/rendering_device/staging_buffer/max_size_mb = 128 🔗
Максимальный объем памяти, разрешенный для использования буферами промежуточного хранения. Если объем загружаемых или скачиваемых данных превышает этот объем, графический процессор остановится и будет ждать завершения предыдущих кадров.
Примечание: Это свойство считывается только при запуске проекта. В настоящее время нет возможности изменить это значение во время выполнения.
int rendering/rendering_device/staging_buffer/texture_download_region_size_px = 64 🔗
Размер области в пикселях, используемый для загрузки данных текстуры из графического процессора при использовании таких методов, как RenderingDevice.texture_get_data_async().
Примечание: Верхний предел этого свойства контролируется rendering/rendering_device/staging_buffer/block_size_kb и тем, возможно ли выделить один блок данных текстуры с этим размером области в запрошенном формате.
Примечание: Это свойство считывается только при запуске проекта. В настоящее время нет способа изменить это значение во время выполнения.
int rendering/rendering_device/staging_buffer/texture_upload_region_size_px = 64 🔗
Размер области в пикселях, используемый для загрузки данных текстуры из графического процессора при использовании таких методов, как RenderingDevice.texture_update().
Примечание: Верхний предел этого свойства контролируется rendering/rendering_device/staging_buffer/block_size_kb и тем, возможно ли выделить один блок данных текстуры с этим размером области в запрошенном формате.
Примечание: Это свойство считывается только при запуске проекта. В настоящее время нет возможности изменить это значение во время выполнения.
int rendering/rendering_device/vsync/frame_queue_size = 2 🔗
Количество кадров для отслеживания на стороне CPU перед остановкой в ожидании GPU.
Попробуйте V-Sync Simulator, интерактивный интерфейс, который имитирует представление, чтобы лучше понять, как на него влияют различные переменные при различных условиях.
Примечание: Это свойство считывается только при запуске проекта. В настоящее время нет способа изменить это значение во время выполнения.
int rendering/rendering_device/vsync/swapchain_image_count = 3 🔗
Количество изображений, из которых будет состоять цепочка обмена (задние буферы + передний буфер).
2 соответствует двойной буферизации, а 3 — тройной буферизации.
Двойная буферизация может обеспечить наименьшую задержку, но если V-Sync включен и система не может рендерить со скоростью 60 кадров в секунду, частота кадров снизится в несколько раз (например, до 30, 15, 7,5 и т. д.). Тройная буферизация обеспечивает более высокую частоту кадров (особенно если система не может достичь постоянных 60 кадров в секунду) за счет задержки до 1 кадра, с DisplayServer.VSYNC_ENABLED (FIFO).
Используйте двойную буферизацию с DisplayServer.VSYNC_ENABLED. Тройная буферизация обязательна, если вы планируете использовать режим DisplayServer.VSYNC_MAILBOX.
Попробуйте симулятор V-Sync — интерактивный интерфейс, имитирующий отображение, чтобы лучше понять, как на него влияют различные переменные в разных условиях.
Примечание: Изменения этого параметра будут применяться только при запуске или при пересоздании цепочки обмена (например, при установке режима V-Sync).
Примечание: На некоторых платформах фактическое значение может быть ограничено.
int rendering/rendering_device/vulkan/max_descriptors_per_pool = 64 🔗
Количество дескрипторов на пул. В бэкэнде Godot Vulkan используются линейные пулы для дескрипторов, которые будут создаваться и уничтожаться в одном кадре. Вместо того, чтобы уничтожать каждый отдельный дескриптор в каждом кадре, их все можно уничтожить одновременно, сбросив пул, к которому они принадлежат.
Большее число более эффективно до определенного предела, после этого оно будет только тратить оперативную память (максимальная эффективность достигается, когда на кадр приходится не более 1 пула). Небольшое число может привести к одному пулу на дескриптор, что отрицательно скажется на производительности.
Примечание: Изменение этого свойства требует перезапуска для вступления в силу.
float rendering/scaling_3d/fsr_sharpness = 0.2 🔗
Определяет, насколько резким будет увеличенное изображение при использовании режима увеличения FSR. Резкость уменьшается вдвое с каждым целым числом. Значения варьируются от 0,0 (максимальная резкость) до 2,0. Значения выше 2,0 не будут иметь видимого значения.
int rendering/scaling_3d/mode = 0 🔗
Устанавливает режим масштабирования 3D. Билинейный масштаб рендерит с разным разрешением, чтобы либо недовыбрать, либо перевыбрать область просмотра. FidelityFX Super Resolution 1.0, сокращенно FSR, — это технология масштабирования, которая создает высококачественные изображения с высокой частотой кадров с помощью алгоритма масштабирования с учетом пространства. FSR немного дороже, чем билинейный, но обеспечивает значительно более высокое качество изображения. На особенно недорогих графических процессорах дополнительные затраты на FSR могут не окупиться (по сравнению с использованием билинейного масштабирования с немного более высоким разрешением для соответствия производительности).
Примечание: FSR эффективен только при использовании метода рендеринга Forward+, а не Mobile или Compatibility. При использовании несовместимого метода рендеринга FSR вернется к билинейному масштабированию.
int rendering/scaling_3d/mode.ios 🔗
Переопределение iOS для rendering/scaling_3d/mode. Это позволяет выбирать пространственные и временные режимы масштабирования MetalFX, которые являются эксклюзивными для платформ, где используется драйвер рендеринга Metal.
int rendering/scaling_3d/mode.macos 🔗
Переопределение macOS для rendering/scaling_3d/mode. Это позволяет выбирать пространственные и временные режимы масштабирования MetalFX, которые являются эксклюзивными для платформ, где используется драйвер рендеринга Metal.
float rendering/scaling_3d/scale = 1.0 🔗
Scales the 3D render buffer based on the viewport size uses an image filter specified in rendering/scaling_3d/mode to scale the output image to the full viewport size. Values lower than 1.0 can be used to speed up 3D rendering at the cost of quality (undersampling). Values greater than 1.0 are only valid for bilinear mode and can be used to improve 3D rendering quality at a high performance cost (supersampling). See also rendering/anti_aliasing/quality/msaa_3d for multi-sample antialiasing, which is significantly cheaper but only smooths the edges of polygons.
Note: When using the Nearest scaling mode, to avoid uneven pixel scaling, it's highly recommended to use a value equal to an integer divisor with a dividend of 1. For example, it's best to use a scale of 0.5 (1/2), 0.3333 (1/3), 0.25 (1/4), 0.2 (1/5), and so on.
bool rendering/shader_compiler/shader_cache/compress = true 🔗
There is currently no description for this property. Please help us by contributing one!
bool rendering/shader_compiler/shader_cache/enabled = true 🔗
Включите кэш шейдеров, который сохраняет скомпилированные шейдеры на диске, чтобы предотвратить подтормаживания при компиляции шейдеров в следующий раз, когда шейдер понадобится.
bool rendering/shader_compiler/shader_cache/strip_debug = false 🔗
There is currently no description for this property. Please help us by contributing one!
bool rendering/shader_compiler/shader_cache/strip_debug.release = true 🔗
There is currently no description for this property. Please help us by contributing one!
bool rendering/shader_compiler/shader_cache/use_zstd_compression = true 🔗
There is currently no description for this property. Please help us by contributing one!
bool rendering/shading/overrides/force_lambert_over_burley = false 🔗
Если true, используется более быстрая, но менее качественная модель освещения материалов Ламберта вместо Берли.
bool rendering/shading/overrides/force_lambert_over_burley.mobile = true 🔗
Переопределение нижнего уровня для rendering/shading/overrides/force_lambert_over_burley на мобильных устройствах из-за проблем с производительностью или поддержкой драйверов.
bool rendering/shading/overrides/force_vertex_shading = false 🔗
Если true, принудительно затеняет вершины для всего рендеринга. Это может значительно повысить производительность, но также значительно снижает качество. Может использоваться для оптимизации производительности на недорогих мобильных устройствах.
int rendering/textures/basis_universal/rdo_dict_size = 1024 🔗
Размер словаря для оптимизации скорости-искажения (RDO) при импорте текстур как Basis Universal и при включении RDO, варьируется от 64 до 65536. Более высокие значения еще больше уменьшают размер файла, но значительно увеличивают время кодирования.
bool rendering/textures/basis_universal/zstd_supercompression = true 🔗
Если true, включается суперсжатие Zstandard для уменьшения размера файла при импорте текстур как Basis Universal.
Примечание: Текстуры Basis Universal необходимо сжимать, чтобы получить преимущество от меньших размеров файлов, в противном случае они будут такими же большими, как текстуры, сжатые VRAM.
int rendering/textures/basis_universal/zstd_supercompression_level = 6 🔗
Укажите уровень сжатия для стандартного суперсжатия Basis Universal Zstandard в диапазоне от 1 до 22.
int rendering/textures/canvas_textures/default_texture_filter = 1 🔗
Режим фильтрации текстур по умолчанию для встроенной текстуры CanvasItem. В шейдерах доступ к этой текстуре осуществляется как TEXTURE.
Примечание: Для эстетики пиксельной графики см. также rendering/2d/snap/snap_2d_vertices_to_pixel и rendering/2d/snap/snap_2d_transforms_to_pixel.
int rendering/textures/canvas_textures/default_texture_repeat = 0 🔗
Режим повторения текстуры по умолчанию для встроенной текстуры CanvasItem. В шейдерах доступ к этой текстуре осуществляется как TEXTURE.
int rendering/textures/decals/filter = 3 🔗
Качество фильтрации для узлов Decal. При использовании одного из режимов анизотропной фильтрации уровень анизотропной фильтрации контролируется rendering/textures/default_filters/anisotropic_filtering_level.
int rendering/textures/default_filters/anisotropic_filtering_level = 2 🔗
Устанавливает максимальное количество выборок при использовании анизотропной фильтрации текстур (как степень двойки). Большее количество выборок приведет к более резким текстурам под косыми углами, но его вычисление более затратно. Значение 0 принудительно отключает анизотропную фильтрацию, даже для материалов, где она включена.
Уровень анизотропной фильтрации также влияет на декали и проекторы света, если они настроены на использование анизотропной фильтрации. См. rendering/textures/decals/filter и rendering/textures/light_projectors/filter.
Примечание: В 3D, чтобы эта настройка имела эффект, установите BaseMaterial3D.texture_filter на BaseMaterial3D.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC или BaseMaterial3D.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC для материалов.
Примечание: В 2D, чтобы эта настройка имела эффект, установите CanvasItem.texture_filter на CanvasItem.TEXTURE_FILTER_LINEAR_WITH_MIPMAPS_ANISOTROPIC или CanvasItem.TEXTURE_FILTER_NEAREST_WITH_MIPMAPS_ANISOTROPIC на узле CanvasItem, отображающем текстуру (или в CanvasTexture). Однако анизотропная фильтрация редко бывает полезна в 2D, поэтому включайте ее только для текстур в 2D, если это создает значимую визуальную разницу.
Примечание: Это свойство считывается только при запуске проекта. Чтобы изменить уровень анизотропной фильтрации во время выполнения, вместо этого установите Viewport.anisotropic_filtering_level на корневом Viewport.
float rendering/textures/default_filters/texture_mipmap_bias = 0.0 🔗
Affects the final texture sharpness by reading from a lower or higher mipmap (also called "texture LOD bias"). Negative values make mipmapped textures sharper but grainier when viewed at a distance, while positive values make mipmapped textures blurrier (even when up close).
Enabling temporal antialiasing (rendering/anti_aliasing/quality/use_taa) will automatically apply a -0.5 offset to this value, while enabling FXAA (rendering/anti_aliasing/quality/screen_space_aa) will automatically apply a -0.25 offset to this value. If both TAA and FXAA are enabled at the same time, an offset of -0.75 is applied to this value.
Note: If rendering/scaling_3d/scale is lower than 1.0 (exclusive), rendering/textures/default_filters/texture_mipmap_bias is used to adjust the automatic mipmap bias which is calculated internally based on the scale factor. The formula for this is log2(scaling_3d_scale) + mipmap_bias.
Note: This property is only supported in the Forward+ and Mobile renderers, not Compatibility. In Compatibility, this property is always treated as if it was set to 0.0.
bool rendering/textures/default_filters/use_nearest_mipmap_filter = false 🔗
Если true, используется фильтрация mipmap ближайшего соседа при использовании mipmap (также называемая «билинейная фильтрация»), что приведет к появлению видимых швов между этапами mipmap. Это может повысить производительность на мобильных устройствах, поскольку используется меньшая пропускная способность памяти. Если false, используется линейная фильтрация mipmap (также называемая «трилинейной фильтрацией»).
Примечание: Это свойство считывается только при запуске проекта. В настоящее время нет возможности изменить эту настройку во время выполнения.
int rendering/textures/light_projectors/filter = 3 🔗
Качество фильтрации для проекторов OmniLight3D и SpotLight3D. При использовании одного из режимов анизотропной фильтрации уровень анизотропной фильтрации контролируется rendering/textures/default_filters/anisotropic_filtering_level.
bool rendering/textures/lossless_compression/force_png = false 🔗
Если true, импортер текстур будет импортировать текстуры без потерь, используя формат PNG. В противном случае он будет по умолчанию использовать WebP.
bool rendering/textures/vram_compression/cache_gpu_compressor = true 🔗
Если true, то компрессор текстур на графическом процессоре будет кэшировать локальное устройство рендеринга (RenderingDevice) и его ресурсы (шейдеры и конвейеры), что ускорит последующий импорт за счет увеличения использования памяти.
bool rendering/textures/vram_compression/compress_with_gpu = true 🔗
Если true, импортер текстур будет использовать графический процессор для сжатия текстур, что улучшит время импорта больших изображений.
Примечание: Это работает только на устройстве, которое поддерживает Vulkan, Direct3D 12 или Metal в качестве драйвера рендеринга.
Примечание: В настоящее время это влияет только на определенные сжатые форматы (BC1, BC3, BC4, BC5 и BC6), все из которых являются эксклюзивными для настольных платформ и консолей.
bool rendering/textures/vram_compression/import_etc2_astc = false 🔗
Если true, импортер текстур будет импортировать сжатые VRAM текстуры с использованием алгоритма Ericsson Texture Compression 2 для текстур и карт нормалей низкого качества и алгоритма Adaptable Scalable Texture Compression для текстур высокого качества (в размере блока 4×4).
Примечание: Этот параметр переопределяет. Импортер текстур всегда будет импортировать формат, необходимый хост-платформе, даже если он установлен на false.
Примечание: Изменение этого параметра не влияет на текстуры, которые уже были импортированы ранее. Чтобы этот параметр применился к текстурам, которые уже были импортированы, выйдите из редактора, удалите папку .godot/imported/, расположенную внутри папки проекта, затем перезапустите редактор (см. application/config/use_hidden_project_data_directory).
bool rendering/textures/vram_compression/import_s3tc_bptc = false 🔗
Если true, импортер текстур будет импортировать сжатые VRAM текстуры с использованием алгоритма сжатия текстур S3 (DXT1-5) для текстур низкого качества и алгоритма BPTC (BC6H и BC7) для текстур высокого качества. Этот алгоритм поддерживается только на настольных ПК-платформах и консолях.
Примечание: Этот параметр переопределяет. Импортер текстур всегда будет импортировать формат, необходимый хост-платформе, даже если он установлен на false.
Примечание: Изменение этого параметра не влияет на текстуры, которые уже были импортированы ранее. Чтобы этот параметр применялся к текстурам, которые уже были импортированы, выйдите из редактора, удалите папку .godot/imported/, расположенную внутри папки проекта, затем перезапустите редактор (см. application/config/use_hidden_project_data_directory).
int rendering/textures/webp_compression/compression_method = 2 🔗
Метод сжатия по умолчанию для WebP. Влияет как на WebP с потерями, так и на WebP без потерь. Более высокое значение приводит к уменьшению размера файлов за счет скорости сжатия. Скорость распаковки в основном не зависит от метода сжатия. Поддерживаемые значения: от 0 до 6. Обратите внимание, что методы сжатия выше 4 очень медленные и обеспечивают очень небольшую экономию.
float rendering/textures/webp_compression/lossless_compression_factor = 25 🔗
Коэффициент сжатия по умолчанию для WebP без потерь. Скорость распаковки в основном не зависит от коэффициента сжатия. Поддерживаемые значения от 0 до 100.
bool rendering/viewport/hdr_2d = false 🔗
Если true, включается Viewport.use_hdr_2d для корневого Viewport. 2D-рендеринг будет использовать буфер кадров в формате RGBA16 с высоким динамическим диапазоном (HDR). Кроме того, 2D-рендеринг будет выполняться на линейных значениях и будет преобразован с использованием соответствующей функции преобразования непосредственно перед выводом на экран.
На практике это означает, что конечный результат Viewport не будет ограничен диапазоном 0-1 и может использоваться в 3D-рендеринге без корректировки цветового кодирования. Это позволяет 2D-рендерингу использовать эффекты, требующие высокого динамического диапазона (например, 2D-свечение), а также существенно улучшает внешний вид эффектов, требующих высокодетализированных градиентов.
Примечание: Это свойство считывается только при запуске проекта. Чтобы включить/выключить HDR 2D во время выполнения, установите Viewport.use_hdr_2d для корневого Viewport.
bool rendering/viewport/transparent_background = false 🔗
Если true, включает Viewport.transparent_bg на корневом окне просмотра. Это позволяет прозрачности по пикселям быть эффективной после включения display/window/size/transparent и display/window/per_pixel_transparency/allowed.
Установите режим Variable Rate Shading (VRS) по умолчанию для главного окна просмотра. См. Viewport.vrs_mode, чтобы изменить это во время выполнения, и VRSMode для возможных значений.
String rendering/vrs/texture = "" 🔗
Если rendering/vrs/mode установлен на Texture, это путь к текстуре по умолчанию, загруженной как изображение VRS.
Текстура должна использовать формат сжатия без потерь, чтобы цвета можно было точно сопоставить. Следующие плотности VRS сопоставляются с различными цветами, причем более яркие цвета представляют более низкий уровень точности затенения:
- 1×1 = rgb(0, 0, 0) - #000000
- 1×2 = rgb(0, 85, 0) - #005500
- 2×1 = rgb(85, 0, 0) - #550000
- 2×2 = rgb(85, 85, 0) - #555500
- 2×4 = rgb(85, 170, 0) - #55aa00
- 4×2 = rgb(170, 85, 0) - #aa5500
- 4×4 = rgb(170, 170, 0) - #aaaa00
- 4×8 = rgb(170, 255, 0) - #aaff00 - Не поддерживается на большинстве аппаратных средств
- 8×4 = rgb(255, 170, 0) - #ffaa00 - Не поддерживается на большинстве аппаратных средств
- 8×8 = rgb(255, 255, 0) - #ffff00 - Не поддерживается на большинстве аппаратных средств
float threading/worker_pool/low_priority_thread_ratio = 0.3 🔗
Соотношение потоков WorkerThreadPool, которые будут зарезервированы для низкоприоритетных задач. Например, если доступно 10 потоков и это значение установлено как 0.3, 3 рабочих потока будут зарезервированы для низкоприоритетных задач. Фактическое значение не будет превышать количество ядер ЦП минус один, и, если возможно, по крайней мере один рабочий поток будет выделен для низкоприоритетных задач.
int threading/worker_pool/max_threads = -1 🔗
Максимальное количество потоков, используемых WorkerThreadPool. В веб-среде значение -1 означает 1. На других платформах это означает все логические ядра CPU (см. OS.get_processor_count()).
bool xr/openxr/binding_modifiers/analog_threshold = false 🔗
Если true, включает модификатор привязки аналогового порога, если он поддерживается средой выполнения XR.
bool xr/openxr/binding_modifiers/dpad_binding = false 🔗
Если true, включается модификатор привязки D-pad, если поддерживается средой выполнения XR.
String xr/openxr/default_action_map = "res://openxr_action_map.tres" 🔗
Конфигурация карты действий для загрузки по умолчанию.
bool xr/openxr/enabled = false 🔗
Если true, Godot настроит и инициализирует OpenXR при запуске.
int xr/openxr/environment_blend_mode = "0" 🔗
Укажите, как OpenXR должен вписываться в окружающую среду. Это относится к определенным устройствам дополненной реальности и сквозным устройствам, где изображения с камер вводятся в среду компоновщиком XR.
int xr/openxr/extensions/debug_message_types = "15" 🔗
Указывает типы сообщений, для которых мы запрашиваем отладочные сообщения. Требует установки xr/openxr/extensions/debug_utils и поддержки расширения средой выполнения XR.
int xr/openxr/extensions/debug_utils = "0" 🔗
Включает отладочные утилиты в средах выполнения XR, которые поддерживают расширение debug utils. Устанавливает максимальную серьезность сообщаемых сообщений (0 = отключено, 1 = ошибка, 2 = предупреждение, 3 = информация, 4 = подробно).
bool xr/openxr/extensions/eye_gaze_interaction = false 🔗
Укажите, следует ли включить отслеживание глаз для этого проекта. В зависимости от платформы может потребоваться дополнительная конфигурация экспорта.
bool xr/openxr/extensions/frame_synthesis = false 🔗
Если true, расширение синтеза кадров будет активировано, если оно поддерживается платформой.
Примечание: Эту функцию не следует включать одновременно с Application Space Warp; если она поддерживается, она заменяет ASW.
bool xr/openxr/extensions/hand_interaction_profile = false 🔗
Если true, расширение профиля взаимодействия рук будет активировано, если поддерживается платформой.
bool xr/openxr/extensions/hand_tracking = false 🔗
Если true, расширение отслеживания рук включено, если доступно.
Примечание: По умолчанию отслеживание рук будет работать только для источников данных, выбранных средой выполнения XR. Для SteamVR это предполагаемый контроллером источник данных, для большинства других сред выполнения это беспрепятственный источник данных. Нет способа запросить это. Если среда выполнения поддерживает расширение источника данных OpenXR, вы можете использовать xr/openxr/extensions/hand_tracking_controller_data_source и/или xr/openxr/extensions/hand_tracking_unobstructed_data_source, чтобы указать, что вы хотите включить эти источники данных. Если ни один из них не выбран, расширение источника данных не включено, и поведение среды выполнения XR по умолчанию сохраняется.
bool xr/openxr/extensions/hand_tracking_controller_data_source = false 🔗
Если true, запрашивается поддержка источника данных, выводимого контроллером. Если поддерживается, вы будете получать данные отслеживания рук, даже если пользователь держит контроллер, при этом положения пальцев автоматически выводятся из входных данных контроллера и/или датчиков.
Примечание: Для этого требуется поддержка расширения источника данных OpenXR и выводимого отслеживания рук от контроллера средой выполнения XR. Если не поддерживается, эта настройка будет игнорироваться. Для использования этой настройки должно быть включено xr/openxr/extensions/hand_tracking.
bool xr/openxr/extensions/hand_tracking_unobstructed_data_source = false 🔗
Если true, запрашивается поддержка источника данных с прямым отслеживанием. Если поддерживается, вы будете получать данные отслеживания рук на основе фактических положений пальцев пользователя, обычно определяемых оптическим отслеживанием.
Примечание: Для этого требуется поддержка расширения источника данных OpenXR и прямого отслеживания рук средой выполнения XR. Если не поддерживается, эта настройка будет игнорироваться. Для использования этой настройки должно быть включено xr/openxr/extensions/hand_tracking.
bool xr/openxr/extensions/render_model = false 🔗
Если true, мы включаем расширение модели рендеринга, если оно доступно.
Примечание: Это относится к базовому расширению модели рендеринга OpenXR и не имеет отношения к расширениям модели рендеринга других поставщиков.
int xr/openxr/extensions/spatial_entity/april_tag_dict = "3" 🔗
Типы маркеров April Tag, которые встроенная система отслеживания маркеров должна распознавать (если отслеживание маркеров April Tag доступно и включено).
int xr/openxr/extensions/spatial_entity/aruco_dict = "15" 🔗
Типы маркеров ArUco, которые встроенная система отслеживания маркеров должна распознавать (если отслеживание маркеров ArUco доступно и включено).
bool xr/openxr/extensions/spatial_entity/enable_builtin_anchor_detection = false 🔗
Если true, мы включаем встроенную логику обработки якорей. Godot будет запрашивать (постоянные) якоря и управлять экземплярами OpenXRAnchorTracker за вас. Если отключено, вам потребуется создать собственный пространственный и постоянный контекст и выполнять собственные запросы обнаружения.
Примечание: Для работы этой функции требуется поддержка и включение пространственных якорей.
bool xr/openxr/extensions/spatial_entity/enable_builtin_marker_tracking = false 🔗
Если true, мы включаем встроенную логику для обработки отслеживания маркеров. Godot будет запрашивать маркеры и управлять экземплярами OpenXRMarkerTracker за вас. Если отключено, вам потребуется создать собственный пространственный контекст и выполнять собственные запросы обнаружения.
Примечание: Для работы этой функции требуется поддержка и включение отслеживания маркеров.
bool xr/openxr/extensions/spatial_entity/enable_builtin_plane_detection = false 🔗
Если true, мы включаем встроенную логику обработки обнаружения плоскостей. Godot будет запрашивать обнаруженные плоскости (стены, полы, потолки и т. д.) и управлять экземплярами OpenXRPlaneTracker за вас. Если отключено, вам потребуется создать собственный пространственный контекст и выполнять собственные запросы обнаружения.
Примечание: Для работы этой функции требуется поддержка и включение отслеживания плоскостей.
bool xr/openxr/extensions/spatial_entity/enable_marker_tracking = false 🔗
Если true, запрашивается поддержка расширения отслеживания маркеров. Если поддержка есть, вы сможете запрашивать информацию о маркерах, обнаруженных средой выполнения XR, например, QR-кодах, маркерах Aruca и тегах April.
Примечание: Для этого требуется, чтобы среда выполнения XR поддерживала пространственные объекты OpenXR и расширения отслеживания маркеров. Если поддержка отсутствует, этот параметр будет проигнорирован. Для использования этого параметра необходимо включить параметр xr/openxr/extensions/spatial_entity/enabled.
bool xr/openxr/extensions/spatial_entity/enable_persistent_anchors = false 🔗
Если true, запрашивается поддержка расширения постоянных привязок. Если поддерживается, вы сможете сохранять пространственные привязки, и они будут восстанавливаться при запуске приложения.
Примечание: Для этого требуется, чтобы пространственные сущности OpenXR, пространственные привязки и расширения сохранения пространственных данных поддерживались средой выполнения XR. Если не поддерживается, этот параметр будет проигнорирован. Для использования этого параметра необходимо включить xr/openxr/extensions/spatial_entity/enabled и xr/openxr/extensions/spatial_entity/enable_spatial_anchors.
bool xr/openxr/extensions/spatial_entity/enable_plane_tracking = false 🔗
Если true, запрашивается поддержка расширения отслеживания плоскостей. Если поддержка есть, вы сможете запрашивать информацию о плоскостях, обнаруженных средой выполнения XR, например, о стенах, полах и т. д.
Примечание: Для этого требуется, чтобы среда выполнения XR поддерживала пространственные объекты OpenXR и расширения отслеживания плоскостей. Если поддержка отсутствует, этот параметр будет проигнорирован. Для использования этого параметра необходимо включить параметр xr/openxr/extensions/spatial_entity/enabled.
bool xr/openxr/extensions/spatial_entity/enable_spatial_anchors = false 🔗
Если true, запрашивается поддержка расширения пространственных якорей. Если поддерживается, вы сможете регистрировать местоположения якорей в реальном мире, которые среда выполнения XR будет корректировать по мере необходимости и/или потенциально передавать другим гарнитурам.
Примечание: Для этого требуется, чтобы среда выполнения XR поддерживала пространственные сущности OpenXR и расширения пространственных якорей. Если это не поддерживается, этот параметр будет проигнорирован. Для использования этого параметра необходимо включить параметр xr/openxr/extensions/spatial_entity/enabled.
bool xr/openxr/extensions/spatial_entity/enabled = false 🔗
Если true, запрашивается поддержка расширения пространственных сущностей. Если поддержка есть, вы сможете получить доступ к пространственной информации об окружающей вас среде. Доступная информация зависит от дополнительных расширений.
Примечание: Для этого требуется, чтобы расширение пространственных сущностей OpenXR поддерживалось средой выполнения XR. Если поддержка отсутствует, этот параметр будет проигнорирован.
bool xr/openxr/extensions/user_presence = false 🔗
If true, the user presence extension is enabled if available.
int xr/openxr/form_factor = "0" 🔗
Укажите, следует ли настраивать OpenXR для HMD или портативного устройства.
bool xr/openxr/foveation_dynamic = false 🔗
Если true и поддерживается фовеация, будет автоматически регулироваться уровень фовеации на основе частоты кадров до уровня, установленного в xr/openxr/foveation_level.
bool xr/openxr/foveation_eye_tracked = true 🔗
If true and foveation level is set to anything other than "Disabled", eye-tracked foveation will be used, so long as it's supported by the headset.
int xr/openxr/foveation_level = "0" 🔗
Применяется уровень фовеации, если поддерживается.
Примечание: На платформах, отличных от Android, если включен параметр rendering/anti_aliasing/quality/msaa_3d, эта функция будет отключена.
bool xr/openxr/foveation_with_subsampled_images = true 🔗
If true and foveation is also enabled, subsampled images will be used on Vulkan. This can improve the performance gain from foveated rendering, especially when using high foveation levels.
Note:: Using subsampled images is incompatible with many screen-space rendering features or post-processing effects like FXAA or glow. If any such effects are enabled, subsampled images will automatically be disabled and a warning shown in the log.
int xr/openxr/reference_space = "1" 🔗
Укажите ссылочное пространство по умолчанию.
bool xr/openxr/startup_alert = true 🔗
Если true, Godot отобразит модальное окно предупреждения, если инициализация OpenXR завершится неудачно при запуске.
bool xr/openxr/submit_depth_buffer = false 🔗
Если true, OpenXR будет управлять буфером глубины и использовать буфер глубины для расширенного повторного проецирования, если это поддерживается средой выполнения XR. Обратите внимание, что некоторые функции рендеринга в Godot не могут использоваться с этой функцией.
String xr/openxr/target_api_version = "" 🔗
При необходимости задается конкретная версия API OpenXR для инициализации в формате major.minor.patch. Некоторые среды выполнения XR ограничивают старое поведение проверкой версии. Это нестандартное поведение OpenXR.
int xr/openxr/view_configuration = "1" 🔗
Укажите конфигурацию представления, с помощью которой будет настроена настройка OpenXR для моно или стереорендеринга.
bool xr/shaders/enabled = false 🔗
Если true, Godot скомпилирует шейдеры, необходимые для XR.
Описания метода
void add_property_info(hint: Dictionary) 🔗
Добавляет информацию о пользовательском свойстве к свойству. Словарь должен содержать:
"name": String (имя свойства)"type": int (см. Variant.Type)опционально
"hint": int (см. PropertyHint) и"hint_string": String
ProjectSettings.set("category/property_name", 0)
var property_info = {
"name": "category/property_name",
"type": TYPE_INT,
"hint": PROPERTY_HINT_ENUM,
"hint_string": "one,two,three"
}
ProjectSettings.add_property_info(property_info)
ProjectSettings.Singleton.Set("category/property_name", 0);
var propertyInfo = new Godot.Collections.Dictionary
{
{ "name", "category/propertyName" },
{ "type", (int)Variant.Type.Int },
{ "hint", (int)PropertyHint.Enum },
{ "hint_string", "one,two,three" },
};
ProjectSettings.AddPropertyInfo(propertyInfo);
Примечание: Установка "usage" для свойства не поддерживается. Для изменения флагов "usage", используйте set_as_basic(), set_restart_if_changed() и set_as_internal().
bool check_changed_settings_in_group(setting_prefix: String) const 🔗
Проверяет, существуют ли какие-либо настройки с префиксом setting_prefix в наборе измененных настроек. См. также get_changed_settings().
Очищает всю конфигурацию (не рекомендуется, может что-то сломать).
PackedStringArray get_changed_settings() const 🔗
Получает массив настроек, измененных с момента последнего сохранения. Обратите внимание, что внутренне changed_settings очищается после успешного сохранения, поэтому обычно наиболее подходящее место для использования этого метода — при обработке settings_changed.
Array[Dictionary] get_global_class_list() 🔗
Возвращает Array зарегистрированных глобальных классов. Каждый глобальный класс представлен как Dictionary, который содержит следующие записи:
base— имя базового класса;class— имя зарегистрированного глобального класса;icon— путь к пользовательскому значку глобального класса, если он есть;language— имя языка программирования, на котором написан глобальный класс;path— путь к файлу, содержащему глобальный класс.
Примечание: Пути к скрипту и значку являются локальными для файловой системы проекта, т. е. они начинаются с res://.
int get_order(name: String) const 🔗
Возвращает порядок значения конфигурации (влияет при сохранении в файле конфигурации).
Variant get_setting(name: String, default_value: Variant = null) const 🔗
Возвращает значение параметра, идентифицированного name. Если параметр не существует и указано default_value, возвращается значение default_value. В противном случае возвращается null.
print(ProjectSettings.get_setting("application/config/name"))
print(ProjectSettings.get_setting("application/config/custom_description", "Описание не указано."))
GD.Print(ProjectSettings.GetSetting("application/config/name"));
GD.Print(ProjectSettings.GetSetting("application/config/custom_description", "Описание не указано."));
Примечание: Этот метод не учитывает потенциальные переопределения функций автоматически. Используйте get_setting_with_override() для бесшовной обработки.
См. также has_setting() для проверки существования настройки.
Variant get_setting_with_override(name: StringName) const 🔗
Аналогично get_setting(), но применяет переопределения тегов функций, если таковые существуют и допустимы.
Пример: Если переопределение настройки "application/config/name.windows" существует, и следующий код выполняется в операционной системе Windows, вместо этого выводится переопределенная настройка:
print(ProjectSettings.get_setting_with_override("application/config/name"))
GD.Print(ProjectSettings.GetSettingWithOverride("application/config/name"));
Variant get_setting_with_override_and_custom_features(name: StringName, features: PackedStringArray) const 🔗
Аналогично get_setting_with_override(), но применяет переопределения тегов функций вместо текущих функций ОС.
String globalize_path(path: String) const 🔗
Возвращает абсолютный, собственный путь ОС, соответствующий локализованному path (начинающемуся с res:// или user://). Возвращаемый путь будет зависеть от операционной системы и предпочтений пользователя. См. Пути к файлам в проектах Godot, чтобы узнать, во что преобразуются эти пути. См. также localize_path().
Примечание: globalize_path() с res:// не будет работать в экспортированном проекте. Вместо этого добавьте базовый каталог исполняемого файла к пути при запуске из экспортированного проекта:
var path = ""
if OS.has_feature("editor"):
# Запуск из двоичного редактора.
# `path` будет содержать абсолютный путь к `hello.txt`, расположенному в корне проекта.
path = ProjectSettings.globalize_path("res://hello.txt")
else:
# Запуск из экспортированного проекта.
# `path` будет содержать абсолютный путь к `hello.txt` рядом с исполняемым файлом.
# Это *не* идентично использованию `ProjectSettings.globalize_path()` с путем `res://`,
# но достаточно близок по духу.
path = OS.get_executable_path().get_base_dir().path_join("hello.txt")
bool has_setting(name: String) const 🔗
Возвращает true, если присутствует значение конфигурации.
Примечание: Для обнаружения пользовательские настройки должны быть либо определены с помощью set_setting(), либо существовать в файле project.godot. Это особенно актуально при использовании set_initial_value().
bool load_resource_pack(pack: String, replace_files: bool = true, offset: int = 0) 🔗
Загружает содержимое файла .pck или .zip, указанного pack, в файловую систему ресурсов (res://). Возвращает true в случае успеха.
Примечание: Если файл из pack имеет тот же путь, что и файл, уже находящийся в файловой системе ресурсов, любые попытки загрузить этот файл будут использовать файл из pack, если только replace_files не установлен в false.
Примечание: Необязательный параметр offset можно использовать для указания смещения в байтах до начала пакета ресурсов. Это поддерживается только для файлов .pck.
Примечание: DirAccess не будет отображать изменения, внесенные в содержимое res:// после вызова этой функции.
String localize_path(path: String) const 🔗
Возвращает локализованный путь (начинающийся с res://), соответствующий абсолютному, нативному пути ОС path. См. также globalize_path().
Saves the configuration to the project.godot file.
Note: This method is intended to be used by editor plugins, as modified ProjectSettings can't be loaded back in the running app. If you want to change project settings in exported projects, use save_custom() to save an override.cfg file.
Error save_custom(file: String) 🔗
Saves the configuration to a custom file. The file extension must be .godot (to save in text-based ConfigFile format) or .binary (to save in binary format). You can also save an override.cfg file, which is also text, but can be used in exported projects unlike other formats.
void set_as_basic(name: String, basic: bool) 🔗
Определяет, считается ли указанная настройка базовой или расширенной. Базовые настройки всегда будут отображаться в настройках проекта. Расширенные настройки будут отображаться только в том случае, если пользователь включит опцию «Расширенные настройки».
void set_as_internal(name: String, internal: bool) 🔗
Определяет, считается ли указанная настройка внутренней. Внутренняя настройка не будет отображаться в диалоговом окне «Параметры проекта». Это в основном полезно для дополнений, которым необходимо хранить собственные внутренние настройки, не предоставляя их напрямую пользователю.
void set_initial_value(name: String, value: Variant) 🔗
Устанавливает начальное значение указанного параметра. Это значение, к которому возвращается параметр. Параметр должен уже существовать до вызова этого метода. Обратите внимание, что параметры проекта, равные их значению по умолчанию, не сохраняются, поэтому ваш код должен это учитывать.
extends EditorPlugin
const SETTING_NAME = "addons/my_setting"
const SETTING_DEFAULT = 10.0
func _enter_tree():
if not ProjectSettings.has_setting(SETTING_NAME):
ProjectSettings.set_setting(SETTING_NAME, SETTING_DEFAULT)
ProjectSettings.set_initial_value(SETTING_NAME, SETTING_DEFAULT)
Если у вас есть настройка проекта, определенная с помощью EditorPlugin, но вы хотите использовать ее в работающем проекте, вам понадобится аналогичный код во время выполнения.
void set_order(name: String, position: int) 🔗
Устанавливает порядок значения конфигурации (влияет при сохранении в файле конфигурации).
void set_restart_if_changed(name: String, restart: bool) 🔗
Устанавливает, требуется ли перезапуск редактора для правильного вступления в силу настройки.
Примечание: Это просто подсказка для отображения пользователю того, что редактор необходимо перезапустить для вступления изменений в силу. Включение set_restart_if_changed() не задерживает установку настройки при ее изменении.
void set_setting(name: String, value: Variant) 🔗
Устанавливает значение настройки.
ProjectSettings.set_setting("application/config/name", "Example")
ProjectSettings.SetSetting("application/config/name", "Example");
Это также можно использовать для удаления пользовательских настроек проекта. Для этого измените значение настройки на null.