Files
godot-docs-l10n/classes/ru/class_sky.rst

225 lines
12 KiB
ReStructuredText
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

: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 (Нет возвращаемого значения.)`