:github_url: hide .. _class_Sky: Sky === **Успадковує:** :ref:`Resource` **<** :ref:`RefCounted` **<** :ref:`Object` Визначає фон 3D-середовища за допомогою :ref:`Material`. .. rst-class:: classref-introduction-group Опис -------- Клас **Sky** використовує :ref:`Material` для візуалізації фону тривимірного середовища та світла, яке воно випромінює, оновлюючи кубічні карти відбиття/світла. .. rst-class:: classref-reftable-group Властивості ---------------------- .. table:: :widths: auto +--------------------------------------------+--------------------------------------------------------+-------+ | :ref:`ProcessMode` | :ref:`process_mode` | ``0`` | +--------------------------------------------+--------------------------------------------------------+-------+ | :ref:`RadianceSize` | :ref:`radiance_size` | ``3`` | +--------------------------------------------+--------------------------------------------------------+-------+ | :ref:`Material` | :ref:`sky_material` | | +--------------------------------------------+--------------------------------------------------------+-------+ .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Переліки ---------------- .. _enum_Sky_RadianceSize: .. rst-class:: classref-enumeration enum **RadianceSize**: :ref:`🔗` .. _class_Sky_constant_RADIANCE_SIZE_32: .. rst-class:: classref-enumeration-constant :ref:`RadianceSize` **RADIANCE_SIZE_32** = ``0`` Розмір текстури Radiance становить 32×32 пікселя. .. _class_Sky_constant_RADIANCE_SIZE_64: .. rst-class:: classref-enumeration-constant :ref:`RadianceSize` **RADIANCE_SIZE_64** = ``1`` Розмір текстури Radiance становить 64×64 пікселя. .. _class_Sky_constant_RADIANCE_SIZE_128: .. rst-class:: classref-enumeration-constant :ref:`RadianceSize` **RADIANCE_SIZE_128** = ``2`` Розмір текстури Radiance становить 128×128 пікселів. .. _class_Sky_constant_RADIANCE_SIZE_256: .. rst-class:: classref-enumeration-constant :ref:`RadianceSize` **RADIANCE_SIZE_256** = ``3`` Розмір текстури Radiance становить 256×256 пікселів. .. _class_Sky_constant_RADIANCE_SIZE_512: .. rst-class:: classref-enumeration-constant :ref:`RadianceSize` **RADIANCE_SIZE_512** = ``4`` Розмір текстури Radiance становить 512×512 пікселів. .. _class_Sky_constant_RADIANCE_SIZE_1024: .. rst-class:: classref-enumeration-constant :ref:`RadianceSize` **RADIANCE_SIZE_1024** = ``5`` Розмір текстури Radiance становить 1024 × 1024 пікселів. .. _class_Sky_constant_RADIANCE_SIZE_2048: .. rst-class:: classref-enumeration-constant :ref:`RadianceSize` **RADIANCE_SIZE_2048** = ``6`` Розмір текстури Radiance становить 2048×2048 пікселів. .. _class_Sky_constant_RADIANCE_SIZE_MAX: .. rst-class:: classref-enumeration-constant :ref:`RadianceSize` **RADIANCE_SIZE_MAX** = ``7`` Представляє розмір переліку :ref:`RadianceSize`. .. rst-class:: classref-item-separator ---- .. _enum_Sky_ProcessMode: .. rst-class:: classref-enumeration enum **ProcessMode**: :ref:`🔗` .. _class_Sky_constant_PROCESS_MODE_AUTOMATIC: .. rst-class:: classref-enumeration-constant :ref:`ProcessMode` **PROCESS_MODE_AUTOMATIC** = ``0`` Автоматично вибирає відповідний режим процесу на основі вашого шейдера неба. Якщо ваш шейдер використовує ``TIME`` або ``POSITION``, буде використано :ref:`PROCESS_MODE_REALTIME`. Якщо ваш шейдер використовує будь-яку зі змінних ``LIGHT_*`` або будь-яку спеціальну форму, тут використовується :ref:`PROCESS_MODE_INCREMENTAL`. В іншому випадку за замовчуванням :ref:`PROCESS_MODE_QUALITY`. .. _class_Sky_constant_PROCESS_MODE_QUALITY: .. rst-class:: classref-enumeration-constant :ref:`ProcessMode` **PROCESS_MODE_QUALITY** = ``1`` Використовує якісне значення вибірки для обробки карти променевості. В цілому, це призводить до більш високої якості, ніж :ref:`PROCESS_MODE_REALTIME`, але займає набагато довше, щоб генерувати. Якщо ви плануєте змінити небо в режимі runtime. Якщо ви знаходилися, що відбиття недостатньо розмитне і показує блиск або пожежі, спробуйте збільшити :ref:`ProjectSettings.rendering/reflections/sky_reflections/ggx_samples`. .. _class_Sky_constant_PROCESS_MODE_INCREMENTAL: .. rst-class:: classref-enumeration-constant :ref:`ProcessMode` **PROCESS_MODE_INCREMENTAL** = ``2`` Використовуйте те ж саме високу якість, що важливо для обробки карти променевості, як :ref:`PROCESS_MODE_QUALITY`, але оновлення декількох кадрів. Кількість кадрів визначається :ref:`ProjectSettings.rendering/reflections/sky_reflections/roughness_layers`. Використовуйте це, коли вам потрібна найвища якість випромінювальних карт, але мають небо, яке повільно оновлюється. .. _class_Sky_constant_PROCESS_MODE_REALTIME: .. rst-class:: classref-enumeration-constant :ref:`ProcessMode` **PROCESS_MODE_REALTIME** = ``3`` Використовуйте алгоритм швидкого фільтрування для обробки карти променевості. В цілому це призводить до низької якості, але значно швидше часу запуску. Якщо вам потрібна краща якість, але все ще потрібно оновити небо кожного кадру, розгляньте поворот на :ref:`ProjectSettings.rendering/reflections/sky_reflections/fast_filter_high_quality`. \ **Примітка:** Швидкий алгоритм фільтрації обмежується 256 × 256 кубиками, тому ``пам'ятний променанс_розмір`` необхідно встановити до :ref:`RADIANCE_SIZE_256`. Інакше, попередження друкується і ігнорується розмір випромінювача. .. rst-class:: classref-section-separator ---- .. rst-class:: classref-descriptions-group Описи властивостей ------------------------------------ .. _class_Sky_property_process_mode: .. rst-class:: classref-property :ref:`ProcessMode` **process_mode** = ``0`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_process_mode**\ (\ value\: :ref:`ProcessMode`\ ) - :ref:`ProcessMode` **get_process_mode**\ (\ ) Метод створення карти яскравості неба. Карта яскравості являє собою кубічну карту зі все більш розмитими версіями неба, що відповідають різним рівням шорсткості. Розрахунок карт яскравості може бути складним. .. rst-class:: classref-item-separator ---- .. _class_Sky_property_radiance_size: .. rst-class:: classref-property :ref:`RadianceSize` **radiance_size** = ``3`` :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_radiance_size**\ (\ value\: :ref:`RadianceSize`\ ) - :ref:`RadianceSize` **get_radiance_size**\ (\ ) Розмір карти сяйва **Sky**. Чим вищий розмір карти сяйва, тим детальнішим буде освітлення від **Sky**. \ **Примітка:** Деяке обладнання матиме проблеми з вищими розмірами сяйва, особливо :ref:`RADIANCE_SIZE_512` і вище. Використовуйте такі високі значення лише на високопродуктивному обладнанні. .. rst-class:: classref-item-separator ---- .. _class_Sky_property_sky_material: .. rst-class:: classref-property :ref:`Material` **sky_material** :ref:`🔗` .. rst-class:: classref-property-setget - |void| **set_material**\ (\ value\: :ref:`Material`\ ) - :ref:`Material` **get_material**\ (\ ) ``Матеріал`` для малювання фону. Може бути :ref:`PanoramaSkyMaterial`, :ref:`ProceduralSkyMaterial`, :ref:`PhysicalSkyMaterial` або навіть :ref:`ShaderMaterial`, якщо ви хочете використовувати свій власний шейдер. .. |virtual| replace:: :abbr:`virtual (Зазвичай, цей метод перевизначається користувачем, щоб він мав вплив.)` .. |required| replace:: :abbr:`required (This method is required to be overridden when extending its base class.)` .. |const| replace:: :abbr:`const (Цей метод не має побічних ефектів. Не змінює ніяку змінну екземпляра об'єкта.)` .. |vararg| replace:: :abbr:`vararg (Цей метод приймає будь-яке число аргументів після описаних тут.)` .. |constructor| replace:: :abbr:`constructor (Цей метод використовується для побудови типів.)` .. |static| replace:: :abbr:`static (Цей метод не потребує екземпляра для виклику, його можна викликати безпосередньо за допомогою назви класу.)` .. |operator| replace:: :abbr:`operator (Цей метод описує дійсний оператор для взаємодії з цим типом як з лівим операндом.)` .. |bitfield| replace:: :abbr:`BitField (Це значення є цілим числом, складеним у вигляді бітової маски з наступних прапорів.)` .. |void| replace:: :abbr:`void (Значення не повертається.)`