Unity 6.3
0 онлайн 102 гостей 3 в системе
Вход
Освещение Шаг 90 из 173

Введение в отражательные зонды

A Зонд отражения Это как камера, которая захватывает сферический вид окружающей среды во всех направлениях. Затем полученное изображение сохраняется в виде Кубическая карта В данной сцене могут быть использованы несколько зондов отражения, а объекты могут быть настроены на использование кубической карты, созданной ближайшим зондом. Результатом является то, что отражения на объекте могут убедительно меняться в зависимости от окружающей среды.

Зонд отражения, показывающий отражения от близлежащего объекта
Зонд отражения, показывающий отражения от близлежащего объекта

CG Фильмы и анимации обычно содержат очень реалистичные отражения, которые важны для создания ощущения «связи» между объектами в сцене. Однако точность этих отражений требует больших затрат времени процессора, и хотя это не является проблемой для фильмов, это серьезно ограничивает использование отражающих объектов в играх в реальном времени.

Традиционно, игры использовали технику под названием отображение отражений для имитации отражений от объектов, сохраняя при этом обработку на приемлемом уровне. Эта техника предполагает, что все отражающие объекты в сцене могут «видеть» (и, следовательно, отражать) точно одинаковую окружающую среду. Это работает достаточно хорошо для главного персонажа игры (например, блестящей машины), если она находится в открытом пространстве, но неубедительно, когда персонаж переходит в другую среду; это выглядит странно, если машина заезжает в туннель, но небо все еще видимо отражается в ее окнах.

Unity улучшает базовое отображение отражений с помощью Отражательные зонды, которые позволяют проанализировать визуальную среду в стратегических точках сцены. Их следует размещать в каждой точке, где внешний вид отражающего объекта заметно изменится (например, туннели, районы возле зданий и места, где цвет грунта меняется). Когда отражающий объект проходит рядом с зондом, отражение, взятое зондом, может быть использовано для картирования отражения объекта. Кроме того, когда рядом находятся несколько зондов, Unity может интерполировать между ними, чтобы позволить постепенные изменения в отражении. Таким образом, использование отражающих зондов может создать довольно убедительные отражения с приемлемой нагрузкой на обработку.

Как работают отражательные зонды

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

Внутренние поверхности кубической карты " skybox " (с удалением лицевой стороны)
Внутренние поверхности кубической карты " skybox " (с удалением лицевой стороны)

Для того, чтобы объект показывал отражения, его шейдер должен иметь доступ к изображениям, представляющим кубическую карту. Каждая точка поверхности объекта может "видеть" небольшую область кубической карты в направлении, в котором обращена поверхность (т.е. в направлении вектора нормальной поверхности). Шейдер использует цвет кубической карты в этой точке для расчета того, какого цвета должна быть поверхность объекта; зеркальный материал может точно отражать цвет, в то время как блестящий автомобиль может исчезнуть и несколько затенить его.

Как упоминалось выше, традиционное отображение отражения использует только одну кубическую карту для представления окружающей среды для всей сцены. Кубическая карта может быть нарисована художником или может быть получена путем съемки шести "снимков" из точки в сцене, с одним снимком для каждой стороны куба. Отражающие зонды улучшают это, позволяя вам установить много предопределенных точек в сцене, где могут быть сделаны снимки кубической карты. Таким образом, вы можете записать окружающий вид в любой точке сцены, где отражения заметно отличаются.

В дополнение к своей точке зрения, зонд также имеет зону воздействия, определенную невидимой формой коробки в сцене. Отражающий объект, который проходит через зону зонда, имеет свою кубическую карту отражения, временно поставляемую этим зондом. По мере перемещения объекта из одной зоны в другую, кубическая карта изменяется соответственно.

Стандартные зонды отражения

Когда вы добавляете новую сцену, Unity автоматически создает скрытый Reflection Probe по умолчанию, который хранит встроенную в Unity карту куба по умолчанию Skybox.

Например, если вы измените Skybox Материал в окне Освещение, данные в зондах не изменятся, так что освещение окружающей среды на объектах останется прежним.

Чтобы прекратить использование скрытого Пробоотражателя Отражения, выберите Создать освещение или Очистить запеченные данные в окне Освещение. Unity затем создает и использует новый запеченный Пробоотражатель Отражения по умолчанию (Пробоотражатель Отражения Окружающей Среды). Этот Пробоотражатель Отражения является ассетом в окне Project и обновляется при выборе Создать освещение.

Дополнительные ресурсы