Environment Probe
Environment Probe - это источник света, который также обеспечивает отражение на объекте внутри своего объема с помощью кубической карты (предварительно запеченной или динамически изменяющейся для каждого кадра). В UNIGINE , Environment Probe имеет два типа проекций:
- Проекция коробки - лучше подходит для сцен в помещении (когда комната имеет форму 3D-коробки) или сцен на открытом пространстве в форме коробки (переулок между зданиями).
- Сферическая проекция - лучше работает во всех остальных случаях (отражения на машине, сферической комнате и т.д.).
С помощью Environment Probe вы можете создавать отражения вместо создания отражающих материалов.
Смотрите также#
- Статья об Использовании Environment Probe
- Статья о Параметрах источников света
- Класс LightEnvironmentProbe для управления Environment Probe через API
Общая информация#
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 будут смешаны в областях пересечения.
Multiple Environment Probes выключен: объекту сопоставляется только левая кубическая карта |
Multiple Environment Probes включен: обе кубические карты отображаются и смешиваются |
Добавление Environment Probe#
Чтобы добавить узел Environment Probe в сцену через UnigineEditor, сделайте следующее:
- Запустите проект с UnigineEditor.
В меню выберите Create -> Lights и выберите необходимую форму Environment Probe: прямоугольник или сферу. После создания источника форму проекции можно изменить в окне Parameters.
- Поместите Environment Probe.
- Возьмите текстуру кубической карты для Environment Probe. Вы можете получить его через окно Parameters или использовать инструмент Bake Lighting.
- Отрегулируйте настройки Environment Probe.
- Вы не можете запечь в Environment Probe источники света в реальном времени (Omni Light, Projected Light и т.д.) . Лучшее, что вы можете сделать, - это разместить сферы с излучающими материалами вместо источников света, отрегулировать интенсивность излучения и затем запечь освещение. Однако результат будет хуже, чем при использовании источников света в реальном времени.
- Используйте опцию Bake to Environment Probes, чтобы определить, должны ли отражения поверхности запекаться в Environment Probe.
Когда Environment Probe выбран в окне просмотра UnigineEditor, эталонные сферы визуализируются в центре probe:
- Отражающая сфера помогает оценить отражение, обеспечиваемое probe.
- Рассеянная сфера помогает оценить окружающее освещение, обеспечиваемое probe (требуется рассеянное освещение должно быть включено).
Настройки Environment Probe#
Настройки Environment Probe можно найти на вкладке Node окна Parameters. Эта вкладка содержит как параметры, относящиеся ко всем источникам света так и параметры, специфичные для Environment Probe. Последние описаны ниже.
Общие параметры#
Projection Shape |
Тип формы проекции, которая будет использоваться Environment Probe:
|
---|---|
Box Projection Size | Задает размер проекции. |
Attenuation Power | Устанавливает мощность затухания для света. |
Attenuation Distance | Устанавливает расстояние затухания для света. |
Параметры рендеринга#
Color | Устанавливает цвет свет в формате RGBA . Цвет определяет правдоподобие виртуального изображения и его эстетическую составляющую. |
---|---|
Intensity |
Устанавливает светлый цвет множитель , который обеспечивает точный контроль интенсивности цвета излучаемого света:
|
Shadow Mask | Shadow маска управляет рендерингом тени, отбрасываемой объектом, освещенным источником света. |
Viewport Mask | Устанавливает маску Viewport для света. |
Visibility Distance | Расстояние от камеры в единицах, до которого будет отображаться Environment Probe. |
Fade Distance | Расстояние от камеры в единицах, начиная с которого Environment Probe начинает постепенно исчезать. |
Render Water | Отображает Environment Probe на воде. |
Render Transparent | Отображает Environment Probe на прозрачном объекте. |
Use Sun Color |
Включает влияние цвет солнечного света на Environment Probe. Если этот параметр включен, цвет Environment Probe становится черным ночью или оранжевым на закате. |
Additive Blending | Включает режим аддитивного смешивания для Environment Probe. Эта опция обеспечивает большую гибкость в управлении освещением и отражениями. Вы можете использовать его для смешивания освещения и отражений нескольких узлов Environment Probe вместе и управления ими по отдельности. |
Параметры окружающей среды#
Enabled | Включает окружающее освещение для Environment Probe. По умолчанию Environment Probe используется только для отражений; что касается освещения, рекомендуется моделировать его с помощью Voxel Probe и карт освещения . Такой подход обеспечивает наилучший результат, однако вы все равно можете использовать Environment Probe для окружающего освещения, включив эту опцию. |
---|---|
Global Illumination |
Включает имитацию глобального освещения. Environment Probe генерирует поддельный GI, используя заданную кубическую карту. Этот параметр доступен только для box-проекции . |
Contrast | Устанавливает контраст окружающего освещения. |
Параметры отражения#
Gloss Corners |
Устанавливает интенсивность блеска отражения около углов проекции прямоугольника. Этот параметр доступен для проекция коробки Только. |
---|---|
Parallax |
Коррекция параллакса включает рендеринг отражений с учетом положения камеры. Когда этот параметр отключен, кубические карты отражений просто проецируются на объекты и не следуют за точкой зрения зрителя.
|
Настройки запекания#
Dynamic |
Указывает, является ли отражение динамическим. Опция Dynamic Reflections должна быть включена: Rendering -> Features -> Dynamic Reflections. |
---|---|
Correct Roughness |
Включает один из режимов коррекции для отражений Environment Probe на шероховатых поверхностях или отключает коррекцию. Доступные режимы: Low, Medium, High, Ultra - они различаются количеством лучей, используемых для создания отражения на шероховатой поверхности. Доступно только для динамического режима . |
Faces Per Frame |
Интервал обновления кубической карты. Доступно только для динамического режима.
|
Grab by Bake Lighting | Определяет, должна ли текстура кубической карты изменяться инструментом Bake Lighting. |
Reflection Viewport Mask | Маска которая управляет рендерингом отражений Environment Probe во вьюпорте камеры отражения. |
Resolution |
Разрешение текстуры отражения в пикселях. Установка слишком высокого разрешения для низкопроизводительного графического процессора с малым объемом памяти может привести к сбою движка. |
Supersampling | Количество выборок на пиксель, используемых для суперсэмплинга при захвате изображения. |
Mipmaps Quality |
Качество MIP-карт. Установка слишком высокого качества для низкопроизводительного графического процессора с малым объемом памяти может привести к сбою движка. |
Distance Scale |
Множитель глобального расстояния в диапазоне [0.0f;1.0f] для отражения LODs дальность видимости. Шкала расстояний применяется к расстоянию, измеренному от камеры отражения до границы узла (поверхности). Доступно только для динамического режима. |
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 Emission | Позволяет запекать эмиссионные источники света в Environment Probe. |
Visibility Lightmap | Позволяет запекать поверхности с картами освещения в Environment Probe. |
Texture |
Текстура кубической карты для отражения. Каждая процедура запекания освещения вносит изменения в ассет, выбранный в этом поле, когда включен режим Grab by Bake Lighting. Вы можете оставить поле пустым, чтобы не потерять содержимое. В этом случае новая сгенерированная текстура освещения будет установлена для этого параметра после процедуры запекания освещения. Сгенерированные текстуры хранятся в папке data/bake_lighting. |
Cutout By Shadow |
Позволяет обрезать отражения, перекрытые препятствиями (находящимися в затененных областях относительно источника света). Эта функция использует текстуру глубины запеченную Environment Probe, чтобы определить отражения, которые должны быть видны.
При включении доступны три параметра, перечисленные ниже (Bias, Normal Bias и Depth Texture). |
Bias | Смещение, которое используется для исправления неточного затенения объектов сцены для функции Cutout By Shadow. Он управляет смещением глубины, добавленным к текущему значению глубины, хранящемуся в карте теней. Аналогично параметру Bias для теней. |
Normal Bias | Смещение, полученное для функции Cutout By Shadow за счет смещения поверхности, на которую падает тень. Поверхность смещается по нормалям, хранящимся в карте нормалей. Аналогично параметру Normal Bias для теней. |
Depth Texture |
Текстура глубины, используемая для отсечения отражений, перекрытых препятствиями. Эта текстура статична и требует повторной генерации каждый раз, когда изменяется позиция или размер Environment Probe. Чтобы захватить текстуру глубины для обрезки, выполните следующие действия:
Каждая процедура запекания освещения вносит изменения в ассет, выбранный в этом поле, когда включены режим Grab by Bake Lighting вместе с режимом Cutout By Shadow. Вы можете оставить поле пустым, чтобы не потерять содержимое. В этом случае для этого параметра будет установлена новая сгенерированная текстура глубины после процедуры запекания освещения. Сгенерированные текстуры хранятся в папке data/bake_lighting. |