Испечь различные настройки освещения с сценариями освещения
Сценарий освещения содержит данные об освещении для сцены или Baking Set. Вы можете добавить различные настройки освещения в различные ассеты Сценария освещения и изменить, какую из них Universal Render Pipeline (URP) использует во время выполнения.
Например, вы можете создать один Сценарий освещения с включенными огнями и другой Сценарий освещения с выключенными огнями. Во время выполнения вы можете включить второй Сценарий освещения, когда игрок выключает огни.
Включить сценарии освещения
Чтобы использовать Сценарии освещения, перейдите к активному ресурсу URP и включите Освещение > Освещение светового зонда > Сценарии освещения.
Добавление сценария освещения
Чтобы создать новый Сценарий освещения, в котором можно хранить результаты запекания, выполните следующие действия:
- Откройте панель Адаптивные тома зонда в окне Освещение.
- В течение Сценарии освещения разделе, выберите Добавить (+) кнопка для добавления сценария освещения.
Печь в сценарии освещения
Чтобы создать сценарий освещения, выполните следующие действия:
- В течение Сценарии освещения разделе, выберите Сценарий освещения, чтобы сделать его активным.
- Выберите Создать освещение. URP хранит результаты запекания в активном сценарии освещения.
Вы можете установить, какой Сценарий Освещения URP использует во время выполнения, используя ProbeReferenceVolume API.
Если вы изменяете активные Сценарии Освещения во время выполнения, URP изменяет только данные косвенного освещения в Световых Зондах. Вам все равно может понадобиться использовать сценарии для перемещения геометрии, изменения освещения или изменения прямого освещения.
Смешение сценариев освещения
Чтобы включить смешивание между Сценариями Освещения, перейдите к активному URP активу и включите Light Probe Lighting > Смешивание сценариев.
Вы можете смешивать Сценарии Освещения во время выполнения, используя BlendLightingScenario API.
Например, следующий скрипт выполняет следующие действия:
- Устанавливает
scenario01в качестве активного сценария освещения. - Настраивает количество ячеек для слияния в кадре, что может быть полезно для целей оптимизации.
- Обновляет коэффициент смешивания Adaptive Probe Volume каждый кадр для смешивания между
scenario01иscenario02.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
public class BlendLightingScenarios : MonoBehaviour
{
UnityEngine.Rendering.ProbeReferenceVolume probeRefVolume;
public string scenario01 = "Scenario01Name";
public string scenario02 = "Scenario02Name";
[Range(0, 1)] public float blendingFactor = 0.5f;
[Min(1)] public int numberOfCellsBlendedPerFrame = 10;
void Start()
{
probeRefVolume = UnityEngine.Rendering.ProbeReferenceVolume.instance;
probeRefVolume.lightingScenario = scenario01;
probeRefVolume.numberOfCellsBlendedPerFrame = numberOfCellsBlendedPerFrame;
}
void Update()
{
probeRefVolume.BlendLightingScenario(scenario02, blendingFactor);
}
}
Предварительный просмотр смешивания между сценариями освещения
Вы можете использовать Отладчик рендеринга для предварительного просмотра переходов между сценариями освещения. Выполните следующие действия:
- Перейти к Окно > Анализ > Отладчик рендеринга чтобы открыть отладчик отображения.
- Установить Сценарий Смешивания Цели на Сценарий Освещения.
- Используйте Scenario Blending Factor для проверки эффекта смешивания между Сценариями Освещения в представлении Scene.
Держите световые зонды одинаковыми в различных сценариях освещения
Если между запеканиями переместить статическую геометрию, позиции Light Probe могут измениться. В этом случае смешивать Lighting Scenario нельзя, поскольку количество Light Probe и их позиции должны совпадать во всех сценариях, между которыми выполняется смешивание.
Чтобы избежать этого, вы можете запретить URP пересчитывать позиции зонда во время запекания. Выполните следующие действия:
- Печь один сценарий освещения.
- Установите другой Сценарий освещения в качестве активного Сценария освещения.
- Измените освещение сцены или геометрию.
- В разделе Размещение зонда установите Положения зонда на Не пересчитывать.
- Выберите Создать освещение, чтобы перерассчитать только косвенное освещение и пропустить расчеты расположения зонда.
Дополнительные ресурсы
- ProbeReferenceVolume API
- Печь несколько сцен вместе с печенья комплекты