Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Глобальное освещение в реальном времени с использованием Enlighten

Unity использует промежуточное ПО под названием EnlightenСистема освещения от Geomerics, используемая в Unity для карт освещения и глобального освещения в реальном времени. Подробнее
См. Словарь
для Realtime GI.

По умолчанию Подсветка в реальном времениКомпоненты освещения, у которых установлено свойство Mode в реальном времени. Unity рассчитывает и обновляет освещение Realtime Lights каждый кадр во время выполнения. Никакие источники света в реальном времени не рассчитываются заранее. Подробнее
См. в Словарь
, вносите только прямое освещение в СценаСцена содержит окружение и меню вашей игры. Думайте о каждом уникальном файле сцены как об уникальном уровне. В каждой сцене вы размещаете свое окружение, препятствия и декорации, по сути проектируя и создавая свою игру по частям. Подробнее
См. в Словарь
. Если вы включите Глобальное освещение в реальном времениГруппа методов, которые моделируют как прямое, так и непрямое освещение для получения реалистичных результатов освещения. В Unity есть две системы глобального освещения, сочетающие прямое и непрямое освещение: запеченное глобальное освещение и глобальное освещение в реальном времени.
Просмотр в Словарь
(GI в реальном времени) в вашей сцене, в реальном времени Источники света также способствуют непрямому освещению сцены.

Поддержка конвейера рендеринга

  • Встроенный конвейер рендеринга поддерживает глобальное освещение в реальном времени с помощью Enlighten.
  • Универсальный конвейер рендеринга (URP) не поддерживает глобальное освещение в реальном времени с использованием Enlighten.
  • Конвейер рендеринга высокого разрешения (HDRP) не поддерживает глобальное освещение в реальном времени с использованием Enlighten.

Когда использовать GI в реальном времени

Глобальное освещение в реальном времени полезно для источников света, которые медленно меняются и оказывают сильное визуальное воздействие на вашу сцену, например, солнце, движущееся по небу, или медленно пульсирующий свет в закрытом коридоре. GI в реальном времени не предназначен для освещения, которое быстро меняется, или для специальных эффектов из-за снижения производительности и задержки.

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

Использование GI в реальном времени

Чтобы включить GI в реальном времени в вашей сцене, откройте окно освещения (меню: Window > РендерингПроцесс отрисовки графики на экран (или текстуры рендеринга). По умолчанию основная камера в Unity отрисовывает свой вид на экран. Подробнее
См. в Словарь
> Подсветка) и включите Глобальное освещение в реальном времени.

Чтобы отключить эффект GI в реальном времени для определенного источника света, выберите источник света GameObject фундаментальный объект в сценах Unity, который может представлять персонажей, реквизит, декорации, камеры, путевые точки и многое другое. Функциональность GameObject определяется прикрепленными к нему компонентами. Подробнее
См. в Словарь
и в компоненте Light установите Косвенный Множитель равен 0. Это означает, что источник света не добавляет непрямого света в сцену.

Чтобы полностью отключить GI в реальном времени, откройте окно Освещение (меню: Окно > Рендеринг > Освещение). и снимите флажок Глобальное освещение в реальном времени.

Подробные пошаговые рекомендации по использованию Enlighten Realtime Global Illumination см. в руководстве по Unity на странице Предварительно вычисленный GI в реальном времени.

Как работает GI в реальном времени

В редакторе Unity Enlighten разбивает сцену на небольшие фрагменты поверхности и определяет степень видимости этих фрагментов друг для друга. Во время выполнения Enlighten использует эту предварительно вычисленную информацию о видимости, чтобы приблизить отражение света в реальном времени в сцене, сохраняет результаты в наборе карт освещения, а затем использует эти карты освещения для применения непрямого освещения к сцене.

Обновление карт освещения требует значительных вычислительных ресурсов, поэтому процесс разбит на несколько кадров. Другими словами, Enlighten требуется пара кадров, чтобы распространить изменения непрямого освещения через сцену.

Световые зонды и GI в реальном времени

Обратите внимание, что Световые зондыСветовые зонды хранят информацию о том, как свет проходит через пространство. в вашей сцене. Набор световых зондов, расположенных в заданном пространстве, может улучшить освещение движущихся объектов и статических пейзажей LOD в этом пространстве. Подробнее
См. Словарь
ведут себя иначе при включении Realtime GI.

Когда вы включаете GI в режиме реального времени в сцене, Light Probes итеративно пробует освещение во время выполнения. Это означает, что они реагируют на изменения освещения сцены во время выполнения.

Когда вы отключаете GI в реальном времени в сцене, световые зонды используют только запеченные данные освещения. Это означает, что они не реагируют на изменения освещения сцены во время выполнения.

Тени и GI в реальном времени

Если источник света также отбрасывает тени, Unity визуализирует как динамические, так и статические игровые объекты в сцене на карте теней источника света. Затем материальные шейдеры как статических, так и динамических игровых объектов сэмплируют эту карту теней и отбрасывают друг на друга тени в реальном времени. Расстояние до тени (меню: Правка > Настройки проектаОбширная коллекция параметров, которые позволяют настроить поведение физики, аудио, сети, графики, ввода и многих других областей вашего проекта. Подробнее
См. в Словарь
, затем выберите Качество и перейдите к категории ТениКомпонент пользовательского интерфейса, который добавляет простой эффект контура к графическим компонентам, таким как текст или Изображение. Он должен находиться в том же GameObject, что и графический компонент. Подробнее
См. в разделе Словарь
) управляет максимальным расстоянием, на котором тени начинают исчезать. и полностью исчезают, что, в свою очередь, влияет на производительность и качество изображения.

Обратите внимание, что, хотя GI в реальном времени также приводит к мягким теням, если только сцена не очень маленькая, они, как правило, более грубые, чем то, что можно получить с помощью карты освещения.

Вопросы производительности

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

GI в реальном времени увеличивает шейдерПрограмму, работающую на графическом процессоре. Подробнее
См. в расчетах Словарь
, поскольку Enlighten использует дополнительный набор карт освещения и зондов.

Оптимизация GI в реальном времени

Если Realtime GI недостаточно быстро реагирует на изменения освещения вашей сцены, есть несколько способов решить эту проблему:

  • Уменьшите разрешение карты освещения в реальном времени. Это приводит к меньшему количеству вычислений во время выполнения, поэтому освещение сходится быстрее.
  • Увеличьте параметр «Загрузка ЦП» для GI в реальном времени в окне «Настройки качества». Выделяя больше процессорного времени, освещение во время выполнения сходится быстрее. Компромисс заключается в том, что другие системы получают меньше процессорного времени для выполнения своей работы. Приемлемо ли это, зависит от вашего проекта. Это настройка для каждой сцены, поэтому вы можете выделять больше или меньше процессорного времени в зависимости от сложности каждой отдельной сцены в вашем проекте.
Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3