[Unity] "라이트매핑에 자주 발생하는 다섯 가지 문제와 솔루션" 요약 정리
Unity Blog 에 올라온 글을 읽고 핵심만 요약 정리.
(원문 : 5 common lightmapping problems and tips to help you fix them)
라이트매핑에 자주 발생하는 다섯 가지 문제
1. 씬에 베이크된 전역 조명이 없는 경우 (No Baked Global Illumination in the scene)
2. 오브젝트에서 조명이 누락된 경우 (Objects are missing lighting)
3. 발광 머티리얼이 렌더링되지 않는 경우 (Emissive materials are not rendering)
4. 평평한 노멀 맵 (Flat normal maps)
5. 스페큘러 반응이 누락된 경우 (Missing specular response)
각 해결 방법
1. 씬에 베이크된 전역 조명이 없는 경우 (No Baked Global Illumination in the scene)
3가지가 충족되어야 함.
1. Mesh Renderer 에 Contribute Global Illumination 체크된 오브젝트가 1개 이상
2. 씬에 배치된 Light 의 Mode를 Mixed 또는 Baked 로 설정.
3. 셰이더에서 Lightmap, GI 연산 필요.
디버깅을 위해 GI 를 지원하는 Built-in 셰이더로 변경해본다.
(Standard Shader 혹은 Lit Shader)
GI 캐시 삭제 방법
[Menu > Preferences > GI Cache] 에서 Clean Cache
2. 오브젝트에서 조명이 누락된 경우 (Objects are missing lighting)
라이트 프로브 문제일 수 있음.
라이트 프로브 배치
동적 오브젝트에 간접 조명 데이터 샘플링을 위한 라이트 프로브가 필요.
조명을 샘플링할 라이트 프로브가 없는 경우 발생할 수 있음.
반사 프로브 배치.
로컬 반사 프로브가 없다면 광택을 가진 머티리얼이 검은색으로 나타날 수 있음. Bounces 수를 늘려서 조정해볼 수도 있음.
Mesh Renderer 에 Probes 셋팅을 Blend ~ 로 설정.
3. 발광 머티리얼이 렌더링되지 않는 경우 (Emissive materials are not rendering)
포스트 프로세싱 스택에 블룸(Bloom) 활성화.
Mesh Renderer 에서 Contribute Global Illumination 활성화.
Receive Global Illumination 은 Light Probes 로 설정.
Material 셰이더 설정에서 Emission 아래에 Global Illumination 을 Backed 로 설정.
Lighting 설정 창에서 Lightmapping Settings 헤더 아래에 Indirect Intensity 값을 0 이상으로.
중간 이미지 : 포스트 프로세싱 적용
오른쪽 이미지 : GI Contribute 적용
4. 평평한 노멀 맵 (Flat normal maps)
Lighting 설정 창에서 Directional Mode 가 Non-Directional 모드로 Bake한 경우. 이를 Directional 모드로 변경.
Light 컴포넌트의 모드를 Mixed 로 전환. 단, 실시간 광원과 성능 비용이 동일할 수 있음.
또는, 라이트 프로브 사용. Baked Light 보다 Light Probe 결과가 더 우수한 경우가 많음. Receive Global Illumination 프로퍼티를 Light Probes로 설정.
5. 스페큘러 반응이 누락된 경우 (Missing specular response)
Baked lights 는 머티리얼에 실시간 스페큘러를 처리할 수 없음.
혼합 광원을 사용. Light 컴포넌트에 Mode를 Mixed로.
발광 프록시(emissive proxies) 사용. 발광 오브젝트로 스페큘러 효과를 모방한다.
한글 블로그
영문 블로그
https://blog.unity.com/engine-platform/5-common-lightmapping-problems-and-tips-to-help-you-fix-them
게임 개발에 필수적인 내용을 담는 명서들을 소개합니다.
<유니티 교과서 개정6판>(유니티 최신 버전)
https://link.coupang.com/a/bz23dY
<대마왕의 유니티 URP 셰이더 그래프 스타트업>
https://link.coupang.com/a/bs8qyC
<리얼-타임 렌더링(REAL-TIME RENDERING) 4/e>
https://link.coupang.com/a/8VWas
<이득우의 게임 수학:39가지 예제로 배운다! 메타버스를 구성하는 게임 수학의 모든 것>
https://link.coupang.com/a/9BqLd
유니티 에셋 스토어 링크
https://assetstore.unity.com?aid=1011lvz7h
(링크를 통해 도서/에셋 구입시 일정액의 수수료를 지급받습니다.)