This page has been translated automatically.
Видеоуроки
Interface
Essentials
Advanced
Подсказки и советы
Программирование на C#
Рендеринг
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Физика
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Настройки и предпочтения
Работа с проектами
Настройка параметров узла
Setting Up Materials
Setting Up Properties
Освещение
Landscape Tool
Sandworm
Использование инструментов редактора для конкретных задач
Extending Editor Functionality
Встроенные объекты
Nodes
Objects
Effects
Decals
Light Sources
Geodetics
World Objects
Sound Objects
Pathfinding Objects
Players
Программирование
Основы
Настройка среды разработки
Примеры использования
UnigineScript
C++
C#
Унифицированный язык шейдеров UUSL
File Formats
Rebuilding the Engine Tools
GUI
Двойная точность координат
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
Работа с контентом
Оптимизация контента
Материалы
Art Samples
Tutorials
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

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

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

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

Примечание
Для визуализации динамических отражений необходимо установить флаг 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 укажите расстояние от камеры, начиная с которого отражения не отображаются.
Последнее обновление: 09.04.2021
Build: ()