Version: Unity 6.0 (6000.0)
언어 : 한국어
런타임 시 조명을 방법 변경
스카이 오클루전으로 런타임 시점에 하늘의 광원 업데이트

조명 시나리오를 사용해 다양한 조명 설정 베이크

조명 시나리오에는 씬 또는 베이킹 세트에 대해 베이크된 광원 데이터가 포함되어 있습니다. 다양한 조명 설정을 서로 다른 조명 시나리오 에셋에 베이크하고 런타임 시점에 URP(유니버설 렌더러 파이프라인)가 사용하는 설정을 변경할 수 있습니다.

예를 들어 광원이 켜져 있는 조명 시나리오 하나와 광원이 꺼져 있는 다른 조명 시나리오 하나를 생성할 수 있습니다. 런타임 시점에 플레이어가 광원을 끌 때 두 번째 조명 시나리오를 활성화할 수 있습니다.

조명 시나리오 활성화

조명 시나리오를 사용하려면 활성 URP 에셋으로 이동하여 Lighting > Light Probe Lighting > Lighting Scenarios를 활성화합니다.

조명 시나리오 추가

베이크 결과를 저장할 수 있도록 새로운 조명 시나리오를 생성하려면 다음을 수행합니다.

  1. Lighting 창에서 Adaptive Probe Volumes 패널을 엽니다.
  2. Lighting Scenarios 섹션에서 Add(+) 버튼을 선택해 조명 시나리오를 추가합니다.

조명 시나리오로 베이크

조명 시나리오로 베이크하려면 다음 단계를 따르십시오.

  1. Lighting Scenarios 섹션에서 조명 시나리오를 선택하여 활성화합니다.
  2. Generate Lighting을 선택합니다. URP는 활성 조명 시나리오에 베이킹 결과를 저장합니다.

ProbeReferenceVolume API를 사용하여 런타임 시 URP가 사용하는 조명 시나리오를 설정할 수 있습니다.

런타임 시 활성 조명 시나리오를 변경하면 URP는 라이트 프로브의 간접 조명 데이터만 변경합니다. 지오메트리를 옮기거나 조명을 수정하거나 직접 조명을 변경하려면 여전히 스크립트를 사용해야 할 수 있습니다.

조명 시나리오 블렌딩

조명 시나리오 블렌딩을 활성화하려면 활성 URP Asset으로 이동하여 Light Probe Lighting > Scenario Blending을 활성화합니다.

BlendLightingScenario API를 사용하여 런타임 시점에 조명 시나리오를 블렌딩할 수 있습니다.

예를 들어 아래의 스크립트는 다음을 수행합니다.

  1. scenario01를 활성 조명 시나리오로 설정합니다.
  2. 프레임당 블렌딩할 셀 개수를 설정합니다. 이는 최적화에 요긴하게 활용할 수 있습니다.
  3. 프레임마다 적응적 프로브 볼륨 블렌드 인자를 업데이트하여 scenario01scenario02를 블렌딩합니다.
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);
    }
}

조명 시나리오 블렌딩 프리뷰

렌더링 디버거를 사용하여 조명 시나리오 간의 전환을 미리 확인할 수 있습니다. 다음 과정을 따르십시오.

  1. Window > Analysis > Rendering Debugger로 이동해 렌더링 디버거를 엽니다.
  2. Scenario Blend Target을 조명 시나리오로 설정합니다.
  3. Scenario Blending Factor를 사용하여 씬 뷰에서 조명 시나리오의 블렌딩 효과를 확인합니다.

라이트 프로브를 서로 다른 조명 시나리오에서 동일하게 유지

베이크 간에 정적 지오메트리를 이동하면 라이트 프로브 위치가 달라질 수 있습니다. 이 경우 블렌딩하는 각 조명 시나리오에서 라이트 프로브의 수와 위치가 동일하지 않으므로 조명 시나리오를 블렌딩할 수 없습니다.

이를 방지하기 위해 베이크할 때 URP가 프로브 위치를 다시 계산하지 못하게 만들 수 있습니다. 다음 과정을 따르십시오.

  1. 하나의 조명 시나리오를 베이크합니다.
  2. 다른 조명 시나리오를 활성 조명 시나리오로 설정합니다.
  3. 씬 조명 또는 지오메트리를 변경합니다.
  4. Probe Placement 섹션에서 Probe PositionsDon’t Recalculate로 설정합니다.
  5. Generate Lighting을 선택하여 간접 조명만을 다시 계산하게 하고 프로브 배치 계산은 건너뜁니다.

추가 리소스

런타임 시 조명을 방법 변경
스카이 오클루전으로 런타임 시점에 하늘의 광원 업데이트