Кэш Косвенного Освещения в Unreal Engine 4

0
3
Кэш Косвенного Освещения в Unreal Engine 4
С выпуском Unreal Engine версии 4.18 Volumetric Lightmap Кэш косвенного освещения был заменен как метод по умолчанию.

Чтобы снова включить Кэш косвенного освещения, откройте World Settings > Lightmass Settings > Volume Lighting Method и установите VLM Sparse Volume Lighting Samples.

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

На приведенных ниже изображениях вы можете увидеть разницу между динамическими объектами, обработанными с помощью и без вклада от кеша непрямого освещения:Диффузное освещение без Кэша Косвенного Освещения UE4

Диффузное освещение на уровне Элементаля без Кэша Косвенного Освещения.

Диффузное освещение с Кэшем непрямого освещения UE4Диффузное освещение с Кэшем непрямого освещения.

Как это работает

С точки зрения высокого уровня:

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

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

Кэш Косвенного Освещения в Unreal Engine 4Использование Show->Visualize->Volume Lighting Samples для визуализации образцов освещения, созданных Lightmass.

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

Во время выполнения Indirect Lighting Cache будет интерполировать образцы освещения на позиции вокруг каждого подвижного объекта. Подвижным объектом является любой компонент с подвижностью, установленный на Movable.

Здесь торус представляет собой подвижную статик меш и показаны интерполяционные положения 5x5x5.интерполяционные положения статик меши UE4

Эта интерполяция происходит только тогда, когда объект движется достаточно, чтобы сделать его недействительным, следовательно, когда именуется кеша. Обратите внимание, что позиции довольно далеки от границ объекта. Это должно обеспечить непрерывное и стабильное освещение по мере перемещения объекта по всему миру. Большинство объектов будут эффективно получать разрешение интерполяции 3x3x3. Образцы объемного освещения хранят направленное косвенное освещение, которое позволяет картам нормали работать.

Предварительный просмотр незавершенного освещения

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

Здесь один из столпов был дублирован, и он получает косвенное освещение для предварительного просмотра вместо того, чтобы быть черным.косвенное освещение для предварительного просмотра UE4