Version: 2023.2
언어: 한국어
프로그레시브 라이트매퍼
라이트매핑: 시작하기

The Progressive GPU Lightmapper

프로그레시브 GPU 라이트매퍼는 베이크된 라이트맵라이트 프로브 를 생성하기 위해 컴퓨터의 GPU와 전용 비디오 램(VRAM)을 사용하는 프로그레시브 라이트매퍼용 백엔드입니다.

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

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

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

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

The Progressive GPU Lightmapper does not support OpenCL CPU devices.

성능

In most configurations, the Progressive GPU Lightmapper performs much faster than the Progressive CPU Lightmapper. The performance depends on the selected Baking Profile.

그러나 베이크에 사용하는 GPU의 사양과 해당 GPU 전용 VRAM의 양은 모두 라이트매퍼의 성능 경험에 영향을 미칩니다.

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 process or cause it to fail. When Auto Generate is enabled, the Progressive GPU Lightmapper might fall back to the CPU Lightmapper if Unity can’t allocate enough GPU memory. Closing other applications while you are working with this functionality can improve stability and performance.

프로그레시브 CPU 라이트매퍼와 동일한 품질의 결과를 얻으려면 프로그레시브 GPU 라이트매퍼에 최대 4배 더 많은 간접광 샘플이 필요합니다. 프로그레시브 CPU 라이트매퍼는 브랜치 패스트레이싱이라는 접근 방식을 사용하여 각 바운스에서 더 많은 광선을 발사합니다. 브랜치 패스트레이싱은 GPU에 적합하지 않습니다.

프로그레시브 GPU 라이트매퍼는 씬을 베이크하기 위해 필요한 메모리 양을 결정합니다. Unity는 이 결정에 도움이 되는 스프레드시트를 제공합니다. 자세한 내용은 프로그레시브 GPU 라이트매퍼 메모리 스프레드시트를 참조하십시오.

라이트매퍼 타일링으로 인한 베이킹 속도 저하 방지

The Progressive GPU Lightmapper includes a feature called lightmapper tiling. Lightmapper tiling prevents the Progressive GPU Lightmapper from using all available GPU memory. 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. When Auto Generate is enabled, the tiling feature is active only when Unity can’t allocate enough GPU memory to bake the entire lightmap. When baking is started using the Generate Lighting button or the API, Unity configures the tiling based on the selected Baking Profile. The Progressive CPU Lightmapper does not include a tiling feature.

When Auto Generate is enabled, and Unity activates lightmapper tiling, Unity stops showing progressive updates of the baked lighting in the Scene view. However, the Progressive updates setting in the Lighting window does not visibly deactivate. When the tiling feature is active, and when the lightmap atlas resolution is 512px or bigger, the baking process is likely to be slower than baking the same scene without tiling.

It is not possible to disable tiling when Auto Generate is enabled. 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 by closing other applications.

  • Reduce the level of anti-aliasing in your project. Navigate to Project Settings > Quality and choose an option that takes fewer samples. For example, you might switch from 8x Multi Sampling to 2x Multi Sampling.

  • 라이트맵 해상도를 줄입니다.

  • [앰비언트 오클루전]을 비활성화합니다. Lighting 창(메뉴: Window > Rendering > Lighting)을 엽니다. 라이트매핑 설정 인터페이스에서 Ambient Occlusion을 비활성화합니다.

  • 간접광만 베이크합니다. 모든 광원을 Realtime 또는 Mixed로 설정합니다. 광원이 Baked로 설정되어 있지 않은지 확인합니다. 혼합 방식을 사용하는 경우 Lighting > Mixed Lighting > Lighting modeBaked Indirect로 설정합니다.

  • Reduce the quality of your lightmaps in your Lightmap Parameters Asset. Open the Lighting window, expand Lightmapping settings, and select a lower-resolution option for Lightmap parameters.

  • Use a CPU-based denoiser. To choose a denoiser, open the Lighting window, expand Lightmapping settings, set Filtering to Advanced and then select the denoiser for each type of lightmap target (Direct and Indirect). Only Open Image is CPU-based. RadeonPro and Optix are GPU-based, but RadeonPro uses a lot more GPU memory.

If you still can’t successfully bake in Auto Generate mode, use On Demand mode and choose a Baking Profile suitable for your scene.

플랫폼별 제한 사항

macOS에서는 사용 가능한 메모리 양을 확인하기가 더 어렵습니다. 결과적으로 이 플랫폼에서는 CPU로의 폴백 가능성이 더 높으며 베이크 속도를 최적화하기 위한 지침을 따르는 것이 가장 좋습니다.

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

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

  • 다른 GPU 가속 애플리케이션을 닫습니다. GPU 가속 2D 이미지 편집 및 3D 모델링 소프트웨어는 VRAM을 사용합니다. 그래픽스 가속 기능을 끄거나 애플리케이션을 종료합니다.

  • 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.

  • 렌더링 및 베이킹을 위해 별도의 GPU를 지정합니다. 컴퓨터에 둘 이상의 GPU가 있는 경우 렌더링 및 베이킹용으로 하나씩 지정할 수 있습니다. 아래 GPU 선택 설정을 참조하십시오.

  • 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.

  • Use fewer samples (Direct Samples, Indirect Samples, Environment Samples) and use the Denoiser to clean up the remaining noise in the lightmap.

GPU 선택 설정

GPU가 두 개 이상 있는 경우 씬 렌더링에 GPU 하나를 지정하고 조명 베이킹에 다른 GPU를 지정할 수 있습니다. 이는 기본 GPU가 씬을 렌더링하고 프로그레시브 GPU 라이트매퍼를 사용하여 베이킹하는데 모두 이용할 수 있는 VRAM이 부족한 경우에 바람직할 수 있습니다.
Unity가 베이킹에 사용하는 GPU를 변경하려면 다음 단계를 따르십시오.
1. Open the Lighting window (menu: Window > Rendering > Lighting).
2. Workflow Settings 섹션으로 이동합니다.
3. GPU Baking Device 드롭다운 메뉴에서 GPU를 선택합니다.

프로그레시브 라이트매퍼
라이트매핑: 시작하기
Copyright © 2023 Unity Technologies
优美缔软件(上海)有限公司 版权所有
"Unity"、Unity 徽标及其他 Unity 商标是 Unity Technologies 或其附属机构在美国及其他地区的商标或注册商标。其他名称或品牌是其各自所有者的商标。
公安部备案号:
31010902002961