프로그레시브 CPU 라이트매퍼(프리뷰)
라이트매핑: 시작하기

프로그레시브 CPU 라이트매퍼

프로그레시브 라이트매퍼는 고속 경로 추적 기반 라이트매퍼 시스템으로, Unity 에디터의 프로그레시브 업데이트를 통해 베이크된 라이트맵과 라이트 프로브를 제공합니다. 이 라이트매퍼 시스템은 영역이 작고 각도 오류가 없으며 겹치지 않는 UV와 차트 사이의 충분한 패딩을 필요로 합니다

프로그레시브 라이트매퍼는 짧은 준비 단계를 통해 지오메트리와 인스턴스 업데이트를 처리하고 G버퍼 및 차트 마스크를 생성합니다. 그런 다음 결과물을 즉시 생성한 후 점진적으로 다듬기 때문에 인터랙티브 조명 워크플로를 크게 개선할 수 있습니다. 또한 프로그레시브 라이트매퍼는 베이크하는 동안 예상 시간을 제공하기 때문에 베이크 시간을 더욱 쉽게 예측할 수 있습니다.

또한 프로그레시브 라이트매퍼는 업샘플링 방식을 사용하거나 복사 조도 캐시 또는 기타 전역 데이터 구조를 사용하지 않고 각 개별 텍셀(texel)의 라이트맵 해상도 수준으로 전역 조명(GI)을 베이크할 수 있습니다. 또한 라이트맵 일부를 선택하여 베이크할 수 있으므로 더욱 빠르게 씬을 테스트하고 반복할 수 있습니다.

인터랙티브 워크플로에 대한 자세한 내용은 개발 - 프로그레시브 라이트매퍼(In Development - Progressive Lightmapper)(YouTube) 비디오 가이드를 참조하십시오.

설정

프로그레시브 CPU 라이트매퍼를 사용하려면 Window > Rendering > Lighting Settings 에서 Lightmapping Settings 로 이동한 후 LightmapperProgressive CPU 로 설정합니다. 이 창에 관한 자세한 내용은 라이트매핑 설정을 참조하십시오.

프로퍼티: 기능:
Prioritize View Enable this to make the Progressive Lightmapper apply changes to the texels that are currently visible in the Scene View, then apply changes to the out-of-view texels.
Multiple Importance Sampling Enable this to use multiple importance sampling for sampling the environment. This generally leads to faster convergence when generating lightmaps, but can lead to noisier results in certain low frequency environments. This is disabled by default.
Direct Samples The number of samples (paths) shot from each texel. This setting controls the number of samples Progressive Lightmapper uses for direct lighting calculations. Increasing this value can improve the quality of lightmaps, but increases the baking time.
Indirect Samples The number of samples (paths) shot from each texel. This setting controls the number of samples Progressive Lightmapper uses for indirect lighting calculations. For some Scenes, especially outdoor Scenes, 100 samples should be enough. For indoor Scenes with emissive geometry, increase the value until you see the result you want.
Environment Samples Define the number of samples the lightmapper uses for environment lighting calculations. Higher values can improve the quality of the lightmaps, but increase the time required for baking to complete. This is set to 500 by default.
Bounces Use this value to specify the number of indirect bounces to do when tracing paths. For most Scenes, two bounces is enough. For some indoor Scenes, more bounces might be necessary.
Filtering Configure the way the Progressive Lightmapper applies post-processing to lightmaps to limit noise. For lightmap post-processing, the lightmap is split into Direct, Indirect and Ambient Occlusion targets that Unity applies post-processing to individually, before it composites them together into a single lightmap.

- Direct: Any light that arrives directly from a Light to a sensor (usually the Camera).
- Indirect: Any light that arrives indirectly from a Light to a sensor. This most commonly applies to light that reflects off other GameObjects.
- Ambient Occlusion: Any ambient light that the lighting system calculates. See Ambient Occlusion for more information.

The Progressive Lightmapper supports the NVIDIA OptiX AI-Accelerated Denoiser, which reduces perceptible noise in the lightmap without causing blurring. It requires an NVIDIA GPU with 4GB+ VRAM and driver version 390+. It is not supported for the NVIDIA Series 20x GPUs (Turing RTX). It is only supported on the Windows platform.
없음 Select this to use no filter or denoising for the lightmap.
Auto Select this to use a platform-dependent preset for post-processing the lightmap.
If your development machine fulfils the requirements to run OptiX (the NVIDIA OptiX AI-Accelerated Denoiser), the Progressive Lightmapper uses the denoiser with a Gaussian filter that has a 1-texel radius for all targets.
If your development machine cannot run OptiX, the Progressive Lightmapper uses a Gaussian filter that has a 1-texel radius for Direct, 5-texel radius for Indirect, and 2-texel radius for Ambient Occlusion.
Advanced Select Advanced to manually configure options for each type of lightmap target. The targets types are Direct, Indirect and Ambient Occlusion. For more information, see Advanced Filtering settings, below.

고급 필터링 설정

Filtering 을 Advanced 로 설정할 경우 이용 가능한 Filtering 설정
FilteringAdvanced 로 설정할 경우 이용 가능한 Filtering 설정
설정 설명
Advanced FilteringAdvanced로 설정하면 라이트맵 타겟의 각 타입에 대한 옵션을 수동으로 설정할 수 있습니다. 타겟 타입은 다음과 같습니다.

- Direct: 조명에서 센서(보통 카메라)에 직접적으로 도착하는 광원입니다.
- Indirect: 조명에서 센서에 간접적으로 도착하는 광원입니다. 일반적으로 다른 게임 오브젝트에서 반사되는 광원에 적용됩니다.
- Ambient Occlusion: 조명 시스템이 계산하는 주변광입니다. 자세한 내용은 앰비언트 오클루전을 참조하십시오.
Denoiser 다음 중에서 라이트맵 타겟에 사용할 디노이저를 선택하십시오.
- Optix: 개발자 컴퓨터가 NVIDIA OptiX AI 가속 디노이저를 지원하기 위한 요구 사항을 충족하는 경우 여기에서 선택할 수 있습니다. 시스템이 실행할 수 없는 경우 이 옵션은 회색으로 바뀌고 기본적으로 None으로 설정됩니다.
- None: 이 옵션을 선택하면 라이트맵 타겟에 아무 노이즈 제거도 사용하지 않습니다.
Filter 라이트맵 타겟에 사용할 필터를 선택합니다.
- Gaussian: 이 옵션을 선택하면 라이트맵 타겟에 가우스 필터를 사용합니다. 가우스 필터는 라이트맵에 대칭 가우스 필터를 적용합니다. 그러면 라이트맵을 흐릿하게 만들어 눈에 보이는 노이즈를 줄입니다.
- A-Trous: 이 옵션을 선택하면 라이트맵 타겟에 A-Trous 필터를 사용합니다. A-Trous 필터는 블러 정도를 최소화하고 라이트맵에 보이는 노이즈를 제거합니다.
- None: 이 옵션을 선택하면 라이트맵 타겟에 대한 모든 필터링을 비활성화합니다.
Radius 이 옵션은 FilterGaussian으로 설정된 경우에만 사용할 수 있습니다. Radius 값을 사용하여 가우스 필터 커널의 반지름을 텍셀 단위로 설정하십시오. Radius 값을 높이면 블러 세기가 증가하고 눈에 띄는 노이즈가 감소하지만, 조명 디테일이 손실될 수 있습니다.
Sigma 이 옵션 FilterA-Trous로 설정된 경우에만 사용할 수 있습니다. Sigma 값을 사용하여 보존할 디테일 양 또는 조명의 블러 정도를 조정하십시오. Sigma 값을 높이면 블러 세기가 증가하고 눈에 띄는 노이즈가 감소하지만, 조명 디테일이 손실될 수 있습니다.

고급 필터링 설정

Filtering 을 Advanced 로 설정할 경우 이용 가능한 Filtering 설정
FilteringAdvanced 로 설정할 경우 이용 가능한 Filtering 설정
설정 설명
Advanced FilteringAdvanced로 설정하면 라이트맵 타겟의 각 타입에 대한 옵션을 수동으로 설정할 수 있습니다. 타겟 타입은 다음과 같습니다.

- Direct: 조명에서 센서(보통 카메라)에 직접적으로 도착하는 광원입니다.
- Indirect: 조명에서 센서에 간접적으로 도착하는 광원입니다. 일반적으로 다른 게임 오브젝트에서 반사되는 광원에 적용됩니다.
- Ambient Occlusion: 조명 시스템이 계산하는 주변광입니다. 자세한 내용은 앰비언트 오클루전을 참조하십시오.
Denoiser 다음 중에서 라이트맵 타겟에 사용할 디노이저를 선택하십시오.
- Optix: 개발자 컴퓨터가 NVIDIA OptiX AI 가속 디노이저를 지원하기 위한 요구 사항을 충족하는 경우 여기에서 선택할 수 있습니다. 시스템이 실행할 수 없는 경우 이 옵션은 회색으로 바뀌고 기본적으로 None으로 설정됩니다.
- None: 이 옵션을 선택하면 라이트맵 타겟에 아무 노이즈 제거도 사용하지 않습니다.
Filter 라이트맵 타겟에 사용할 필터를 선택합니다.
- Gaussian: 이 옵션을 선택하면 라이트맵 타겟에 가우스 필터를 사용합니다. 가우스 필터는 라이트맵에 대칭 가우스 필터를 적용합니다. 그러면 라이트맵을 흐릿하게 만들어 눈에 보이는 노이즈를 줄입니다.
- A-Trous: 이 옵션을 선택하면 라이트맵 타겟에 A-Trous 필터를 사용합니다. A-Trous 필터는 블러 정도를 최소화하고 라이트맵에 보이는 노이즈를 제거합니다.
- None: 이 옵션을 선택하면 라이트맵 타겟에 대한 모든 필터링을 비활성화합니다.
Radius 이 옵션은 FilterGaussian으로 설정된 경우에만 사용할 수 있습니다. Radius 값을 사용하여 가우스 필터 커널의 반지름을 텍셀 단위로 설정하십시오. Radius 값을 높이면 블러 세기가 증가하고 눈에 띄는 노이즈가 감소하지만, 조명 디테일이 손실될 수 있습니다.
Sigma 이 옵션 FilterA-Trous로 설정된 경우에만 사용할 수 있습니다. Sigma 값을 사용하여 보존할 디테일 양 또는 조명의 블러 정도를 조정하십시오. Sigma 값을 높이면 블러 세기가 증가하고 눈에 띄는 노이즈가 감소하지만, 조명 디테일이 손실될 수 있습니다.

통계

Auto GenerateGenerate Lighting 옵션 밑에 있는 패널에는 다음과 같은 라이트매핑 통계가 표시됩니다.

  • Unity가 생성한 라이트맵 개수
  • Memory Usage: 현재 라이트매핑에 필요한 메모리 양입니다.
  • Occupied Texels: 라이트맵 UV 공간에서 사용된 텍셀 수입니다.
  • Lightmaps in view: 씬 뷰에 있는 라이트맵 개수입니다.
  • Lightmaps not in view: 씬 뷰 밖에 있는 라이트맵 개수입니다.
    • Converged: 이 라이트맵에 대한 계산은 완료된 상태입니다.
    • Not Converged: 이 라이트맵에 대한 베이킹이 아직 진행 중입니다.
  • Bake Performance: 초당 광선 수입니다. 이 값이 2보다 낮으면 설정을 조정해야 합니다. 그러지 않으면 하드웨어가 한 번에 더 많은 광선을 처리해야 합니다.

Auto 모드에서 Unity는 라이트맵과 라이트 프로브를 자동으로 계산합니다. Auto 모드를 비활성화한 경우 Build 버튼을 눌러 베이크를 시작해야 합니다.

베이크 진행 중

프로그레시브 라이트매퍼는 베이크가 진행 중일 때 필요에 따라 베이크를 모니터링하거나 중지할 수 있는 옵션을 제공합니다.

ETA

Unity가 라이트맵을 베이크하는 동안 표시되는 진행 표시줄은 “완료 예상 시간”(ETA 로 표시)을 제공합니다. ETA는 현재 베이크가 완료될 예상 시간(단위: 초)입니다. 이를 통해 베이크 시간을 훨씬 쉽게 예측하고, 현재 조명 설정에서 베이크 시간이 얼마나 걸리는지 빠르게 파악할 수 있습니다.

강제 종료

수동 베이크를 진행하는 중 언제든지 Force Stop 을 클릭하여 베이크 프로세스를 중지할 수 있습니다. 이 기능을 이용하면 원하는 결과가 나올 때 프로세스를 바로 멈출 수 있습니다.


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

2018–11–27 일부 편집 리뷰를 거쳐 페이지 수정됨

프로그레시브 CPU 라이트매퍼(프리뷰)
라이트매핑: 시작하기