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

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

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

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

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

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

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

프로그레시브 GPU 라이트매퍼는 OpenCL CPU 기기를 지원하지 않습니다.

성능

대부분의 구성에서 프로그레시브 GPU 라이트매퍼는 프로그레시브 CPU 라이트매퍼보다 훨씬 빠른 성능을 보입니다. 성능은 선택한 베이킹 프로파일에 따라 다릅니다.

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

GPU 리소스를 놓고 경쟁하는 다른 애플리케이션도 베이킹 성능에 영향을 미칩니다. 하드웨어 공급업체에 따라 Unity에서 사용할 수 있는 VRAM 양이 감소하면 베이크 속도가 느려지거나 베이크에 실패합니다.

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

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

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

프로그레시브 GPU 라이트매퍼에는 라이트매퍼 타일링이라는 기능이 포함되어 있습니다. 라이트매퍼 타일링은 프로그레시브 GPU 라이트매퍼가 사용 가능한 GPU 메모리를 모두 사용하지 않도록 하는 것입니다. 대신 Unity는 CPU에 일부 임시 메모리를 할당한 다음, 사용 가능한 GPU 메모리 양과 일치하는 크기의 타일에 조명을 베이크합니다. Unity는 선택한 베이킹 프로파일에 따라 타일링을 설정합니다. 프로그레시브 CPU 라이트매퍼에는 타일링 기능이 포함되어 있지 않습니다.

타일링 기능이 활성화되고 라이트맵 아틀라스 해상도가 512픽셀 이상이면 베이킹 프로세스가 타일링 없이 동일한 씬을 베이크하는 것보다 느려질 수 있습니다.

플랫폼별 제한 사항

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

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

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

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

  • 작은 게임 오브젝트에는 라이트 프로브를 사용하십시오. 파편이나 작은 프랍과 같은 게임 오브젝트는 라이트맵의 공간을 차지하지만 씬의 모습에 크게 기여하지 않을 수 있습니다. 베이크 속도를 최적화하려면 이러한 게임 오브젝트의 메시 렌더러에 대해 Contribute Global Illumination을 비활성화하고 대신 라이트 프로브를 사용하십시오.

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

  • 안티앨리어싱 샘플을 더 적게 사용하십시오. 라이트맵 파라미터 에셋에서 이 설정의 기본값은 8입니다. 이 값을 늘리면 Unity는 더 많은 VRAM을 사용합니다. 4096 이상의 라이트맵 크기를 사용하는 경우 많은 소비자 GPU의 메모리를 빠르게 초과할 수 있습니다.

  • 샘플(직접 샘플, 간접 샘플, 환경 샘플)을 더 적게 사용하고 Denoiser를 사용하여 라이트맵에 남아 있는 노이즈를 정리하십시오.

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

GPU 선택 설정

GPU가 두 개 이상 있는 경우 하나는 씬 렌더링 작업에, 다른 하나는 조명 베이크 작업에 지정할 수 있습니다. 이는 씬을 렌더링하고 프로그레시브 GPU 라이트매퍼를 사용하여 베이크하기 위해 기본 GPU에서 이용할 수 있는 VRAM이 부족한 경우 도움이 될 수 있습니다.

Unity가 베이크에 사용하는 GPU를 변경하려면 다음 단계를 따르십시오.

  1. Lighting 창(메뉴: Window > Rendering > Lighting)을 엽니다.
  2. Generate Lighting을 선택하여 조명 데이터를 미리 계산합니다.
  3. GPU를 선택하려면 GPU Baking Device를 사용합니다.
프로그레시브 라이트매퍼
라이트매핑: 시작하기