Environment
Наследует: Resource < RefCounted < Object
Ресурс для узлов среды (например, WorldEnvironment), которые определяют несколько параметров рендеринга.
Описание
Ресурс для узлов окружения (например, WorldEnvironment), которые определяют множество операций с окружением (таких как фон Sky или Color, окружающее освещение, туман, глубина резкости...). Эти параметры влияют на окончательный рендеринг сцены. Порядок этих операций следующий:
Размытие глубины резкости
Автоматическая экспозиция
Свечение
Тональная карта
Коррекция
Обучающие материалы
Свойства
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
||
|
Методы
get_glow_level(idx: int) const |
|
void |
set_glow_level(idx: int, intensity: float) |
Перечисления
enum BGMode: 🔗
BGMode BG_CLEAR_COLOR = 0
Очищает фон, используя чистый цвет, определенный в ProjectSettings.rendering/environment/defaults/default_clear_color.
BGMode BG_COLOR = 1
Очищает фон, используя пользовательский цвет очистки.
BGMode BG_SKY = 2
Отображает заданное пользователем небо на заднем плане.
BGMode BG_CANVAS = 3
Отображает CanvasLayer на заднем плане.
BGMode BG_KEEP = 4
Сохраняет на экране каждый пиксель, нарисованный на заднем плане. Это самый быстрый фоновый режим, но его можно безопасно использовать только в полностью внутренних сценах (без видимого неба или отражений неба). Если включить в сцене, где виден фон, при перемещении камеры будут видны артефакты "призрачного следа".
BGMode BG_CAMERA_FEED = 5
Отображает изображение с камеры в фоновом режиме.
BGMode BG_MAX = 6
Представляет размер перечисления BGMode.
enum AmbientSource: 🔗
AmbientSource AMBIENT_SOURCE_BG = 0
Соберите окружающий свет из любого источника, указанного в качестве фона.
AmbientSource AMBIENT_SOURCE_DISABLED = 1
Отключить окружающее освещение. Это обеспечивает небольшой прирост производительности по сравнению с AMBIENT_SOURCE_SKY.
AmbientSource AMBIENT_SOURCE_COLOR = 2
Укажите конкретный Color для окружающего света. Это обеспечивает небольшое повышение производительности по сравнению с AMBIENT_SOURCE_SKY.
AmbientSource AMBIENT_SOURCE_SKY = 3
Собирает окружающий свет с Sky независимо от фона.
enum ReflectionSource: 🔗
ReflectionSource REFLECTION_SOURCE_BG = 0
Использует фон для отражений.
ReflectionSource REFLECTION_SOURCE_DISABLED = 1
Отключить отражения. Это обеспечивает небольшой прирост производительности по сравнению с другими вариантами.
ReflectionSource REFLECTION_SOURCE_SKY = 2
Использует Sky для отражений независимо от фона.
enum ToneMapper: 🔗
ToneMapper TONE_MAPPER_LINEAR = 0
Не изменяет цветовые данные, что приводит к линейной кривой тональной компрессии, которая неестественно обрезает яркие значения, из-за чего яркое освещение выглядит пересвеченным. Самый простой и быстрый тональный компрессионный фильтр.
ToneMapper TONE_MAPPER_REINHARDT = 1
Простая кривая тональной компрессии, которая сглаживает яркие значения, чтобы предотвратить обрезку. Это приводит к изображению, которое может выглядеть тусклым и малоконтрастным. Медленнее, чем TONE_MAPPER_LINEAR.
Примечание: Если tonemap_white оставить на значении по умолчанию 1.0, TONE_MAPPER_REINHARDT создает изображение, идентичное TONE_MAPPER_LINEAR.
ToneMapper TONE_MAPPER_FILMIC = 2
Использует кривую тональной компрессии, похожую на пленку, для предотвращения обрезки ярких значений и обеспечения лучшего контраста, чем TONE_MAPPER_REINHARDT. Немного медленнее, чем TONE_MAPPER_REINHARDT.
ToneMapper TONE_MAPPER_ACES = 3
Использует высококонтрастную кривую тональной компрессии, похожую на кинопленку, и обесцвечивает яркие значения для более реалистичного вида. Немного медленнее, чем TONE_MAPPER_FILMIC.
Примечание: Этот оператор тональной компрессии называется «ACES Fitted» в Godot 3.x.
ToneMapper TONE_MAPPER_AGX = 4
Использует регулируемую кривую тонального отображения, аналогичную пленочной, и снижает насыщенность ярких значений для более реалистичного вида. Лучше других тональных преобразователей сохраняет оттенок цветов при их увеличении яркости. Самый медленный вариант тонального отображения.
enum GlowBlendMode: 🔗
GlowBlendMode GLOW_BLEND_MODE_ADDITIVE = 0
Добавляет эффект свечения в сцену.
GlowBlendMode GLOW_BLEND_MODE_SCREEN = 1
Добавляет эффект свечения к сцене после изменения влияния свечения в зависимости от значения сцены; темные значения будут сильно подвержены влиянию свечения, а светлые — нет. Такой подход позволяет избежать чрезмерного усиления ярких значений из-за эффекта свечения. tonemap_white используется для определения максимального значения сцены, при котором свечение не должно оказывать никакого влияния. Если tonemap_mode установлено на TONE_MAPPER_LINEAR, в качестве максимального значения сцены будет использоваться значение 1.0.
GlowBlendMode GLOW_BLEND_MODE_SOFTLIGHT = 2
Добавляет эффект свечения к тонированному изображению после изменения влияния свечения в зависимости от значения изображения; темные и светлые значения не будут подвержены влиянию свечения, а средние значения будут сильно подвержены его влиянию. Такой подход позволяет избежать чрезмерного увеличения яркости светлых значений из-за эффекта свечения. Свечение будет оказывать наибольшее влияние на значения изображения 0.25 и не будет оказывать никакого влияния при применении к значениям изображения больше 1.0.
GlowBlendMode GLOW_BLEND_MODE_REPLACE = 3
Заменяет цвет всех пикселей эффектом свечения. Это можно использовать для имитации эффекта размытия на весь экран, настроив параметры свечения так, чтобы они соответствовали яркости исходного изображения, или для предварительного просмотра конфигурации свечения в редакторе.
GlowBlendMode GLOW_BLEND_MODE_MIX = 4
Смешивает изображение свечения с изображением сцены. Лучше всего использовать с glow_bloom, чтобы избежать затемнения сцены.
enum FogMode: 🔗
FogMode FOG_MODE_EXPONENTIAL = 0
Используйте физическую модель тумана, определяемую в первую очередь плотностью тумана.
FogMode FOG_MODE_DEPTH = 1
Используйте простую модель тумана, определяемую начальным и конечным положениями и пользовательской кривой. Хотя эта модель не является физически точной, она может быть полезна, когда вам нужен более художественный контроль.
enum SDFGIYScale: 🔗
SDFGIYScale SDFGI_Y_SCALE_50_PERCENT = 0
Используйте масштаб 50% для SDFGI по оси Y (вертикальной). Ячейки SDFGI будут в два раза короче своей ширины. Это позволяет повысить детализацию GI и уменьшить утечку света при тонких полах и потолках. Обычно это лучший выбор для сцен, в которых не так много вертикальности.
SDFGIYScale SDFGI_Y_SCALE_75_PERCENT = 1
Используйте 75% масштаб для SDFGI на оси Y (вертикальной). Это баланс между 50% и 100% шкалами Y SDFGI.
SDFGIYScale SDFGI_Y_SCALE_100_PERCENT = 2
Используйте масштаб 100% для SDFGI на оси Y (вертикальной). Ячейки SDFGI будут такими же высокими, как и широкими. Обычно это лучший выбор для сцен с высокой вертикальностью. Недостатком является то, что утечка света может стать более заметной при тонких полах и потолках.
Описания свойств
float adjustment_brightness = 1.0 🔗
Применяет простую регулировку яркости к отрендеренному изображению после тонального отображения. Для регулировки яркости сцены используйте tonemap_exposure, который применяется до тонального отображения и, следовательно, менее подвержен проблемам с яркими цветами. Эффективно только если adjustment_enabled имеет значение true.
Texture adjustment_color_correction 🔗
Таблица поиска (LUT) Texture2D или Texture3D для встроенной цветокоррекции постобработки. Можно использовать GradientTexture1D для одномерной LUT или Texture3D для более сложной LUT. Действует только если adjustment_enabled имеет значение true.
float adjustment_contrast = 1.0 🔗
Увеличение значения параметра adjustment_contrast сделает темные значения темнее, а светлые — ярче. Эта простая корректировка применяется к отрендеренному изображению после тонального отображения. При значении больше 1.0 параметр adjustment_contrast может обрезать цвета, которые становятся слишком яркими или слишком темными. Эффективно только в том случае, если параметр adjustment_enabled имеет значение true.
bool adjustment_enabled = false 🔗
Если true, то включаются свойства adjustment_*, предоставляемые этим ресурсом. Если false, то изменения свойств adjustment_* не будут иметь никакого эффекта на визуализированную сцену.
float adjustment_saturation = 1.0 🔗
Применяет простую корректировку насыщенности к отрендеренному изображению после тонального отображения. Если параметр adjustment_saturation установлен на 0.0, отрендеренное изображение будет полностью преобразовано в изображение в оттенках серого. Действует только если параметр adjustment_enabled имеет значение true.
Color ambient_light_color = Color(0, 0, 0, 1) 🔗
Color окружающего света. Действует только в том случае, если ambient_light_sky_contribution ниже, чем 1.0 (исключительно).
float ambient_light_energy = 1.0 🔗
Энергия окружающего света. Чем выше значение, тем сильнее свет. Действует только если ambient_light_sky_contribution ниже, чем 1.0 (исключительно).
float ambient_light_sky_contribution = 1.0 🔗
Определяет количество света, которое небо приносит на сцену. Значение 0.0 означает, что излучение света неба не влияет на освещенность сцены, таким образом, все окружающее освещение обеспечивается окружающим светом. Напротив, значение 1.0 означает, что весь свет, который влияет на сцену, обеспечивается небом, таким образом, параметр окружающего света не влияет на сцену.
Примечание: ambient_light_sky_contribution внутренне ограничен между 0.0 и 1.0 (включительно).
AmbientSource ambient_light_source = 0 🔗
void set_ambient_source(value: AmbientSource)
AmbientSource get_ambient_source()
Источник окружающего света, используемый для рендеринга материалов и глобального освещения.
int background_camera_feed_id = 1 🔗
Идентификатор камеры, который будет отображаться на заднем плане.
int background_canvas_max_layer = 0 🔗
Максимальный идентификатор слоя для отображения. Действует только при использовании фонового режима BG_CANVAS.
Color background_color = Color(0, 0, 0, 1) 🔗
Color, отображаемый для чистых областей сцены. Действует только при использовании фонового режима BG_COLOR.
float background_energy_multiplier = 1.0 🔗
Множитель для фоновой энергии. Увеличьте, чтобы сделать фон ярче, уменьшите, чтобы сделать фон тусклее.
float background_intensity = 30000.0 🔗
Яркость фона измеряется в нитах (nits) (кандела на квадратный метр). Используется только при включенном ProjectSettings.rendering/lights_and_shadows/use_physical_light_units. Значение по умолчанию примерно соответствует небу в полдень.
Фоновый режим.
float fog_aerial_perspective = 0.0 🔗
Если установлено выше 0.0 (исключительно), смешивается между цветом тумана и цветом фона Sky, как считано из кубической карты сияния. Это имеет небольшие затраты производительности, если установлено выше 0.0. Необходимо установить background_mode на BG_SKY.
Это полезно для имитации воздушной перспективы в больших сценах с туманом низкой плотности. Однако это не очень полезно для тумана высокой плотности, так как небо будет просвечивать. Если установлено значение 1.0, цвет тумана полностью берется из Sky. Если установлено значение 0.0, воздушная перспектива отключена.
Обратите внимание, что это не выборка Sky напрямую, а выборка кубической карты сияния. Кубическая карта выбирается на уровне mip-карты в зависимости от глубины визуализированного пикселя; чем дальше, тем выше разрешение выбираемой mip-карты. Это приводит к тому, что фактический цвет становится размытой версией неба, с большей размытостью ближе к камере. Самое высокое разрешение mip-карты используется на глубине Camera3D.far.
Плотность тумана, которая будет использоваться. Это демонстрируется по-разному в зависимости от выбранного режима fog_mode:
Режим экспоненциального тумана: Более высокие значения приводят к более плотному туману. Рендеринг тумана экспоненциальный, как в реальной жизни.
Режим глубинного тумана: Максимальная интенсивность глубокого тумана, эффект будет проявляться на расстоянии (относительно камеры). При 1.0 туман полностью скроет сцену, при 0.0 туман не будет виден.
float fog_depth_begin = 10.0 🔗
Начальное расстояние глубины тумана от камеры. Доступно только когда fog_mode установлен на FOG_MODE_DEPTH.
Кривая интенсивности глубины тумана. Ряд предустановок доступен в Инспекторе, если щелкнуть правой кнопкой мыши по кривой. Доступно только когда fog_mode установлен на FOG_MODE_DEPTH.
Конечное расстояние глубины тумана от камеры. Если это значение установлено на 0, оно будет равно значению Camera3D.far текущей камеры. Доступно только когда fog_mode установлено на FOG_MODE_DEPTH.
Если true, эффекты тумана включены.
Высота, на которой начинается эффект высотного тумана.
float fog_height_density = 0.0 🔗
Плотность, используемая для увеличения тумана по мере уменьшения высоты. Чтобы туман увеличивался по мере увеличения высоты, используйте отрицательное значение.
Color fog_light_color = Color(0.518, 0.553, 0.608, 1) 🔗
Цвет тумана.
float fog_light_energy = 1.0 🔗
Яркость тумана. Более высокие значения дают более яркий туман.
Режим тумана.
Коэффициент, который следует использовать при воздействии на небо необъемным туманом. 1.0 означает, что туман может полностью скрыть небо. Более низкие значения уменьшают влияние тумана на рендеринг неба, а 0.0 вообще не влияет на рендеринг неба.
Примечание: fog_sky_affect не имеет визуального эффекта, если fog_aerial_perspective равен 1.0.
Если установлено выше 0.0, то направленный свет сцены отображается в цвете тумана в зависимости от угла обзора. Это можно использовать для создания впечатления, что солнце «проникает» сквозь туман.
GlowBlendMode glow_blend_mode = 1 🔗
void set_glow_blend_mode(value: GlowBlendMode)
GlowBlendMode get_glow_blend_mode()
Режим смешивания свечения.
Примечание: Рендерер совместимости всегда использует GLOW_BLEND_MODE_SCREEN, и glow_blend_mode не будет иметь никакого эффекта.
Интенсивность свечения. Если установлено значение выше 0, это сделает свечение видимым в областях темнее, чем glow_hdr_threshold.
Если true, эффект свечения включается. Это имитирует реальную атмосферу и поведение глаз/камеры, заставляя яркие пиксели распространяться на окружающие пиксели.
Примечание: При использовании метода рендеринга для мобильных устройств эффект свечения выглядит иначе из-за меньшего динамического диапазона, доступного в этом методе.
Примечание: При использовании метода рендеринга для совместимости эффект свечения использует другую реализацию, при которой некоторые свойства недоступны и скрыты от инспектора: glow_levels/*, glow_normalized, glow_strength, glow_blend_mode, glow_mix, glow_map и glow_map_strength. Эта реализация оптимизирована для работы на устройствах низкого класса и, как следствие, менее гибкая.
float glow_hdr_luminance_cap = 12.0 🔗
Верхний порог свечения HDR. Области ярче этого порога будут ограничены для эффекта свечения.
Сглаживает переход между значениями, находящимися ниже и выше glow_hdr_threshold, уменьшая интенсивность свечения, создаваемого значениями, близкими к glow_hdr_threshold. Значения выше glow_hdr_threshold + glow_hdr_scale не будут иметь такого уменьшения свечения.
float glow_hdr_threshold = 1.0 🔗
Нижний порог свечения HDR. При использовании метода рендеринга Mobile (который поддерживает только более низкий динамический диапазон до 2.0) может потребоваться, чтобы это значение было ниже 1.0, чтобы свечение было видимым. Значение 0.9 хорошо подходит в этом случае. Это значение также необходимо уменьшить ниже 1.0 при использовании свечения в 2D, поскольку 2D-рендеринг выполняется в SDR.
Общий множитель яркости, применяемый к эффекту свечения непосредственно перед его смешиванием со сценой. При использовании метода рендеринга для мобильных устройств (который поддерживает только более низкий динамический диапазон до 2.0) его следует увеличить до 1.5 для компенсации.
Интенсивность 1-го уровня свечения. Это самый «локальный» уровень (наименее размытый).
Примечание: glow_levels/1 не имеет эффекта при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для устройств низкого уровня.
Интенсивность 2-го уровня свечения.
Примечание: glow_levels/2 не имеет эффекта при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для устройств начального уровня.
Интенсивность 3-го уровня свечения.
Примечание: glow_levels/3 не имеет эффекта при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для устройств начального уровня.
Интенсивность 4-го уровня свечения.
Примечание: glow_levels/4 не имеет эффекта при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для устройств низкого уровня.
Интенсивность 5-го уровня свечения.
Примечание: glow_levels/5 не имеет эффекта при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для бюджетных устройств.
Интенсивность 6-го уровня свечения.
Примечание: glow_levels/6 не имеет эффекта при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для устройств начального уровня.
Интенсивность 7-го уровня свечения. Это самый «глобальный» уровень (самый размытый).
Примечание: glow_levels/7 не имеет эффекта при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для устройств начального уровня.
Текстура, которая должна использоваться в качестве карты свечения для умножения результирующего цвета свечения в соответствии с glow_map_strength. Это можно использовать для создания эффекта «грязи линзы». Цветовые каналы RGB текстуры используются для модуляции, но альфа-канал игнорируется.
Примечание: Текстура будет растянута, чтобы соответствовать экрану. Поэтому рекомендуется использовать текстуру с соотношением сторон, соответствующим базовому соотношению сторон вашего проекта (обычно 16:9).
Примечание: glow_map не оказывает никакого эффекта при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для устройств низкого уровня.
float glow_map_strength = 0.8 🔗
Насколько сильное влияние glow_map должно оказывать на общий эффект свечения. Сила 0.0 означает, что карта свечения не оказывает никакого влияния, в то время как сила 1.0 означает, что карта свечения оказывает полное влияние.
Примечание: Если карта свечения имеет черные области, значение 1.0 также может полностью отключить эффект свечения в определенных областях экрана.
Примечание: glow_map_strength не оказывает никакого влияния при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для устройств низкого уровня.
При использовании GLOW_BLEND_MODE_MIX glow_blend_mode это контролирует, насколько исходное изображение смешивается со слоем свечения. Значение 0.0 делает рендеринг свечения невидимым, тогда как значение 1.0 эквивалентно GLOW_BLEND_MODE_REPLACE.
Примечание: glow_mix не оказывает никакого эффекта при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для устройств низкого уровня.
bool glow_normalized = false 🔗
Если true, уровни свечения будут нормализованы так, чтобы их суммарные интенсивности равнялись 1.0.
Примечание: glow_normalized не имеет эффекта при использовании метода рендеринга Compatibility, поскольку этот метод рендеринга использует более простую реализацию свечения, оптимизированную для устройств начального уровня.
Величина, используемая при размытии по экрану для создания эффекта свечения. Она влияет на расстояние и интенсивность размытия. При использовании метода рендеринга для мобильных устройств её следует увеличить, чтобы компенсировать меньший динамический диапазон.
Примечание: Параметр glow_strength не оказывает влияния при использовании метода рендеринга «Совместимость», поскольку этот метод использует более простую реализацию эффекта свечения, оптимизированную для устройств низкого класса.
ReflectionSource reflected_light_source = 0 🔗
void set_reflection_source(value: ReflectionSource)
ReflectionSource get_reflection_source()
Отражённый (зеркальный) источник света.
float sdfgi_bounce_feedback = 0.5 🔗
Множитель энергии, применяемый к свету каждый раз, когда он отражается от поверхности при использовании SDFGI. Значения больше 0.0 будут имитировать множественные отскоки, что приведет к более реалистичному виду. Увеличение sdfgi_bounce_feedback обычно не влияет на производительность. См. также sdfgi_energy.
Примечание: Значения больше 0.5 могут вызывать бесконечные циклы обратной связи и их следует избегать в сценах с яркими материалами.
Примечание: Если sdfgi_bounce_feedback равен 0.0, непрямое освещение не будет представлено в отражениях, поскольку свет отразится только один раз.
float sdfgi_cascade0_distance = 12.8 🔗
Примечание: Это свойство связано с sdfgi_min_cell_size и sdfgi_max_distance. Изменение его значения автоматически изменит и эти свойства.
Число каскадов для использования в SDFGI (от 1 до 8). Большее число каскадов позволяет отображать SDFGI дальше, сохраняя детали вблизи, за счет производительности. При использовании SDFGI на мелкомасштабных уровнях sdfgi_cascades часто можно уменьшить между 1 и 4 для повышения производительности.
Если true, включает глобальное освещение поля расстояний со знаком для сеток, у которых GeometryInstance3D.gi_mode установлен на GeometryInstance3D.GI_MODE_STATIC. SDFGI — это метод глобального освещения в реальном времени, который хорошо работает с процедурно сгенерированными и созданными пользователем уровнями, в том числе в ситуациях, когда геометрия создается во время игры. Поле расстояний со знаком автоматически генерируется вокруг камеры по мере ее движения. Поддерживается динамическое освещение, но динамические окклюдеры и излучающие поверхности — нет.
Примечание: SDFGI поддерживается только в методе рендеринга Forward+, а не в Mobile или Compatibility.
Производительность: SDFGI относительно требователен к графическому процессору и не подходит для аппаратного обеспечения низкого уровня, такого как интегрированная графика (вместо этого рассмотрите LightmapGI). Чтобы улучшить производительность SDFGI, включите ProjectSettings.rendering/global_illumination/gi/use_half_resolution в настройках проекта.
Примечание: Сетки должны иметь достаточно толстые стенки, чтобы избежать утечек света (избегайте односторонних стен). Для внутренних уровней заключите геометрию уровня в достаточно большой ящик и соедините петли, чтобы закрыть сетку.
Множитель энергии для использования в SDFGI. Более высокие значения приведут к более яркому непрямому освещению и отражениям. См. также sdfgi_bounce_feedback.
float sdfgi_max_distance = 204.8 🔗
Максимальное расстояние, на котором виден SDFGI. За пределами этого расстояния в качестве резерва будет использоваться окружающее освещение или другие источники GI, такие как ReflectionProbe.
Примечание: Это свойство связано с sdfgi_min_cell_size и sdfgi_cascade0_distance. Изменение его значения автоматически изменит и эти свойства.
float sdfgi_min_cell_size = 0.2 🔗
Размер ячейки, используемый для ближайшего каскада SDFGI (в 3D-единицах). Более низкие значения позволяют SDFGI быть более точным вблизи, за счет того, что обновления SDFGI становятся более требовательными. Это может вызвать заикание, когда камера быстро движется. Более высокие значения позволяют SDFGI охватывать большую площадь, а также снижают влияние обновлений SDFGI на производительность.
Примечание: Это свойство связано с sdfgi_max_distance и sdfgi_cascade0_distance. Изменение его значения автоматически изменит и эти свойства.
float sdfgi_normal_bias = 1.1 🔗
Нормальное смещение для использования в зондах SDFGI. Увеличение этого значения может уменьшить видимые артефакты полос на наклонных поверхностях за счет увеличения утечки света.
float sdfgi_probe_bias = 1.1 🔗
Постоянное смещение для использования в зондах SDFGI. Увеличение этого значения может уменьшить видимые артефакты полос на наклонных поверхностях за счет увеличения утечки света.
bool sdfgi_read_sky_light = true 🔗
Если true, SDFGI учитывает освещение окружающей среды. Для внутренних сцен это должно быть установлено на false.
bool sdfgi_use_occlusion = false 🔗
Если true, SDFGI использует подход обнаружения окклюзии для уменьшения утечки света. Однако окклюзия может привести к появлению темных пятен в определенных местах, что может быть нежелательным в сценах, в основном происходящих на открытом воздухе. sdfgi_use_occlusion влияет на производительность и должен быть включен только при необходимости.
SDFGIYScale sdfgi_y_scale = 1 🔗
void set_sdfgi_y_scale(value: SDFGIYScale)
SDFGIYScale get_sdfgi_y_scale()
Масштаб Y для использования с ячейками SDFGI. Более низкие значения приведут к тому, что ячейки SDFGI будут упакованы более плотно по оси Y. Это используется для баланса между качеством и охватом большого количества вертикальной поверхности. sdfgi_y_scale следует устанавливать в зависимости от того, насколько вертикальна ваша сцена (и насколько быстро ваша камера может двигаться по оси Y).
Ресурс Sky, используемый для этого Environment-а.
Если установлено значение больше 0.0, переопределяет поле зрения, используемое для рендеринга неба. Если установлено значение 0.0, то же поле зрения, что и у текущей Camera3D, используется для рендеринга неба.
Vector3 sky_rotation = Vector3(0, 0, 0) 🔗
Поворот, используемый для рендеринга неба.
float ssao_ao_channel_affect = 0.0 🔗
Интенсивность экранного пространства окружающего света на материалах, для которых определена текстура AO. Значения выше 0 сделают эффект SSAO видимым в областях, затемненных текстурами AO.
Устанавливает силу дополнительного уровня детализации для эффекта экранного пространства Ambient Occlusion. Высокое значение делает передачу деталей более заметной, но может способствовать появлению алиасинга в вашем конечном изображении.
Если true, эффект экранного затенения (SAM) включается. Он затемняет углы и углубления объектов, имитируя рассеянный свет, не достигающий всего объекта, как в реальной жизни. Это хорошо работает для небольших динамических объектов, но запеченное освещение или текстуры затенения лучше справятся с отображением затенения на больших статических объектах. Godot использует форму SSAO, называемую адаптивным экранным затенением (Adaptive Screen Space Ambient Occlusion), которая сама по себе является формой затенения на основе горизонта (Horizon Based Ambient Occlusion).
Примечание: SSAO поддерживается только в методах рендеринга Forward+ и Compatibility, а не на мобильных устройствах.
Порог для рассмотрения того, закрыта ли данная точка на поверхности или нет, представленный как угол от горизонта, отображенный в диапазоне 0.0-1.0. Значение 1.0 приводит к отсутствию окклюзии.
Первичная интенсивность экранного пространства окружающего затенения. Действует как множитель для эффекта экранного пространства окружающего затенения. Более высокое значение приводит к более темному затенению.
float ssao_light_affect = 0.0 🔗
Интенсивность экранного пространства окружающего света в прямом свете. В реальной жизни окружающее затенение применяется только к непрямому свету, что означает, что его эффекты не видны в прямом свете. Значения выше 0 сделают эффект SSAO видимым в прямом свете.
Распределение окклюзии. Более высокое значение приводит к более темной окклюзии, похожей на ssao_intensity, но с более резким спадом.
Расстояние, на котором объекты могут закрывать друг друга при расчете экранного пространства окружающего затенения. Более высокие значения приведут к затенению на большем расстоянии за счет производительности и качества.
Степень, в которой эффекту экранного пространства Ambient Occlusion разрешено размывать края объектов. Слишком большое значение приведет к алиасингу по краям объектов. Слишком низкое значение сделает края объектов размытыми.
Если true, эффект непрямого освещения в экранном пространстве включен. Непрямое освещение в экранном пространстве — это форма непрямого освещения, которая позволяет рассеянному свету отражаться между близлежащими объектами. Непрямое освещение в экранном пространстве работает очень похоже на окклюзию окружающего пространства в том смысле, что оно влияет только на ограниченный диапазон. Оно предназначено для использования вместе с формой надлежащего глобального освещения, например, SDFGI или VoxelGI. Непрямое освещение в экранном пространстве не зависит от Light3D.light_indirect_energy отдельного источника света.
Примечание: SSIL поддерживается только в методе рендеринга Forward+, а не в Mobile или Compatibility.
Множитель яркости для эффекта непрямого освещения экранного пространства. Более высокое значение приведет к более яркому свету.
float ssil_normal_rejection = 1.0 🔗
Величина нормального отклонения, используемая при расчете непрямого освещения экранного пространства. Нормальное отклонение использует нормаль заданной точки выборки для отклонения выборок, которые обращены в сторону от текущего пикселя. Нормальное отклонение необходимо для предотвращения утечки света, когда освещена только одна сторона объекта. Однако нормальное отклонение можно отключить, если утечка света желательна, например, когда сцена в основном содержит излучающие объекты, которые излучают свет с лиц, которые не видны из камеры.
Расстояние, которое может пройти отраженный свет при использовании эффекта непрямого освещения экранного пространства. Большее значение приведет к тому, что свет будет отражаться дальше в сцене, но может привести к артефактам недостаточной выборки, которые выглядят как длинные шипы, окружающие источники света.
Степень, в которой эффекту непрямого освещения в экранном пространстве разрешено размывать края объектов. Слишком большое значение приведет к сглаживанию краев объектов. Слишком низкое значение сделает края объектов размытыми.
float ssr_depth_tolerance = 0.5 🔗
Допуск по глубине для отражений в экранном пространстве.
Если true, отражения в экранном пространстве включены. Отражения в экранном пространстве точнее отражений от VoxelGI или ReflectionProbe, но медленнее и не могут отражать поверхности, закрытые другими.
Примечание: SSR поддерживается только в методе рендеринга Forward+, а не в Mobile или Compatibility.
Примечание: SSR не поддерживается на окнах просмотра с прозрачным фоном (где Viewport.transparent_bg имеет значение true).
Расстояние постепенного появления для отражений в экранном пространстве. Влияет на область от отраженного материала до отражения в экранном пространстве. Допустимы только положительные значения (отрицательные значения будут ограничены 0.0).
Расстояние затухания для отражений в экранном пространстве. Влияет на область от отражения в экранном пространстве до "глобального" отражения. Допустимы только положительные значения (отрицательные значения будут ограничены 0.0).
Максимальное количество шагов для отражений в экранном пространстве. Более высокие значения медленнее.
float tonemap_agx_contrast = 1.25 🔗
Увеличение параметра tonemap_agx_contrast сделает темные значения темнее, а светлые — ярче. Это обеспечит более высокое качество результата, чем параметр adjustment_contrast, без дополнительных затрат производительности, но доступно только при использовании тонального преобразователя TONE_MAPPER_AGX.
float tonemap_agx_white = 16.29 🔗
Опорное значение белого для тонального отображения, указывающее, где находится яркий белый цвет в шкале значений, предоставляемых тональному преобразователю. Для фотореалистичного освещения рекомендуется установить tonemap_agx_white не менее чем на 6.0. Более высокие значения приводят к меньшему количеству пересвеченных участков, но могут снизить контрастность сцены. tonemap_agx_white аналогичен tonemap_white, но эффективен только с тональным преобразователем TONE_MAPPER_AGX. См. также tonemap_exposure.
Примечание: При использовании рендерера Mobile с отключенным Viewport.use_hdr_2d значение tonemap_agx_white игнорируется, и вместо него всегда будет использоваться значение белого 2.0.
float tonemap_exposure = 1.0 🔗
Регулирует яркость значений до того, как они будут предоставлены преобразователю тонов. Более высокие значения tonemap_exposure приводят к более яркому изображению. См. также tonemap_white.
Примечание: Значения, предоставленные преобразователю тонов, также будут умножены на 2.0 и 1.8 для TONE_MAPPER_FILMIC и TONE_MAPPER_ACES соответственно, чтобы получить такую же видимую яркость, как TONE_MAPPER_LINEAR.
ToneMapper tonemap_mode = 0 🔗
void set_tonemapper(value: ToneMapper)
ToneMapper get_tonemapper()
Режим тональной компрессии для использования. Тональная компрессия — это процесс, который «конвертирует» значения HDR для их отображения на дисплее LDR. (Godot пока не поддерживает отображение на дисплеях HDR.)
Опорное значение белого цвета для тонального отображения, указывающее, где находится яркий белый цвет в шкале значений, предоставляемых тональному преобразователю. Для фотореалистичного освещения рекомендуется установить tonemap_white не менее чем на 6.0. Более высокие значения приводят к меньшему количеству пересвеченных участков, но могут снизить контрастность сцены. tonemap_agx_white будет использоваться вместо него при использовании тонального преобразователя TONE_MAPPER_AGX. См. также tonemap_exposure.
Примечание: tonemap_white необходимо установить на 2.0 или ниже в мобильном рендерере для получения ярких изображений.
Color volumetric_fog_albedo = Color(1, 1, 1, 1) 🔗
Color объемного тумана при взаимодействии с источниками света. Дымка и туман имеют альбедо, близкое к Color(1, 1, 1, 1), тогда как дым имеет более темное альбедо.
float volumetric_fog_ambient_inject = 0.0 🔗
Масштабирует интенсивность окружающего света, используемого в объемном тумане. Значение 0.0 означает, что окружающий свет не будет влиять на объемный туман. volumetric_fog_ambient_inject имеет небольшие затраты производительности, если установлено значение выше 0.0.
Примечание: Это не имеет видимого эффекта, если volumetric_fog_density равно 0.0 или если volumetric_fog_albedo — полностью черный цвет.
float volumetric_fog_anisotropy = 0.2 🔗
Направление рассеянного света, проходящего через объемный туман. Значение, близкое к 1.0, означает, что почти весь свет рассеивается вперед. Значение, близкое к 0.0, означает, что свет рассеивается одинаково во всех направлениях. Значение, близкое к -1.0, означает, что свет рассеивается в основном назад. Туман и дымка рассеивают свет немного вперед, в то время как дым рассеивает свет одинаково во всех направлениях.
float volumetric_fog_density = 0.05 🔗
Базовая экспоненциальная плотность объемного тумана. Установите ее на самую низкую плотность, которую вы хотите иметь глобально. FogVolumes можно использовать для добавления или вычитания из этой плотности в определенных областях. Рендеринг тумана является экспоненциальным, как в реальной жизни.
Значение 0.0 отключает глобальный объемный туман, позволяя FogVolumes отображать объемный туман в определенных областях.
Чтобы объемный туман работал как решение объемного освещения, установите volumetric_fog_density на самое низкое ненулевое значение (0.0001), а затем увеличьте Light3D.light_volumetric_fog_energy источников света до значений между 10000 и 100000, чтобы компенсировать очень низкую плотность.
float volumetric_fog_detail_spread = 2.0 🔗
Распределение размера по длине буфера фрокселей. Более высокое значение сжимает фроксели ближе к камере и размещает больше деталей ближе к камере.
Color volumetric_fog_emission = Color(0, 0, 0, 1) 🔗
Излучаемый объемным туманом свет. Даже при излучении объемный туман не будет отбрасывать свет на другие поверхности. Излучение полезно для установления окружающего цвета. Поскольку эффект объемного тумана использует только однократное рассеивание, туману, как правило, требуется немного излучения, чтобы смягчить резкие тени.
float volumetric_fog_emission_energy = 1.0 🔗
Яркость света, излучаемого объемным туманом.
bool volumetric_fog_enabled = false 🔗
Включает эффект объемного тумана. Объемный туман использует выровненный по экрану буфер фрокселя для расчета точного объемного рассеивания на коротких и средних расстояниях. Объемный туман взаимодействует с FogVolume и источниками света для расчета локализованного и глобального тумана. Объемный туман использует модель одиночного рассеяния PBR, основанную на затухании, рассеивании и излучении, которую он представляет пользователям как плотность, альбедо и излучение.
Примечание: Объемный туман поддерживается только в методе рендеринга Forward+, а не в Mobile или Compatibility.
float volumetric_fog_gi_inject = 1.0 🔗
Масштабирует силу глобального освещения, используемого в цвете альбедо объемного тумана. Значение 0.0 означает, что глобальное освещение не повлияет на объемный туман. volumetric_fog_gi_inject имеет небольшие затраты производительности, если установлено выше 0.0.
Примечание: Это не имеет видимого эффекта, если volumetric_fog_density равно 0.0 или если volumetric_fog_albedo — полностью черный цвет.
Примечание: При использовании volumetric_fog_gi_inject учитываются только VoxelGI и SDFGI (sdfgi_enabled). Глобальное освещение от LightmapGI, ReflectionProbe и SSIL (см. ssil_enabled) будет игнорироваться объемным туманом.
float volumetric_fog_length = 64.0 🔗
Расстояние, на котором вычисляется объемный туман. Увеличьте, чтобы вычислить туман на большем расстоянии, уменьшите, чтобы добавить больше деталей, когда большой диапазон не нужен. Для наилучшего качества тумана держите это значение как можно ниже. См. также ProjectSettings.rendering/environment/volumetric_fog/volume_depth.
float volumetric_fog_sky_affect = 1.0 🔗
Коэффициент, используемый при воздействии на небо объемным туманом. 1.0 означает, что объемный туман может полностью скрыть небо. Более низкие значения уменьшают влияние объемного тумана на рендеринг неба, а 0.0 вообще не влияют на рендеринг неба.
Примечание: volumetric_fog_sky_affect также влияет на FogVolume, даже если volumetric_fog_density равен 0.0. Если вы заметили, что FogVolume исчезают при взгляде на небо, установите volumetric_fog_sky_affect на 1.0.
float volumetric_fog_temporal_reprojection_amount = 0.9 🔗
void set_volumetric_fog_temporal_reprojection_amount(value: float)
float get_volumetric_fog_temporal_reprojection_amount()
Величина, на которую смешивается последний кадр с текущим кадром. Большее число приводит к более плавному объемному туману, но значительно ухудшает "ореолы". Меньшее значение уменьшает ореолы, но может привести к тому, что временное дрожание кадра станет видимым.
bool volumetric_fog_temporal_reprojection_enabled = true 🔗
void set_volumetric_fog_temporal_reprojection_enabled(value: bool)
bool is_volumetric_fog_temporal_reprojection_enabled()
Включает временное перепроецирование в объемном тумане. Временное перепроецирование смешивает объемный туман текущего кадра с объемным туманом последнего кадра, чтобы сгладить неровные края. Затраты на производительность минимальны; однако это приводит к «ореолу» перемещения FogVolume и Light3D и оставлению за ними следа. Когда включено временное перепроецирование, старайтесь избегать слишком быстрого перемещения FogVolume или Light3D. Кратковременные динамические световые эффекты должны иметь Light3D.light_volumetric_fog_energy, установленный на 0.0, чтобы избежать ореола.
Описания метода
float get_glow_level(idx: int) const 🔗
Возвращает интенсивность уровня свечения idx.
void set_glow_level(idx: int, intensity: float) 🔗
Устанавливает интенсивность уровня свечения idx. Значение выше 0.0 включает уровень. Каждый уровень зависит от предыдущего уровня. Это означает, что включение более высоких уровней свечения замедлит рендеринг эффекта свечения, даже если предыдущие уровни не включены.