[Unity] Mixed Lighting
■ Mixed Lighting (혼합 조명)
혼합 조명에 여러 가지 유형이 있기 때문에 다소 복잡한 주제이다.
이 유형들을 묶어서 '혼합 조명 모드'라고 부른다.
URP는 3가지 혼합 조명 모드 중 2가지인 Baked Indirect와 Subtractive를 지원한다. (2019.3f 기준)
[원리]
1. Baked Indirect
· 그림자를 드리우는 광원이 있고 모든 것이 실시간이며 이러한 광원의 반사가 베이크 되는 것이다.
· 따라서 반사되는 조명인 간접 조명이 라이트맵으로 베이크되며 직접광(Directional Light)이 하는 일은 광원과 그림자를 실시간으로 적용하는 것이다.
· 매우 유연한 모드로 낮/밤 주기 등을 구현할 수 있다.
2. Subtractive
· 거의 모든 요소를 베이크 한다.
· 정적 오브젝트와 광원과 그림자를 비롯해 오브젝트의 반사까지 모두 베이크한다.
· 또한 동적 오브젝트를 추가해서 그림자를 적용할 수도 있다.
· 리소스 소모가 아주 적은 모드이다. 반면에 완벽하지는 않아도 결과물의 품질이 제법 우수한 편이다.
[활용]
라이트맵을 베이크한 뒤 URP Asset의 섀도우 맵의 해상도 및 거리를 조절해줘 최적화를 할 수도 있다.
왜냐하면 베이크 이후에는 동적으로 생성되는 그림자 (ex. 캐릭터 등 움직이는 요소)만 계산이 되기 때문이다.
[세팅]
1. URP Asset에서 Mixed Lighting을 활성화 해줘야 한다.
2. [Lighting 패널 / Scene / Mixed Lighting]에서 어떤 혼합 조명 모드를 사용할지 선택해준다.
3. 방향 광원 [Directional Light]을 Mixed로 설정해준다.
4. 씬마다 각기 다른 혼합 조명 모드를 선택할 수 있으므로 낮/밤 주기가 필요한 씬에서는 Baked Indirect를 사용할 수 있고 필요하지 않거나 실내 씬에서는 Subtractive를 사용하면 좋다.
■ 참고
https://www.youtube.com/watch?v=hMnetI4-dNY