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

Environment Probe

Environment Probe — это источник света, который также обеспечивает отражение на объекте внутри своего объема с помощью кубической карты (предварительно запеченной или динамически изменяющейся для каждого кадра). В UNIGINE , Environment Probe имеет три типа проекций:

  • Прямоугольная проекция — лучше подходит для сцен в помещении (когда комната имеет форму 3D-коробки) или сцен на открытом пространстве в форме коробки (переулок между зданиями).
  • Сферическая проекция — лучше работает в случаях сферических отражений.
  • Raymarching — работает во всех остальных случаях, используется для отражений от окружающих поверхностей различной формы. Освещение расчитывается по физическим формулам, обеспечивая большую реалистичность отражений и диффузного освещения по сравнению с проекциями Box и Sphere, а следовательно и требуя больше ресурсов.

С помощью Environment Probe вы можете создавать отражения вместо создания отражающих материалов.

Примечание
По умолчанию Environment Probe используется только для отражений; что касается освещения, рекомендуется моделировать его с помощью Voxel Probe и Карты освещения . Такой подход обеспечивает наилучший результат, однако вы все равно можете использовать Environment Probe для непрямого освещения.

Смотрите также#

Общая информация#

Environment Probe — отличный инструмент для повышения производительности, уменьшения количества материалов и облегчения жизни дизайнерам контента.

Environment Probe использует кубические карты, которые были запечены (или получены с помощью специального инструмента). Кубическая карта будет играть роль отражения и имитации света. Вот пример:

У нас есть два дома с разным цветом интерьера, и мы помещаем в них одинаковые предметы (с отражающим материалом, например, металл). Что случится?

Если не говорить о динамических отражениях, вам нужно отразить интерьер на каждом объекте. Но интерьеры имеют разный окружающий цвет, поэтому вам нужно создать для них 2 разных материала. Совсем не оптимизирован.

Environment Probe устраняет этот недостаток. После того, как вы добавили объект, вы не думаете об отражающем материале для него. Environment Probe отобразит кубическую карту на объект.

Есть разница в отображении кубических карт на прозрачные и непрозрачные объекты:

  • Если объект прозрачный, Environment Probe отобразит кубическую карту, только если весь объект находится внутри радиуса Environment Probe. В противном случае на объект вообще не повлияет Environment Probe.
  • Если объект непрозрачен, Environment Probe отобразит кубическую карту на любую часть объекта, которая находится внутри.
Прозрачный объект, на который влияет Environment Probe
Непрозрачный объект, на который влияет Environment Probe

Если вы поместите несколько нод Environment Probe, которые влияют на непрозрачный объект (отображаемый в отложенный проход ) их кубические карты будут плавно смешаны. Вот пример длинного коридора, стены которого выкрашены в разные цвета.

Мы помещаем две ноды Environment Probe, и оба они влияют на объект (когда объект находится в области пересечения). Если у вас большие локации, вы должны использовать несколько нод Environment Probe вместо одного, чтобы сделать окончательное изображение более реалистичным.

Эффект SSR (Screen Space Reflections) делает конечное изображение более реалистичным, поскольку он добавляет отражения, которые невозможно запечь в кубические карты. Использование Environment Probe и SSR — отличный метод для довольно быстрой имитации отражений с динамическим освещением.

Множество Environment Probes для прозрачных объектов#

Параметр Multiple Environment Probes установлен для прозрачного объекта (отображаемого в forward pass ) позволяет нескольким нодам Environment Probe воздействовать на объект и отображать на него свои кубические карты.

  • Когда опция отключена, только последний набор Environment Probe будет влиять на объект. При этом весь объект должен находиться внутри радиуса Environment Probe. В противном случае этот Environment Probe на него вообще не повлияет.
  • Когда опция включена, объект будет освещен всей Environment Probe: каждый зонд будет воздействовать на ту часть объекта, которая находится внутри зонда. Кубические карты нод Environment Probe будут смешаны в областях пересечения.
Примечание
Рендеринг нескольких нод Environment Probe включается через Rendering -> Transparent -> Multiple Environment Probes.
Multiple Environment Probes выключен: объекту сопоставляется только левая кубическая карта
Multiple Environment Probes включен: обе кубические карты отображаются и смешиваются

Добавление Environment Probe#

Чтобы добавить ноду Environment Probe в сцену через UnigineEditor, сделайте следующее:

  1. Запустите проект с UnigineEditor.
  2. В меню выберите Create -> Lights и выберите необходимую форму Environment Probe: Box, Sphere или Raymarching. После создания можно изменить исходную форму проекции в окне Parameters.

  3. Поместите Environment Probe.
  4. Возьмите текстуру кубической карты для Environment Probe. Вы можете получить его через окно Parameters или использовать инструмент Bake Lighting.
  5. Отрегулируйте настройки Environment Probe.
Примечание
  • Вы не можете запечь в Environment Probe источники света в реальном времени (Omni Light, Projected Light и т.д.). Лучшее, что вы можете сделать, — это разместить сферы с излучающими материалами вместо источников света, отрегулировать интенсивность излучения и затем запечь освещение. Однако результат будет хуже, чем при использовании источников света в реальном времени.
  • Используйте опцию Bake to Environment Probes, чтобы определить, должны ли отражения поверхности запекаться в Environment Probe.

Когда Environment Probe выбран в окне просмотра UnigineEditor, эталонные сферы визуализируются в центре probe:

  • Сфера непрямых отражений помогает оценить отражение, обеспечиваемое probe.
  • Сфера непрямого рассеивания помогает оценить окружающее освещение, обеспечиваемое probe (требуется включить опцию Indirect Diffuse).

Настройки Environment Probe#

Настройки Environment Probe можно найти на вкладке Node окна Parameters. Эта вкладка содержит как параметры, относящиеся ко всем источникам света так и параметры, специфичные для Environment Probe. Последние описаны ниже.

Общие параметры#

Тип проекции, которая будет использоваться Environment Probe:
  • Box projection — лучше подходит для сцен в помещении (когда комната имеет форму 3D-коробки) или сцен на открытом пространстве прямоугольной формы (переулок между зданиями).
  • Sphere projection — лучше работает в случаях сферических отражений.
  • Raymarching — работает во всех остальных случаях, используется для отражений от окружающих поверхностей различной формы. Освещение расчитывается по физическим формулам, обеспечивая большую реалистичность отражений и диффузного освещения по сравнению с проекциями Box и Sphere, а следовательно и требуя больше ресурсов.
Box Projection Size Задает размер проекции.
Attenuation Distance Устанавливает расстояние затухания для Environment Probe.
Attenuation Power Устанавливает мощность затухания для Environment Probe.

Параметры рендеринга#

Color Устанавливает цвет свет в формате RGBA . Цвет определяет правдоподобие виртуального изображения и его эстетическую составляющую.
Intensity

Устанавливает светлый цвет множитель , который обеспечивает точный контроль интенсивности цвета излучаемого света:

  • Минимальное значение 1 соответствует наименее насыщенному цвету света.
  • Максимальное значение 100 соответствует самому яркому и интенсивному цвету.
Shadow Mask Shadow маска управляет рендерингом тени, отбрасываемой объектом, освещенным источником света.
Viewport Mask Устанавливает маску Viewport для света.
Visibility Distance Расстояние от камеры в единицах, до которого будет отображаться Environment Probe.
Fade Distance Расстояние от камеры в единицах, начиная с которого Environment Probe начинает постепенно исчезать.
Render On Water Отображает Environment Probe на воде.
Render On Transparent Отображает Environment Probe на прозрачном объекте.
Multiply By Sky Color

Включает влияние цвет солнечного света на Environment Probe.

Примечание
Если этот параметр включен, цвет Environment Probe становится черным ночью или оранжевым на закате.
Additive Blending Включает режим аддитивного смешивания для Environment Probe. Эта опция обеспечивает большую гибкость в управлении освещением и отражениями. Вы можете использовать его для смешивания освещения и отражений нескольких нод Environment Probe вместе и управления ими по отдельности.
Noise Frame Number Количество вариаций шумового рисунка, который меняется каждый кадр. Большие значения приводят к более динамичному эффекту шума, но при значительном временном накоплении кадров изображение будет выглядеть так, как будто используется больше лучей. Меньшие значения приводят к более статичному шумовому рисунку.

Косвенные диффузные и зеркальные параметры#

В общем случае существует две группы параметров:

Indirect Diffuse Включает непрямое рассеянное (окружающее) освещение для Environment Probe. По умолчанию Environment Probe используется только для отражений; что касается освещения, рекомендуется имитировать его с помощью Voxel Probe и световых карт — такой подход обеспечивает наилучший результат. Однако вы все равно можете использовать Environment Probe для непрямого рассеянного освещения, включив эту опцию.
Indirect Specular Включает отраженное освещение для Environment Probe.

Параметры различаются в зависимости от типа Environment Probe.

Сферическая проекция#

Sphere Projection Parameters

Contrast Устанавливает контрастность непрямого рассеянного освещения.
Parallax

Позволяет отображать отражения с учетом положения камеры. Когда эта опция отключена, кубические карты отражения просто проецируются на объекты и не учитывают перспективу зрителя.

  • 0 (минимум) — коррекция параллакса отключена (отражения будут выглядеть так, как будто объекты бесконечно удалены).
  • 1 (максимум) — включена коррекция параллакса (отражения будут выглядеть так, как будто объекты находятся на расстоянии, близком к радиусу Environment Probe).
  • Промежуточные значения представляют собой коэффициент линейной интерполяции для коррекции параллакса и должны устанавливаться, когда используется значение Environment Probe для размещения объекта среднего или малого размера в окружающей среде для дополнительной коррекции, при необходимости.
Примечание
Коррекция параллакса не влияет на отражения на прозрачных объектах.

Прямоугольная проекция#

Box Projection Parameters

Ambient Parallax Позволяет имитировать глобальное освещение. Environment Probe генерирует поддельный GI с помощью кубической карты.
Contrast Устанавливает контрастность непрямого рассеянного освещения.
Gloss Corners Интенсивность отраженного блеска вблизи углов проекции прямоугольника.

Raymarching#

Raymarching Parameters

Num Rays Количество лучей на пиксель, которые используются для расчета рассеянного/отраженного освещения от шероховатых поверхностей. Использование большего количества лучей обеспечивает более точный расчет отражения от шероховатых поверхностей, однако это обходится дороже.
Num Steps Количество шагов на луч, которые используются для вычисления трассировки. Количество шагов определяет точность измерения рассеянного/отраженного освещения и оказывает существенное влияние на производительность. Чем выше значение, тем точнее учитываются препятствия между объектами.
Step Size Размер шага трассировки, используемого для расчета рассеянного/отраженного освещения. Более высокие значения приводят к более длинным трассировкам (однако крошечные объекты могут отсутствовать), более низкие значения приводят к более детальному отражению крошечных объектов.
Num Steps Roughness Threshold Значение шероховатости, при котором количество шагов (Num Steps) равно 1. Это необходимо для оптимизации, так как максимально корректный расчет матовых отражений может оказаться ненужным.
Information Lost Rays Multiplier Множитель для количества лучей (Num Rays) в областях, где обычно возникает эффект ореола. Увеличение этого значения уменьшает появление ореолов, но чем больше случаев появления ореолов, тем больше это влияет на производительность.
Mip Offset Смещение mip-карты для кубической карты, которая используется для расчета рассеянного/отраженного освещения. Увеличение значения влияет на производительность, освещение становится менее детализированным и реалистичным, мелкие объекты на кубической карте могут быть потеряны. Значение 0 обеспечивает наиболее визуально достоверный результат, но для устранения шума требуется больше лучей.
Threshold Порог, используемый для расчета рассеянного/отраженного освещения, чтобы ограничить имитацию отражений в областях, где информация не может быть получена. Более высокие значения делают эффект менее выраженным.
Threshold Occlusion Значение, ограничивающее имитацию перекрытия кубической карты окружения в областях, где информация не может быть получена. Более высокие значения делают эффект менее выраженным. Этот параметр в основном используется в помещениях для коррекции ложных отражений на закрытых участках (ложные отражения заменяются черным цветом). Для наружного применения рекомендуются более высокие значения этого параметра.
Reconstruction Samples Screen Количество итераций, необходимое для более точного определения пересечения луча с поверхностью внутри экранного пространства. Более высокие значения определяют пересечение более точно, однако существенно влияют на производительность.
Reconstruction Samples Cubemap Количество итераций, необходимое для более точного определения пересечения луча с поверхностью за пределами экранного пространства. Более высокие значения определяют пересечение более точно, однако существенно влияют на производительность.
Translucent Anisotropy

Величина, определяющая степень проникновения света через прозрачные поверхности.

  • 0 — свет не проникает сквозь поверхности.
  • 0.5 — свет распределяется равномерно по обе стороны поверхности (вдоль направления луча и по направлению к источнику света)
  • 1.0 — весь свет проходит через поверхность вдоль направления луча.
Replace With Diffuse Roughness Threshold Значение шероховатости, начиная с которого Indirect Specular перестает вычисляться и заменяется на Indirect Diffuse. Этот параметр используется для оптимизации матовых отражений.
BRDF Модель распределения света для матовых поверхностей. GGX более реалистичен, хотя увеличивает уровень шума и немного снижает производительность.

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

Примечание
После изменения этих параметров, перезапеките кубическую текстуру.
Mode

Указывает, обновляется ли отражение в реальном времени или является запеченным в текстуру.

Примечание
Опция Dynamic Reflections должна быть включена: Rendering -> Features -> Dynamic Reflections.
Faces Per Frame

Интервал обновления кубической карты.

  • 1 — обновлять только одну грань каждый кадр.
  • 2 — обновлять две грани каждый кадр.
  • 3 — обновлять три грани каждый кадр.
  • 4 — обновлять четыре грани каждый кадр.
  • 5 — обновлять пять граней каждый кадр.
  • 6 — обновлять все шесть граней каждый кадр.
Примечание
Доступно только для режима Realtime Update.
Grab by Bake Lighting Определяет, должна ли текстура кубической карты изменяться инструментом Bake Lighting.
Reflection Viewport Mask Маска которая управляет рендерингом отражений Environment Probe во вьюпорте камеры отражения.
Resolution

Разрешение текстуры отражения в пикселях.

Примечание
Установка слишком высокого разрешения для низкопроизводительного графического процессора с малым объемом памяти может привести к сбою движка.
Supersampling Количество выборок на пиксель, используемых для суперсэмплинга при захвате изображения.
Mipmaps Quality

Качество mip-карт и режим коррекции шероховатости для отражений на шероховатых поверхностях.

Доступны следующие режимы:

  • Low — значение Correct Roughness = Low, значение Mipmaps Quality = 0.25.
  • Medium — значение Correct Roughness = Medium, значение Mipmaps Quality = 0.5.
  • High — значение Correct Roughness = High, значение Mipmaps Quality = 0.75.
  • Ultra — значение Correct Roughness = Ultra, значение Mipmaps Quality = 1.0.
Примечание
  • Установка слишком высокого качества для низкопроизводительного графического процессора с малым объемом памяти может привести к сбою движка.
  • Доступно только для режима Realtime Update.
Distance Scale

Множитель глобального расстояния в диапазоне [0.0f;1.0f] для отражения LODs дальность видимости. Шкала расстояний применяется к расстоянию, измеренному от камеры отражения до границы ноды (поверхности).

Примечание
Доступно только для режима Realtime Update.
Near Clipping Расстояние до ближней плоскости отсечения для захвата изображения.
Far Clipping

Расстояние до дальней плоскости отсечения для захвата изображения.

Примечание
Чрезвычайно большая разница между ближней и дальней плоскостями отсечения может привести к запеканию пространства в черный цвет. Поэтому, если требуемое значение дальней плоскости отсечения выходит за пределы диапазона, отрегулируйте значение ближнего отсечения пропорционально.
Sky Cutout

Вырезать рендеринг неба в Environment Probe и рендерить динамическое отражение вместо неба.

Примечание
Этот параметр можно использовать для визуализации изменений градиента неба в окне при изменении времени суток.
Local Space

Включает локальное пространство (локальные координаты) для Environment Probe. Может использоваться для сцен с движущимися объектами.

Примечание
Рекомендуется использовать этот параметр, если вы планируете повернуть Environment Probe после запекания.
Примечание
Вы можете использовать следующие 7 параметров видимости в комбинации с аддитивным смешиванием чтобы обеспечить большую гибкость в запекании освещения. Таким образом, вы можете сделать ноды Environment Probe независимыми друг от друга и объединить их, чтобы создать своего рода динамический эффект GI.
Visibility Sky Позволяет запекать освещение с неба в Environment Probe.
Visibility Light World Включает запекание источников World Light в Environment Probe.
Visibility Light Omni Включает запекание источников Omni Light в Environment Probe.
Visibility Light Proj Включает запекание источников Projected Light в Environment Probe.
Visibility Voxel Probe Включает запекание в Environment Probe других источников света Voxel Probe.
Visibility Environment Probe Включает запекание в Environment Probe других источников света Environment Probe.
Visibility Emission Позволяет запекать эмиссионные источники света в Environment Probe.
Visibility Lightmap Позволяет запекать поверхности с картами освещения в Environment Probe.
Texture

Текстура кубической карты для отражения.

Примечание

Каждая процедура запекания освещения вносит изменения в ассет, выбранный в этом поле, когда включен режим Grab by Bake Lighting.

Вы можете оставить поле пустым, чтобы не потерять содержимое. В этом случае новая сгенерированная текстура освещения будет установлена для этого параметра после процедуры запекания освещения. Сгенерированные текстуры хранятся в папке data/bake_lighting.

Cutout By Shadow

Позволяет обрезать отражения, перекрытые препятствиями (находящимися в затененных областях относительно источника света). Эта функция использует текстуру глубины запеченную Environment Probe, чтобы определить отражения, которые должны быть видны.

Примечание
  • Эта функция не работает со включенным режимом Realtime Update и не отсекает отражения для прозрачных объектов.
  • Эта функция учитывает только тени, отбрасываемые поверхностями с помощью параметра Cast Environment Probe Shadows.

При включении доступны три параметра, перечисленные ниже (Bias, Normal Bias и Depth Texture).

Bias Смещение, которое используется для исправления неточного затенения объектов сцены для функции Cutout By Shadow. Он управляет смещением глубины, добавленным к текущему значению глубины, хранящемуся в карте теней. Аналогично параметру Bias для теней.
Normal Bias Смещение, полученное для функции Cutout By Shadow за счет смещения поверхности, на которую падает тень. Поверхность смещается по нормалям, хранящимся в карте нормалей. Аналогично параметру Normal Bias для теней.
Depth Texture

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

Примечание
Эта текстура статична и требует повторной генерации каждый раз, когда изменяется позиция или размер Environment Probe.

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

  1. Поместите Environment Probe в желаемое место и при необходимости отрегулируйте его размер.
  2. Отключите все ноды, которые не следует учитывать при расчете закрытых (затененных) областей.
  3. Включите функцию Cutout By Shadow и убедитесь, что режим Grab by Bake Lighting также включен.
  4. Щелкните Show Bake Lighting и в появившемся окне щелкните Bake Selected Probe.
  5. После того, как текстуры будут сгенерированы, вы можете включить или отключить обрезку во время выполнения.
Примечание

Каждая процедура запекания освещения вносит изменения в ассет, выбранный в этом поле, когда включены режим Grab by Bake Lighting вместе с режимом Cutout By Shadow.

Вы можете оставить поле пустым, чтобы не потерять содержимое. В этом случае для этого параметра будет установлена новая сгенерированная текстура глубины после процедуры запекания освещения. Сгенерированные текстуры хранятся в папке data/bake_lighting.

Последнее обновление: 26.09.2023
Build: ()