Sky

Наследует: Resource < RefCounted < Object

Определяет фон трехмерной среды с помощью Material.

Описание

Класс Sky использует Material для визуализации фона трехмерной среды и света, который она излучает, путем обновления кубических карт отражения/сияния.

Свойства

ProcessMode

process_mode

0

RadianceSize

radiance_size

3

Material

sky_material


Перечисления

enum RadianceSize: 🔗

RadianceSize RADIANCE_SIZE_32 = 0

Размер текстуры Radiance составляет 32×32 пикселя.

RadianceSize RADIANCE_SIZE_64 = 1

Размер текстуры Radiance составляет 64×64 пикселя.

RadianceSize RADIANCE_SIZE_128 = 2

Размер текстуры Radiance составляет 128×128 пикселей.

RadianceSize RADIANCE_SIZE_256 = 3

Размер текстуры Radiance составляет 256×256 пикселей.

RadianceSize RADIANCE_SIZE_512 = 4

Размер текстуры Radiance составляет 512×512 пикселей.

RadianceSize RADIANCE_SIZE_1024 = 5

Размер текстуры Radiance составляет 1024×1024 пикселей.

RadianceSize RADIANCE_SIZE_2048 = 6

Размер текстуры Radiance составляет 2048×2048 пикселей.

RadianceSize RADIANCE_SIZE_MAX = 7

Представляет размер перечисления RadianceSize.


enum ProcessMode: 🔗

ProcessMode PROCESS_MODE_AUTOMATIC = 0

Автоматически выбирает подходящий режим обработки на основе вашего шейдера неба. Если ваш шейдер использует TIME или POSITION, это будет использовать PROCESS_MODE_REALTIME. Если ваш шейдер использует любую из переменных LIGHT_* или любые пользовательские униформы, это будет использовать PROCESS_MODE_INCREMENTAL. В противном случае это по умолчанию PROCESS_MODE_QUALITY.

ProcessMode PROCESS_MODE_QUALITY = 1

Использует выборку важности высокого качества для обработки карты сияния. В целом, это приводит к гораздо более высокому качеству, чем PROCESS_MODE_REALTIME, но генерация занимает гораздо больше времени. Это не следует использовать, если вы планируете изменять небо во время выполнения. Если вы обнаружите, что отражение недостаточно размыто и показывает искры или светлячков, попробуйте увеличить ProjectSettings.rendering/reflections/sky_reflections/ggx_samples.

ProcessMode PROCESS_MODE_INCREMENTAL = 2

Использует ту же выборку высокого качества важности для обработки карты сияния, что и PROCESS_MODE_QUALITY, но обновляет в течение нескольких кадров. Количество кадров определяется ProjectSettings.rendering/reflections/sky_reflections/roughness_layers. Используйте это, когда вам нужны карты сияния самого высокого качества, но у вас есть небо, которое медленно обновляется.

ProcessMode PROCESS_MODE_REALTIME = 3

Использует алгоритм быстрой фильтрации для обработки карты сияния. В целом это приводит к снижению качества, но существенному ускорению времени выполнения. Если вам нужно лучшее качество, но при этом нужно обновлять небо в каждом кадре, рассмотрите возможность включения ProjectSettings.rendering/reflections/sky_reflections/fast_filter_high_quality.

Примечание: Алгоритм быстрой фильтрации ограничен кубическими картами 256×256, поэтому radiance_size должен быть установлен на RADIANCE_SIZE_256. В противном случае выводится предупреждение, а переопределенный размер сияния игнорируется.


Описания свойств

ProcessMode process_mode = 0 🔗

Метод генерации карты сияния из неба. Карта сияния представляет собой кубическую карту с все более размытыми версиями неба, соответствующими различным уровням шероховатости. Карты сияния могут быть дорогими для расчета.


RadianceSize radiance_size = 3 🔗

Размер карты сияния Sky. Чем больше размер карты сияния, тем более подробным будет освещение от Sky.

Примечание: У некоторого оборудования могут возникнуть проблемы с более высокими размерами сияния, особенно RADIANCE_SIZE_512 и выше. Используйте такие высокие значения только на высокопроизводительном оборудовании.


Material sky_material 🔗

Material используется для рисования фона. Может быть PanoramaSkyMaterial, ProceduralSkyMaterial, PhysicalSkyMaterial или даже ShaderMaterial, если вы хотите использовать свой собственный шейдер.