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

라이트매핑: 시작하기

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

Unity는 씬이 Unity 안에서 어떻게 설정되는지에 따라 메시, 머티리얼, 텍스처 및 광원을 고려하여 씬의 라이트맵을 베이크하는 프로그레시브 라이트매퍼라는 시스템을 사용합니다. 라이트매핑은 렌더링 엔진의 핵심적인 기능입니다. 라이트맵이 생성되면 게임 오브젝트에 자동으로 사용됩니다.

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

씬 준비 및 라이트맵 베이킹

Unity 에디터 메뉴에서 창(Window) > 조명(Lighting) > 설정(Settings) 을 선택하여 조명(Lighting) 창을 엽니다. 라이트맵을 적용할 메시를 검토하여 라이트맵에 적합한 UV가 있는지 확인합니다. 메시 임포트 설정을 열고 라이트맵 UV 생성(Generate Lightmap UVs) 설정을 활성화하면 가장 쉽게 확인할 수 있습니다.

다음, 라이트맵 해상도를 설정하기 위해 라이트맵 설정(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 폴더에 추가됩니다.

베이크 설정 미세 조정

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

샘플 수 프로그레시브 라이트매퍼는 노이즈를 제거하기 위해 광선 하나에서 발생하는 컬러 값을 생성합니다. 이 컬러 값을 샘플이라고 합니다. 프로그레시브 라이트매퍼의 직접 및 간접 조명 계산에 사용되는 샘플 수를 조정하는 설정으로 직접 샘플(Direct Samples)간접 샘플(Indirect Samples) 이 있습니다. 이 두 설정을 찾으려면 조명 창(창(Window) > 조명(Lighting) > 설정(Settings))을 열고 라이트매핑 설정(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 일부 편집 리뷰를 거쳐 페이지 수정됨

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

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