Video Tutorials
Interface
Essentials
Advanced
Полезные советы
UnigineEditor
Interface Overview
Assets Workflow
Settings and Preferences
Working With Projects
Adjusting Node Parameters
Setting Up Materials
Setting Up Properties
Lighting
Landscape Tool
Using Editor Tools for Specific Tasks
Extending Editor Functionality
Программирование
Fundamentals
Setting Up Development Environment
Usage Examples
UnigineScript
C++
C#
UUSL (Unified UNIGINE Shader Language)
File Formats
Rebuilding the Engine Tools
GUI
Double Precision Coordinates
API
Containers
Common Functionality
Controls-Related Classes
Engine-Related Classes
Filesystem Functionality
GUI-Related Classes
Math Functionality
Node-Related Classes
Objects-Related Classes
Networking Functionality
Pathfinding-Related Classes
Physics-Related Classes
Plugins-Related Classes
IG Plugin
CIGIConnector Plugin
Rendering-Related Classes
Работа с контентом
Materials
Art Samples
Tutorials

Оптимизация динамических отражений

Динамические отражения в сцене могут значительно снизить производительность, если они не настроены должным образом. Например, плоское отражение удваивает количество полигонов, поскольку по умолчанию учитывает всю геометрию сцены. Это может вызвать проблемы с производительностью в больших и тяжелых сценах.

В качестве альтернативы вы можете попытаться сделать количество отражений как можно меньшим. Однако есть способ оптимизировать использование динамических отражений без визуальных потерь.

Примечание
Для визуализации динамических отражений необходимо установить флаг Rendering -> Dynamic Reflections -> Enabled.

Использование масок отражения#

Reflection mask позволяет контролировать рендеринг динамических отражений во вьюпорте камеры отражения . Эту маску можно установить для динамических Environment Probes и плоских отражений .

Оптимизация плоских отражений#

Чтобы оптимизировать сцену с помощью плоских отражений , вы можете применить следующий подход: настроить сцену так, чтобы визуализировались только требуемые плоские отражения, и использовать менее затратный Screen Space Reflections (SSR) для других отражений. Пример рабочего процесса выглядит следующим образом:

  1. Решите, какой бит маски области просмотра будет отвечать за отражение объекта.
  2. Откройте окно настроек камеры и включите выбранный бит в маске Reflection Viewport камеры.

  3. В иерархии материалов выберите отражающий материал и включите тот же бит в Planar Reflection Viewport Mask на вкладке Parameters в редакторе материалов.

  4. В Иерархии мира выберите узел для отражения и перейдите на вкладку Node окна Parameters.
  5. В разделе Surfaces включите выбранный бит в Viewport Mask для всех поверхностей, которые должны быть отражены.
    Примечание
    Вы можете создать специальную низкополигональную LOD-поверхность, которая будет использоваться только для отражений; маска области просмотра такого LOD не должна совпадать с маской области просмотра камеры, чтобы исключить ее из рендеринга.
  6. В иерархии материалов выберите материал узла, который должен быть отражен, и включите выбранный бит в поле Viewport Mask на вкладке Common редактора материалов.

    На рисунке ниже маска области просмотра отражения плоскости имеет тот же бит (или биты) совпадения с маской окна просмотра отражения камеры и масками области просмотра красного материального шара и его материала. Маски области просмотра других материальных шаров не имеют совпадающего бита с маской области просмотра камеры отражения и / или с маской области просмотра плоского отражения и, следовательно, они не отражаются:

    Маскированное плоское отражение
  7. включитьScreen Space Reflectionsдля создания отражений других узлов в сцене: в строке меню включите параметр Rendering -> Features -> SSR.
    Примечание
    Эффект SSR также должен быть включен для отражающего материала: перейдите в раздел Post Processing на вкладке States и проверьте, включена ли опция SSR.

    Маскированное плоское отражение + SSR

Оптимизация отражений Environment Probe#

Динамические отражения, предоставляемые Environment Probes, можно оптимизировать таким же образом, как описано выше. Чтобы указать маску Reflection Viewport для Environment Probe, перейдите в раздел Environment Probe окна Parameters и установите параметр Reflection Viewport Mask в разделе Baking Settings.

Примечание
Маска Reflection Viewport действует, только если Dynamic флаг установлен для Environment Probe.

На левом рисунке ниже маска области просмотра отражения Environment Probe совпадает с маской Reflection Viewport камеры и масками Viewport красного материального шара и его материала. На правом рисунке маска Reflection Viewport для Environment Probe не соответствует маске Reflection Viewport камеры:

Маскированное отражение, обеспечиваемое зондом среды
Примечание
Пример использования масок отражения также доступен в видеоуроке Оптимизация контента .

Настройка расстояния отражения#

Еще один метод, позволяющий оптимизировать рендеринг динамических отражений, - установить расстояние, на котором отражения будут отключены:

Примечание
Этот метод доступен только для динамических отражений, предоставляемых Environment Probes .
  1. В строке меню выберите Windows -> Settings и перейдите в раздел Visibility Distances открывшегося окна настроек.

  2. Для параметра Dynamic Reflections укажите расстояние от камеры, начиная с которого отражения не отображаются.
Последнее обновление: 10.10.2020