Введение в глобальное освещение в реальном времени с помощью Enlighten
Unity использует решение middleware под названием Enlighten для Realtime Global Illumination.
По умолчанию, Свет в реальном времени способствовать только прямому освещению Scene. Если вы включаете Глобальное освещение в реальном времени (Просветить глобальное освещение в режиме реального времени) в вашем Scene, Realtime Lights также способствуют косвенному освещению Scene.
Поддержка конвейера отображения
Дополнительные сведения о поддержке Realtime Global Illumination с помощью Enlighten в конвейере рендеринга см. в сравнении функций конвейера рендеринга и.
Когда использовать Enlighten Глобальное освещение в реальном времени
Enlighten Realtime Global Illumination (Realtime GI) полезна для Светов, которые меняются медленно и оказывают значительное визуальное воздействие на ваш Scene, например, солнце, движущееся по небу, или медленно пульсирующий свет в закрытом коридоре. Эта функция не предназначена для специальных эффектов или Светов, которые меняются быстро, потому что задержка и количество необходимых циклов CPU делают такое применение непрактичным. Enlighten Realtime Global Illumination подходит для игр, ориентированных на системы и консоли среднего и высокого уровня PC. Некоторые высокотехнологичные мобильные устройства также могут быть достаточно мощными, чтобы использовать эту функцию, но вы должны держать сцены маленькими и разрешение для карт освещения в реальном времени низким, чтобы обеспечить приемлемую производительность.
Как работает Enlighten Realtime Global Illumination
Enlighten Realtime Global Illumination выполняет следующие действия:
- Разделяет сцену на небольшие участки поверхности (кластеры).
- Определяет степень, в которой патчи видны друг для друга.
- Группы патчей, видимых друг для друга в системах.
Во время выполнения Enlighten Realtime Global Illumination использует эту предварительно рассчитанную информацию о видимости для приближения того, как Realtime Lights отражаются в Scene, сохраняет результаты в наборе lightmaps, а затем использует эти lightmaps для применения косвенного освещения к Scene. Обновление lightmaps требует больших вычислений, поэтому процесс делится на несколько кадров. Enlighten Realtime Global Illumination требуется несколько кадров для распространения изменений косвенного освещения по Scene.