Version: 2019.3
라이트매핑
프로그레시브 CPU 라이트매퍼

프로그레시브 CPU 라이트매퍼(프리뷰)

참고: 이 기능은 프리뷰 기능이며 변경될 수 있습니다. 이 기능을 사용하는 씬은 향후 릴리스에서 업데이트해야 할 수 있습니다. 정식 프로덕션에서는 공식 출시 이후에 사용할 것을 권장합니다.

GPU 라이트매퍼를 사용하면 인터랙티브 워크플로를 통해 씬의 조명을 설정하고 조정할 수 있습니다. 이 라이트매퍼는 컴퓨터의 GPU를 사용하여 베이크된 lightmapsLight Probes 를 생성하므로 CPU 프로그레시브 라이트매퍼보다 빠릅니다.

설정

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

Lightmapper 가 Progressive GPU (Preview) 로 설정되었을 때 Lighting 창의 라이트매핑 설정에서 이용 가능한 프로퍼티
LightmapperProgressive GPU (Preview) 로 설정되었을 때 Lighting 창의 라이트매핑 설정에서 이용 가능한 프로퍼티
Setting Description
Lightmapper Use this to specify which internal lighting calculation software to use to calculate lightmaps in the Scene. The options are:

Progressive CPU
Progressive GPU
Enlighten (deprecated)

The default value is Progressive 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.
Light Probe Sample Multiplier Controls how many samples are used for Light Probes as a multiplier of the sample values above. Higher values improve the quality of Light Probes, but they will take longer to bake. To enable this feature, go to Project Settings > Editor and disable Use legacy Light Probe sample counts. The default value is 4.
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.
None 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.
Indirect Resolution Use this to specify the number of samples the lightmapper uses for indirect lighting calculations. Higher values can improve the quality of the lightmaps, but increase the time it takes to bake them.
Lightmap Resolution Use this to specify the number of texels per unit to use for lightmaps. Increasing this value improves lightmap quality, but also increases bake times. Note that doubling this value causes the number of texels to quadruple (because the value refers to both the height and width of the lightmap). See the Occupied texels count in the statistics area at the bottom of the Lighting window.
Lightmap Padding Use this to specify the separation (in texel units) between separate shapes in the baked lightmap. The default value is 2.
Lightmap Size The size (in pixels) of the full lightmap texture, which incorporates separate regions for the individual GameObject textures. The default value is 1024.
Compress Lightmaps A compressed lightmap requires less storage space, but the compression process can introduce unwanted visual effects into the texture. Tick this checkbox to compress lightmaps, or untick it to keep them uncompressed. The checkbox is ticked by default.
Ambient Occlusion Tick this checkbox to open a group of settings which allow you to control the relative brightness of surfaces in ambient occlusion. Higher values indicate a greater contrast between the occluded and fully lit areas. This only applies to the indirect lighting calculated by the GI system. This setting is enabled by default.
Max Distance Set a value to control how far the lighting system casts rays in order to determine whether or not to apply occlusion to an object. A larger value produces longer rays and contributes more shadows to the lightmap, while a smaller value produces shorter rays that contribute shadows only when objects are very close to one another. A value of 0 casts an infinitely long ray that has no maximum distance. The default value is 1.
Indirect Contribution Use the slider to scale the brightness of indirect light as seen in the final lightmap (that is, ambient light, or light bounced and emitted from objects) from a value between 0 and 10. The default value is 1. Values less than 1 reduce the intensity, while values greater than 1 increase it.
Direct Contribution Use the slider to scale the brightness of direct light from a value between 0 and 10. The default value is 0. The higher this value is, the greater the contrast applied to the direct lighting.
Directional Mode You can set the lightmap up to store information about the dominant incoming light at each point on the objects’ surfaces. See documentation on Directional Lightmapping for further details. The default mode is Directional.
Directional In Directional mode, Unity generates a second lightmap to store the dominant direction of incoming light. This allows diffuse normal mapped materials to work with the GI. Directional mode requires about twice as much storage space for the additional lightmap data. Directional lightmaps cannot be decoded on SM2.0 hardware or when using GLES2.0. They fall back to Non-Directional lightmaps.
Non-directional Non-directional mode disables Unity’s ability to generate a second lightmap to store the dominant direction of incoming light.
Indirect Intensity Use this slider to control the brightness of indirect light stored in realtime and baked lightmaps, from a value between 0 and 5. A value above 1 increases the intensity of indirect light while a value of less that 1 reduces indirect light intensity. The default value is 1.
Albedo Boost Use this slider to control the amount of light Unity bounces between surfaces, from a value between 1 and 10. To do this, Unity intensifies the albedo of materials in the Scene. Increasing this draws the albedo value towards white for indirect light computation. The default value of 1 is physically accurate.
Lightmap Parameters Unity uses a set of general parameters for the lightmapping in addition to properties of the Lighting window. A few defaults are available from the menu for this property but you can also create your own lightmap parameter file using the Create New option. See the Lightmap Parameters page for further details. The default value is Default-Medium.

고급 필터링 설정

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

- Direct: 조명에서 센서(보통 카메라)에 직접적으로 도착하는 광원입니다.
- Indirect: 조명에서 센서에 간접적으로 도착하는 광원입니다. 일반적으로 다른 게임 오브젝트에서 반사되는 광원에 적용됩니다.
- Ambient Occlusion: 조명 시스템이 계산하는 주변광입니다. 자세한 내용은 앰비언트 오클루전을 참조하십시오.
Denoiser 라이트맵 타겟에 사용할 디노이저를 선택하십시오. 사용 가능한 옵션은 다음과 같습니다.

Optix: NVIDIA Optix 디노이저는 베이크된 라이트맵의 노이즈를 줄여주는 AI 가속 디노이저입니다. NVIDIA GPU, 4GB+ VRAM 및 드라이버 버전 390+를 필요로 하고 Windows 플랫폼에서만 지원됩니다.
RadeonPro: RadeonPro 디노이저는 베이크된 라이트맵의 노이즈를 줄여주는 AI 가속 디노이저입니다. OpenCL 지원 GPU와 4GB+ VRAM을 필요로 합니다.
- OpenImageDenoise: Intel Open Image 디노이저는 베이크된 라이트맵의 노이즈를 줄여주는 AI 가속 디노이저입니다.
- None: 디노이저를 사용하지 않습니다.
Filter 라이트맵 타겟에 사용할 필터를 선택합니다.
- Gaussian: 이 옵션을 선택하면 라이트맵 타겟에 가우스 필터를 사용합니다. 가우스 필터는 라이트맵에 대칭 가우스 필터를 적용합니다. 그러면 라이트맵을 흐릿하게 만들어 눈에 보이는 노이즈를 줄입니다.
- A-Trous: 이 옵션을 선택하면 라이트맵 타겟에 A-Trous 필터를 사용합니다. A-Trous 필터는 블러 정도를 최소화하고 라이트맵에 보이는 노이즈를 제거합니다.
- None: 이 옵션을 선택하면 라이트맵 타겟에 대한 모든 필터링을 비활성화합니다.
Radius 이 옵션은 FilterGaussian으로 설정된 경우에만 사용할 수 있습니다. Radius 값을 사용하여 가우스 필터 커널의 반지름을 텍셀 단위로 설정하십시오. Radius 값을 높이면 블러 세기가 증가하고 눈에 띄는 노이즈가 감소하지만, 조명 디테일이 손실될 수 있습니다.
Sigma 이 옵션 FilterA-Trous로 설정된 경우에만 사용할 수 있습니다. Sigma 값을 사용하여 보존할 디테일 양 또는 조명의 블러 정도를 조정하십시오. Sigma 값을 높이면 블러 세기가 증가하고 눈에 띄는 노이즈가 감소하지만, 조명 디테일이 손실될 수 있습니다.

하드웨어 및 소프트웨어 요구 사항

프로그레시브 GPU 라이트매퍼를 사용하기 위한 컴퓨터 사양은 다음과 같습니다.

  • OpenCL 1.2를 지원하는 GPU 1개 이상
  • 전용 GPU 메모리 2GB 이상
  • SSE4.1 명령어를 지원하는 CPU

컴퓨터에 GPU가 두 개 이상 있는 경우 Unity는 에디터가 사용하는 것과 동일한 GPU를 선택합니다. 렌더링을 위한 GPU 한 개와 광원 베이크를 위한 다른 GPU 한 개를 선택할 수 있습니다. 이 설정을 변경하는 방법은 이 페이지의 사용할 GPU 설정 섹션을 참조하십시오.

참고: 베이킹 프로세스가 이용 가능한 GPU 메모리 이상을 사용하는 경우 프로세스가 CPU 라이트매퍼로 폴백할 수 있습니다. 가상 메모리가 지원되는 일부 그래픽스 드라이버의 경우 CPU 메모리로 전환되어 베이킹 프로세스가 느려집니다.

사용할 GPU 설정

씬 렌더링을 위한 GPU 한 개와 조명 베이킹을 위한 또 다른 GPU 한 개를 선택할 수 있습니다. 자동 GPU 할당이 요구 사항을 충족하지 않으면 베이킹에 사용할 그래픽 카드를 직접 지정할 수 있습니다.

현재 Unity가 베이킹에 사용하는 GPU를 확인하려면 에디터에서 다음을 수행하십시오.

  • 프로젝트에서 Lighting 창(메뉴: Window > Rendering > Lighting Settings)을 엽니다. Bake Performance 옆에 GPU가 표시됩니다.

컴퓨터의 사용 가능한 GPU를 확인하려면 다음을 수행하십시오.

  1. Lighting Settings 창에서 Progressive GPU (Preview) 라이트매퍼를 선택합니다.
  2. 씬에서 조명을 생성합니다.
  3. 파일 탐색기를 열고 다음 경로로 이동합니다. C:\Users\USER\AppData\Local\Unity\Editor. Open the file called Editor.log.
  4. 파일에서 Listing OpenCL platforms 행을 찾습니다. 그러면 OpenCL 기기의 정보가 포함된 로그 부분으로 이동됩니다. 여기서 사용 가능한 GPU 및 GPU에 상응하는 플랫폼과 기기 인덱스를 확인할 수 있습니다.

베이킹할 특정 GPU를 선택하려면 커맨드 라인에 다음 커맨드를 입력합니다(platformdevice index는 관련 숫자로 대체합니다).

Unity.exe "-OpenCL-PlatformAndDeviceIndices" <platform> <device index>

씬 작업에 필요한 사항에 따라 할당을 선택하십시오. 활동에 가장 강력한 GPU를 할당하면 다른 활동의 성능이 저하될 수 있습니다. 문제가 발생하는 경우 GPU를 재할당해 보십시오.

프로그레시브 GPU 제한 사항

프로그레시브 GPU 라이트매퍼는 다음을 지원하지 않습니다.

  • 베이크된 LOD
  • A-Trous 필터링(가우시안 필터링만 사용)
  • 커스텀 베이크 API(실험 기능)
라이트매핑
프로그레시브 CPU 라이트매퍼