mirror of
https://github.com/godotengine/godot-docs-l10n.git
synced 2025-12-31 09:49:22 +03:00
225 lines
12 KiB
ReStructuredText
225 lines
12 KiB
ReStructuredText
:github_url: hide
|
||
|
||
.. _class_Sky:
|
||
|
||
Sky
|
||
===
|
||
|
||
**Наследует:** :ref:`Resource<class_Resource>` **<** :ref:`RefCounted<class_RefCounted>` **<** :ref:`Object<class_Object>`
|
||
|
||
Определяет фон трехмерной среды с помощью :ref:`Material<class_Material>`.
|
||
|
||
.. rst-class:: classref-introduction-group
|
||
|
||
Описание
|
||
----------------
|
||
|
||
Класс **Sky** использует :ref:`Material<class_Material>` для визуализации фона трехмерной среды и света, который она излучает, путем обновления кубических карт отражения/сияния.
|
||
|
||
.. rst-class:: classref-reftable-group
|
||
|
||
Свойства
|
||
----------------
|
||
|
||
.. table::
|
||
:widths: auto
|
||
|
||
+--------------------------------------------+--------------------------------------------------------+-------+
|
||
| :ref:`ProcessMode<enum_Sky_ProcessMode>` | :ref:`process_mode<class_Sky_property_process_mode>` | ``0`` |
|
||
+--------------------------------------------+--------------------------------------------------------+-------+
|
||
| :ref:`RadianceSize<enum_Sky_RadianceSize>` | :ref:`radiance_size<class_Sky_property_radiance_size>` | ``3`` |
|
||
+--------------------------------------------+--------------------------------------------------------+-------+
|
||
| :ref:`Material<class_Material>` | :ref:`sky_material<class_Sky_property_sky_material>` | |
|
||
+--------------------------------------------+--------------------------------------------------------+-------+
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Перечисления
|
||
------------------------
|
||
|
||
.. _enum_Sky_RadianceSize:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **RadianceSize**: :ref:`🔗<enum_Sky_RadianceSize>`
|
||
|
||
.. _class_Sky_constant_RADIANCE_SIZE_32:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RadianceSize<enum_Sky_RadianceSize>` **RADIANCE_SIZE_32** = ``0``
|
||
|
||
Размер текстуры Radiance составляет 32×32 пикселя.
|
||
|
||
.. _class_Sky_constant_RADIANCE_SIZE_64:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RadianceSize<enum_Sky_RadianceSize>` **RADIANCE_SIZE_64** = ``1``
|
||
|
||
Размер текстуры Radiance составляет 64×64 пикселя.
|
||
|
||
.. _class_Sky_constant_RADIANCE_SIZE_128:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RadianceSize<enum_Sky_RadianceSize>` **RADIANCE_SIZE_128** = ``2``
|
||
|
||
Размер текстуры Radiance составляет 128×128 пикселей.
|
||
|
||
.. _class_Sky_constant_RADIANCE_SIZE_256:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RadianceSize<enum_Sky_RadianceSize>` **RADIANCE_SIZE_256** = ``3``
|
||
|
||
Размер текстуры Radiance составляет 256×256 пикселей.
|
||
|
||
.. _class_Sky_constant_RADIANCE_SIZE_512:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RadianceSize<enum_Sky_RadianceSize>` **RADIANCE_SIZE_512** = ``4``
|
||
|
||
Размер текстуры Radiance составляет 512×512 пикселей.
|
||
|
||
.. _class_Sky_constant_RADIANCE_SIZE_1024:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RadianceSize<enum_Sky_RadianceSize>` **RADIANCE_SIZE_1024** = ``5``
|
||
|
||
Размер текстуры Radiance составляет 1024×1024 пикселей.
|
||
|
||
.. _class_Sky_constant_RADIANCE_SIZE_2048:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RadianceSize<enum_Sky_RadianceSize>` **RADIANCE_SIZE_2048** = ``6``
|
||
|
||
Размер текстуры Radiance составляет 2048×2048 пикселей.
|
||
|
||
.. _class_Sky_constant_RADIANCE_SIZE_MAX:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`RadianceSize<enum_Sky_RadianceSize>` **RADIANCE_SIZE_MAX** = ``7``
|
||
|
||
Представляет размер перечисления :ref:`RadianceSize<enum_Sky_RadianceSize>`.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _enum_Sky_ProcessMode:
|
||
|
||
.. rst-class:: classref-enumeration
|
||
|
||
enum **ProcessMode**: :ref:`🔗<enum_Sky_ProcessMode>`
|
||
|
||
.. _class_Sky_constant_PROCESS_MODE_AUTOMATIC:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ProcessMode<enum_Sky_ProcessMode>` **PROCESS_MODE_AUTOMATIC** = ``0``
|
||
|
||
Автоматически выбирает подходящий режим обработки на основе вашего шейдера неба. Если ваш шейдер использует ``TIME`` или ``POSITION``, это будет использовать :ref:`PROCESS_MODE_REALTIME<class_Sky_constant_PROCESS_MODE_REALTIME>`. Если ваш шейдер использует любую из переменных ``LIGHT_*`` или любые пользовательские униформы, это будет использовать :ref:`PROCESS_MODE_INCREMENTAL<class_Sky_constant_PROCESS_MODE_INCREMENTAL>`. В противном случае это по умолчанию :ref:`PROCESS_MODE_QUALITY<class_Sky_constant_PROCESS_MODE_QUALITY>`.
|
||
|
||
.. _class_Sky_constant_PROCESS_MODE_QUALITY:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ProcessMode<enum_Sky_ProcessMode>` **PROCESS_MODE_QUALITY** = ``1``
|
||
|
||
Использует выборку важности высокого качества для обработки карты сияния. В целом, это приводит к гораздо более высокому качеству, чем :ref:`PROCESS_MODE_REALTIME<class_Sky_constant_PROCESS_MODE_REALTIME>`, но генерация занимает гораздо больше времени. Это не следует использовать, если вы планируете изменять небо во время выполнения. Если вы обнаружите, что отражение недостаточно размыто и показывает искры или светлячков, попробуйте увеличить :ref:`ProjectSettings.rendering/reflections/sky_reflections/ggx_samples<class_ProjectSettings_property_rendering/reflections/sky_reflections/ggx_samples>`.
|
||
|
||
.. _class_Sky_constant_PROCESS_MODE_INCREMENTAL:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ProcessMode<enum_Sky_ProcessMode>` **PROCESS_MODE_INCREMENTAL** = ``2``
|
||
|
||
Использует ту же выборку высокого качества важности для обработки карты сияния, что и :ref:`PROCESS_MODE_QUALITY<class_Sky_constant_PROCESS_MODE_QUALITY>`, но обновляет в течение нескольких кадров. Количество кадров определяется :ref:`ProjectSettings.rendering/reflections/sky_reflections/roughness_layers<class_ProjectSettings_property_rendering/reflections/sky_reflections/roughness_layers>`. Используйте это, когда вам нужны карты сияния самого высокого качества, но у вас есть небо, которое медленно обновляется.
|
||
|
||
.. _class_Sky_constant_PROCESS_MODE_REALTIME:
|
||
|
||
.. rst-class:: classref-enumeration-constant
|
||
|
||
:ref:`ProcessMode<enum_Sky_ProcessMode>` **PROCESS_MODE_REALTIME** = ``3``
|
||
|
||
Использует алгоритм быстрой фильтрации для обработки карты сияния. В целом это приводит к снижению качества, но существенному ускорению времени выполнения. Если вам нужно лучшее качество, но при этом нужно обновлять небо в каждом кадре, рассмотрите возможность включения :ref:`ProjectSettings.rendering/reflections/sky_reflections/fast_filter_high_quality<class_ProjectSettings_property_rendering/reflections/sky_reflections/fast_filter_high_quality>`.
|
||
|
||
\ **Примечание:** Алгоритм быстрой фильтрации ограничен кубическими картами 256×256, поэтому :ref:`radiance_size<class_Sky_property_radiance_size>` должен быть установлен на :ref:`RADIANCE_SIZE_256<class_Sky_constant_RADIANCE_SIZE_256>`. В противном случае выводится предупреждение, а переопределенный размер сияния игнорируется.
|
||
|
||
.. rst-class:: classref-section-separator
|
||
|
||
----
|
||
|
||
.. rst-class:: classref-descriptions-group
|
||
|
||
Описания свойств
|
||
--------------------------------
|
||
|
||
.. _class_Sky_property_process_mode:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`ProcessMode<enum_Sky_ProcessMode>` **process_mode** = ``0`` :ref:`🔗<class_Sky_property_process_mode>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_process_mode**\ (\ value\: :ref:`ProcessMode<enum_Sky_ProcessMode>`\ )
|
||
- :ref:`ProcessMode<enum_Sky_ProcessMode>` **get_process_mode**\ (\ )
|
||
|
||
Метод генерации карты сияния из неба. Карта сияния представляет собой кубическую карту с все более размытыми версиями неба, соответствующими различным уровням шероховатости. Карты сияния могут быть дорогими для расчета.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Sky_property_radiance_size:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`RadianceSize<enum_Sky_RadianceSize>` **radiance_size** = ``3`` :ref:`🔗<class_Sky_property_radiance_size>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_radiance_size**\ (\ value\: :ref:`RadianceSize<enum_Sky_RadianceSize>`\ )
|
||
- :ref:`RadianceSize<enum_Sky_RadianceSize>` **get_radiance_size**\ (\ )
|
||
|
||
Размер карты сияния **Sky**. Чем больше размер карты сияния, тем более подробным будет освещение от **Sky**.
|
||
|
||
\ **Примечание:** У некоторого оборудования могут возникнуть проблемы с более высокими размерами сияния, особенно :ref:`RADIANCE_SIZE_512<class_Sky_constant_RADIANCE_SIZE_512>` и выше. Используйте такие высокие значения только на высокопроизводительном оборудовании.
|
||
|
||
.. rst-class:: classref-item-separator
|
||
|
||
----
|
||
|
||
.. _class_Sky_property_sky_material:
|
||
|
||
.. rst-class:: classref-property
|
||
|
||
:ref:`Material<class_Material>` **sky_material** :ref:`🔗<class_Sky_property_sky_material>`
|
||
|
||
.. rst-class:: classref-property-setget
|
||
|
||
- |void| **set_material**\ (\ value\: :ref:`Material<class_Material>`\ )
|
||
- :ref:`Material<class_Material>` **get_material**\ (\ )
|
||
|
||
:ref:`Material<class_Material>` используется для рисования фона. Может быть :ref:`PanoramaSkyMaterial<class_PanoramaSkyMaterial>`, :ref:`ProceduralSkyMaterial<class_ProceduralSkyMaterial>`, :ref:`PhysicalSkyMaterial<class_PhysicalSkyMaterial>` или даже :ref:`ShaderMaterial<class_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 (Нет возвращаемого значения.)`
|