This page has been translated automatically.
Видеоуроки
Интерфейс
Основы
Продвинутый уровень
Подсказки и советы
Основы
Программирование на C#
Рендеринг
Профессиональный уровень (SIM)
Принципы работы
Свойства (properties)
Компонентная Система
Рендер
Режимы вывода изображения
Физика
Браузер SDK 2
Лицензирование и типы лицензий
Дополнения (Add-Ons)
Демонстрационные проекты
API Samples
Редактор UnigineEditor
Обзор интерфейса
Работа с ассетами
Контроль версий
Настройки и предпочтения
Работа с проектами
Настройка параметров ноды
Setting Up Materials
Настройка свойств
Освещение
Sandworm
Использование инструментов редактора для конкретных задач
Расширение функционала редактора
Встроенные объекты
Ноды (Nodes)
Объекты (Objects)
Эффекты
Декали
Источники света
Geodetics
World-ноды
Звуковые объекты
Объекты поиска пути
Player-ноды
Программирование
Основы
Настройка среды разработки
Примеры использования
C++
C#
UnigineScript
Унифицированный язык шейдеров UUSL (Unified UNIGINE Shader Language)
Плагины
Форматы файлов
Материалы и шейдеры
Rebuilding the Engine Tools
Интерфейс пользователя (GUI)
Двойная точность координат
API
Animations-Related Classes
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
VR-Related Classes
Работа с контентом
Оптимизация контента
Материалы
Визуальный редактор материалов
Material Nodes Library
Miscellaneous
Input
Math
Matrix
Textures
Art Samples
Учебные материалы
Внимание! Эта версия документация УСТАРЕЛА, поскольку относится к более ранней версии SDK! Пожалуйста, переключитесь на самую актуальную документацию для последней версии SDK.
Внимание! Эта версия документации описывает устаревшую версию SDK, которая больше не поддерживается! Пожалуйста, обновитесь до последней версии SDK.

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

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

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

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

Количество полигонов в отражениях для каждой поверхности можно проверить на вкладке Surfaces инструмента Content Profiler.

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

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 действует, только если включен режим Realtime Update для Environment Probe.

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

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

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

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

Источники Environment Probe#

Этот метод подходит только для динамических отражений, предоставляемых Environment Probes.

  1. В строке меню выберите Windows -> Settings и перейдите в раздел Visibility Distances открывшегося окна настроек.

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

Плоские отражения#

Чтобы оптимизировать источник Planar Reflection Probe, вы можете попробовать настроить следующие параметры его материала:

  • Расстояния Visibility Distance и Fade Distance, чтобы вообще не отображать отражающую поверхность, когда камера находится далеко от нее.
  • Reflection Distance чтобы избежать отображения невидимых отражений, когда камера находится далеко от отражающей поверхности.
  • Distance Scale для применения менее детализированных LOD к отражениям на более близком расстоянии, чем к соответствующим отраженным объектам.
  • ZFar для ограничения усеченного угла обзора, который используется для захвата отражений, чтобы избежать отображения отражений ненужных удаленных объектов.
Последнее обновление: 16.08.2024
Build: ()