[Unity] Lightmapping
■ Baked Lighting: GPU Progressive Lightmapper
Baked Lighting을 사용하려면 아래와 같은 세팅이 필요하다.
[세팅]
1. 인스펙터에서 조명을 베이크할 모든 개체와 요소를 Static으로 표시해야 한다. 이 설정은, 재사용성을 위해, 프리팹 수준에서 적용할 것을 권장한다.
2. 조명이 베이크 되도록 한다. Light 개체의 Mode를 Mixed나 Baked로 변경해준다.
· Emissive Material으로 시뮬레이션되는 광원은 라이트맵에 베이크된다.
· 하지만, 광원이 매우 얇을 경우 라이트맵의 해상도로 인해 제대로 캡처되지 않을 수 있다. 이는 Area light를 활용해 눈속임으로 빛이 새어 나오는 것 같은 표현을 할 수 있다.
3. Lighting 패널로 이동해서 Baked Global Illumination을 선택해준다.
4. 여러 설정값을 세팅한 뒤 Generate Lighting을 눌러 베이크를 시작할 수 있다.
· 중요한 설정 중 하나는 Lightmap Resolution인데 이는 씬의 유닛(Unit; meter) 하나당 사용되는 텍셀의 수를 정의한다. 즉, 텍스처의 픽셀의 수를 결정하는 것이다.
· 베이크 결과물의 품질에 영향을 주는 옵션은 (Direct, Indirect, Environment) Samples이다.
옵션 | 설명 |
Direct Samples | 텍셀이 방향 광원(Directional Light)이 있는 방향으로 광선을 쏘는데 하늘에 닿으면 해당 텍셀이 방향 광원에 노출되어 있다는 것을 의미한다. 그러면 텍셀이 유출되어 씬의 지면과 벽면 등에 보이는 주요 그림자의 모양이 달라지게 되는 것이다. ![]() |
Indirect Samples | 방향 광원이 아닌 광원의 경우 광선이 여러 방향으로 발산될 수 있다. 이 경우 다양한 방향으로 여러 개의 샘플을 발산하여 면 광원에 닿는지 확인해야 한다. 면 광원에 닿는 샘플 수에 따라 텍셀이 받는 조명의 양도 달라진다. ![]() |
Environment Samples | · 텍셀에서 발산되는 광선이 하늘을 찾으려 시도하는데 직접 향하는 방향으로 찾을 뿐만이 아니라 반사를 통해서도 찾게 된다. · 이러한 광선이 반사될 때마다 닿은 컬러가 샘플링되어 원본 텍셀에 반환된다. · 그래서 예시 이미지의 천장 텍셀은 약간 푸른빛을 띠게 되는데 이는 광선이 한 번 반사된 후 하늘에 닿고 하늘색 컬러를 샘플링하여 지면으로 가져와 지면의 텍셀도 약간 푸른빛을 띠게한 뒤 천장으로 그 컬러값을, 약간 약화시켜, 가져오기 때문이다. ![]() · 라이트 패널 설정값중 Bounces는 각 텍셀이 옵션값만큼 반사되는 광선을 발산하도록 설정하는 값이다. · 그 아래 러시안룰렛 세팅은 일부 광선이 무작위로 무효화되도록 하여 반사되는 광선 수를 낮춰 베이크 소요 시간을 줄여주는 설정이다. ![]() |
5. 광원을 베이크 한 뒤에는 게임 뷰 세팅을 'Baked Lightmap'으로 변경 한다면, 실제 베이크된 라이트맵을 확인할 수 있으며 해상도도 체크 가능하다.
· 오브젝트 별로 베이크된 텍셀의 크기가 다른 것을 확인할 수 있는데 이는 개체의 Inspector/Mesh Renderer를 확인해보면 Lightmapping 섹션 내 Scale을 조정해주면 된다. 이 Scale 값은 라이트맵에서 오브젝트가 차지하는 공간을 의미한다.
· Scale을 이용해 중요한 부분에는 Lightmap scale을 높여주고, 덜 중요한 부분들은 감소시켜 라이트맵의 공간 낭비를 방지하면 좋다.
■ 성능에 (안)미치는 요소
노란색은 라이트맵의 해상도, 크기 등을 조절하게 되는데 이러한 설정에 따라 파일이 커지거나 작아져서 런타임 중 관리해야할 메모리의 양이 달라질 수 있는 요소이다. (성능에 미치는 요소)
파란색은 라이트 베이킹의 품질과 베이킹 시간에만 영향을 주는 요소이다. 일단 라이트맵이 베이킹 되었다면 텍스처가 확정되고 베이크의 품질이 좋든 나쁘든 픽셀은 동일하므로 게임에 영향이 없다.
이러한 특징으로 인하여 워크플로가 결정될 수 있는데 예로 기술 담당자와 논의 후 노란색 부분을 설정한 뒤, 세부 수정 사항으로, 파란색 세팅은 아티스트의 기량으로 작업하는 순서가 될 수 있다.
■ 참고
https://www.youtube.com/watch?v=hMnetI4-dNY