Sky
Успадковує: Resource < RefCounted < Object
Визначає фон 3D-середовища за допомогою 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, але займає набагато довше, щоб генерувати. Якщо ви плануєте змінити небо в режимі runtime. Якщо ви знаходилися, що відбиття недостатньо розмитне і показує блиск або пожежі, спробуйте збільшити 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_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 і вище. Використовуйте такі високі значення лише на високопродуктивному обладнанні.
Матеріал для малювання фону. Може бути PanoramaSkyMaterial, ProceduralSkyMaterial, PhysicalSkyMaterial або навіть ShaderMaterial, якщо ви хочете використовувати свій власний шейдер.