Sky
Наследует: Resource < RefCounted < Object
Определяет фон трехмерной среды с помощью 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 🔗
void set_process_mode(value: ProcessMode)
ProcessMode get_process_mode()
Метод генерации карты сияния из неба. Карта сияния представляет собой кубическую карту с все более размытыми версиями неба, соответствующими различным уровням шероховатости. Карты сияния могут быть дорогими для расчета.
RadianceSize radiance_size = 3 🔗
void set_radiance_size(value: RadianceSize)
RadianceSize get_radiance_size()
Размер карты сияния Sky. Чем больше размер карты сияния, тем более подробным будет освещение от Sky.
Примечание: У некоторого оборудования могут возникнуть проблемы с более высокими размерами сияния, особенно RADIANCE_SIZE_512 и выше. Используйте такие высокие значения только на высокопроизводительном оборудовании.
Material используется для рисования фона. Может быть PanoramaSkyMaterial, ProceduralSkyMaterial, PhysicalSkyMaterial или даже ShaderMaterial, если вы хотите использовать свой собственный шейдер.