프로그레시브 CPU 라이트매퍼
라이트맵 경계 부분 꿰매기

라이트매핑: 시작하기

이 페이지에서는 Unity의 라이트매핑에 대해 소개합니다. 라이트매핑은 씬의 표면 밝기를 미리 계산하고 계산 결과를 나중에 사용하기 위해 차트 또는 “라이트맵”에 저장하는 프로세스입니다.

Unity uses a system called the Progressive Lightmapper, which bakes lightmaps for your Scene based on how your Scene is set up within Unity, taking into account Meshes, Materials, Textures, and Lights. Lightmapping is an integral part of the rendering engine; when your lightmaps are created, GameObjects automatically use them.

특정 라이트매핑 관련 설정에 대한 내용은 전역 조명에 대한 문서를 참조하십시오.

씬 준비 및 라이트맵 베이킹

Select Window > Rendering > Lighting Settings from the Unity Editor menu to open the Lighting window. Make sure any Mesh you want to apply a light map to has proper UVs for lightmapping. The easiest way to do this is to open the Mesh import settings and enable the Generate Lightmap UVs setting.

다음, 라이트맵 해상도를 설정하기 위해 라이트맵 설정(Lightmapping Settings) 섹션으로 이동하여 라이트맵 해상도(Lightmap Resolution) 값을 조정합니다.

참고: 라이트맵 텍셀이 어떻게 사용되는지에 대한 이해를 높이려면 씬 뷰(Scene View) 에서 작은 음영 처리 씬 시각화 디버그 모드를 확인하고 베이크된 라이트맵(Baked Lightmap)__ 으로 전환한 후 해상도 표시(Show Resolution) 체크박스를 선택하십시오.

게임 오브젝트의 메시 렌더러(Mesh Renderer)터레인(Terrain) 컴포넌트에서 라이트맵 정적(Lightmap Static) 프로퍼티를 활성화하십시오. 그러면 Unity는 해당 게임 오브젝트가 이동 또는 변경되지 않음을 인지하여 라이트맵에 해당 오브젝트를 추가할 수 있습니다. 메시 렌더러(Mesh Renderer) 컴포넌트의 라이트맵 스케일(Scale In Lightmap) 파라미터를 사용하여 라이트맵의 정적 메시(Mesh) 또는 터레인(Terrain) 해상도를 조정할 수도 있습니다.

광원 탐색기에서 광원에 대한 설정을 조정할 수도 있습니다.

씬의 라이트맵을 생성하는 방법:

  1. 조명(Lighting) 창씬(Scene) 탭 하단에서 조명 생성(Generate Lighting) 을 클릭합니다. (또는 자동 생성(Auto Generate) 이 선택되었는지 확인합니다.)

  2. Unity 에디터 상태 표시줄의 오른쪽 하단에 진행 표시줄이 나타납니다.

  3. 베이킹이 완료되면 베이크된 라이트맵을 모두 조명(Lighting) 창의 전역 맵(Global Maps)오브젝트 맵(Object Maps) 에서 확인할 수 있습니다.

라이트매핑이 완료되면 Unity의 씬 및 게임 뷰가 자동으로 업데이트됩니다.

메시의 UV 차트를 확인하려면 라이트맵 정적(Lightmap Static) 이 활성화된 게임 오브젝트를 클릭한 다음 인스펙터(Inspector) 창으로 이동하여 오브젝트 맵(Object Maps) 탭을 선택합니다. 여기서 다른 라이트맵 시각화 모드로 전환할 수 있습니다. 조명을 수동으로 생성하면 조명 데이터 에셋, 베이크된 라이트맵, 반사 프로브Assets 폴더에 추가됩니다.

베이크 설정 미세 조정

씬의 최종적인 모습은 조명 설정과 베이크 설정에 좌우됩니다. 조명 품질을 개선할 수 있는 기본 설정의 예를 몇 개 살펴보겠습니다.

Sample count Progressive Lightmapper generates color values resulting from a single ray in order to remove noise. These color values are called samples. There are two settings that control the number of samples the Progressive Lightmapper uses for direct and indirect lighting calculations: Direct Samples and Indirect Samples. To find these, open the Lighting window (Window > Rendering > Lighting Settings), and go to Lightmapping Settings > Lightmapper.

샘플 값이 높을수록 노이즈가 감소하고 라이트맵 품질이 개선될 수 있지만, 베이크 시간도 늘어납니다. 아래 그림에서는 샘플 수가 많을수록 필터링을 사용하지 않아도 라이트맵 품질이 개선되고 노이즈가 더 적은 결과가 나타남을 확인할 수 있습니다.

샘플을 10개 사용하는 씬
샘플을 10개 사용하는 씬
샘플을 100개 사용하는 씬
샘플을 100개 사용하는 씬
샘플을 1000개 사용하는 씬
샘플을 1000개 사용하는 씬

환경 조명

모든 광원 외에 환경 조명도 전역 조명에 기여할 수 있습니다. 커스텀 스카이박스 머티리얼을 기본 절차적 스카이박스(Procedural Skybox) 대신 할당하고 강도를 조정할 수 있습니다. 아래 그림에서는 환경 조명(Environment Lighting) 유무에 따라 어떻게 조명이 바뀔 수 있고 더 부드러운 결과가 얻어지는지 확인할 수 있습니다. 광원 설정은 두 씬에서 동일합니다. Unity는 에셋 스토어에서 다양한 커스텀 HDRI 에셋을 제공합니다.

필터링

필터링을 통해 노이즈가 많은 결과물을 블러 처리할 수 있습니다. 프로그레시브 라이트매퍼에는 가우시안(Gaussian)A-Trous 라는 두 가지 필터링 타입이 있습니다. 고급(Advanced) 설정을 활성화하면 두 가지 필터를 직접(Direct), 간접(Indirect)앰비언트 오클루전(Ambient Occlusion) 에 개별적으로 적용할 수 있습니다. 자세한 내용은 프로그레시브 라이트매퍼에 대한 문서를 참조하십시오.


2018–03–28 Page amended

2018.1에서 프로그레시브 라이트매퍼 추가됨 NewIn20181

프로그레시브 CPU 라이트매퍼
라이트맵 경계 부분 꿰매기