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...
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, если вы хотите использовать свой собственный шейдер.