Version: 2021.2
프로그레시브 라이트매퍼
Lightmapping using Enlighten Baked Global Illumination

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

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

The Progressive GPU Lightmapper is a backend for the Progressive Lightmapper which uses your computer’s GPU and Dedicated Video Ram (VRAM) to generate baked lightmaps and Light Probes.

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

프로그레시브 GPU 라이트매퍼를 사용하려면 컴퓨터가 다음의 최소 사양을 충족해야 합니다.

  • OpenCL 1.2를 지원하는 GPU 1개 이상
  • At least 4GB of VRAM dedicated to that GPU
  • SSE4.1 명령어를 지원하는 CPU

베이크하는 씬이 지정된 GPU에서 사용할 수 있는 것보다 더 많은 VRAM을 필요로 하는 경우 베이크 시간이 크게 늘어날 수 있습니다. 씬의 베이크 시간을 줄이는 데 도움이 되는 정보는 성능 섹션을 참조하십시오.

The Progressive GPU Lightmapper does not support CPU OpenCL devices.

성능

The Progressive GPU Lightmapper bakes faster than the Progressive CPU Lightmapper, unless tiling is active.

However, the specifications of the GPU you use to bake and the amount of VRAM dedicated to that GPU both influence your experience of the lightmapper’s performance.

Other applications competing for GPU resources also have an impact on baking performance. Depending on your hardware vendor, reductions in the amount of VRAM available to Unity can slow down the bake, cause it to fail, or even result in the Progressive GPU Lightmapper falling back to the CPU if the GPU cannot meet minimum memory requirements. Closing other applications while you are working with this functionality can improve stability and performance.

In order to achieve results of the same quality as the Progressive CPU Lightmapper, the Progressive GPU Lightmapper needs up to four times more indirect light samples. The Progressive CPU Lightmapper uses an approach called branched path tracing, which launches more light rays at each bounce. The branched path tracing approach is not suitable for GPUs.

Unity provides a spreadsheet to help you determine how much memory the Progressive GPU Lightmapper needs to bake your scene. For more information see the Progressive GPU Lightmapper Memory Spreadsheet .

Preventing baking speed slowdowns caused by fallback prevention

The Progressive GPU Lightmapper includes a feature called lightmapper tiling. Lightmapper tiling prevents the Progressive GPU Lightmapper from falling back to the Progressive CPU Lightmapper when Unity has used up its GPU memory allocation. Instead, Unity allocates some temporary memory on the CPU, then bakes your lighting in tiles that are sized to match the amount of GPU memory available. Lightmapper tiling is active only when Unity can’t access enough GPU memory to bake the entire lightmap. The Progressive CPU Lightmapper does not include a tiling feature.

When lightmapper tiling is active, progressive updates cease in the Scene view and the baking process. However, the Progressive updates setting in the Lighting window does not visibly deactivate. Baking a scene when lightmapper tiling is active is slower than baking the same scene without tiling.

It is not possible to disable tiling. However, you can reduce the likelihood of its activation by using the following strategies:

  • Increase the amount of GPU memory available for Unity to use.

  • Disable ambient occlusion. Open the Lighting window (menu: Window > Rendering > Lighting). In the Lightmapping Settings interface, disable Ambient Occlusion.

  • Bake only indirect light. Set all your light sources to Realtime or Mixed. Make sure that no light sources are set to Baked. If you use the mixed approach, set Lighting > Mixed Lighting > Lighting mode to Baked Indirect.

  • Reduce anti-aliasing. Navigate to Project Settings > Quality, and reduce Anti Aliasing. You can find this setting in the Lighting window > Lightmapping settings > Lightmap parameters. Create a new Lighting Settings Asset or edit the lighting, then lower the Anti-aliasing value.

  • Reduce your lightmap resolution or use a CPU based denoiser. Currently only Open Image Denoise is CPU based. RadeonPro and Optix are GPU based but RadeonPro uses way lot more memory to denoise.

Platform-specific limitations

On Mac computers, it is currently more difficult to determine how much memory is available. As a result, fallback to CPU is more likely on this platform, and it is a best practice to follow instructions for optimizing your bake speed.

베이크 시간을 최적화하는 방법

베이크 시간을 단축하고 베이크용으로 지정된 GPU에서 사용할 수 있는 VRAM을 초과하는 상황을 피할 수 있는 몇 가지 방법이 있습니다.

  • Close other GPU-accelerated applications. GPU-accelerated 2D image editing and 3D modelling software uses VRAM. Turn off accelerated graphics functionality or quit these applications.

  • Switch to a CPU-based denoiser. GPU-based denoisers also use VRAM capacity. Switch to a CPU-based option, like Intel Open Image, which uses system RAM instead.

  • Use Light Probes for smaller GameObjects. GameObjects such as debris or small props use up space in lightmaps but might not contribute significantly to the look of a scene. To optimize bake speed, disable Contribute Global Illumination for these GameObjects’ Mesh Renderers and light them with Light Probes instead.

  • Designate separate GPUs for rendering and baking. If your computer has more than one GPU, you can designate one for rendering and one for baking. See Configure GPU selection below.

  • Use a lower number of Anti-aliasing samples. The default value for this setting in the Lightmap Parameters Asset is 8. When you increase it, Unity uses more VRAM. When you are using a lightmap size of 4096 or above, this can quickly exceed the memory of many consumer GPUs.

Configure GPU selection

If you have at least two GPUs, you can specify one GPU for rendering the Scene and another for baking lighting. This might be desirable in cases where there is insufficient VRAM available for the default GPU to both render your scene and bake it using the Progressive GPU Lightmapper.
To change which GPU Unity uses for baking:
1. Open the Lighting window (menu: Window > Rendering > Lighting).
2. Navigate to the Workflow Settings section.
3. Use the GPU Baking Device drop-down menu to select a GPU.

프로그레시브 라이트매퍼
Lightmapping using Enlighten Baked Global Illumination