Version: Unity 6.0 (6000.0)
언어 : 한국어
GPU 인스턴싱 소개
GPU 인스턴싱 문제 해결

GPU 인스턴싱 활성화

Unity는 동일한 메시와 머티리얼을 공유하는 게임 오브젝트에 GPU 인스턴싱을 사용합니다. 메시와 머티리얼을 인스턴스화하려면 다음을 따르십시오.

  • 머티리얼의 셰이더는 GPU 인스턴싱을 지원해야 합니다. Unity의 스탠다드 셰이더는 모든 표면 셰이더처럼 GPU 인스턴싱을 지원합니다. 다른 셰이더에 GPU 인스턴싱 지원을 추가하려면 GPU 인스턴싱을 지원하는 셰이더 생성을 참조하십시오.
  • 메시는 동작에 따라 그룹화한 다음 소스 중 하나여야 합니다.
    • MeshRenderer 컴포넌트 또는 Graphics.RenderMesh 호출
      동작: Unity는 이러한 메시를 목록에 추가한 다음 인스턴스화할 수 있는 메시를 확인합니다.
      Unity는 SRP 배처와 호환되는 게임 오브젝트에 연결된 SkinnedMeshRenderer 또는 MeshRenderer 컴포넌트에 대한 GPU 인스턴싱을 지원하지 않습니다. 자세한 내용은 SRP 배처 호환성을 참조하십시오.
    • Graphics.RenderMeshInstanced 또는 Graphics.RenderMeshIndirect 호출. 이러한 메서드는 동일한 셰이더를 사용하여 동일한 메시를 여러 번 렌더링합니다. 이러한 메서드에 대한 각 호출은 별도의 드로우 콜을 생성합니다. Unity는 이러한 드로우 콜을 병합하지 않습니다.

머티리얼에 GPU 인스턴싱을 사용하려면 인스펙터에서 Enable GPU Instancing 옵션을 선택합니다.

Graphics.RenderMeshInstanced에 대해 라이트 프로브 렌더링을 활성화하려면 프로브 데이터가 포함된 MaterialPropertyBlock을 제공합니다. 자세한 내용과 코드 예시는 LightProbes.CalculateInterpolatedLightAndOcclusionProbes를 참조하십시오.

또는 프로젝트가 빌트인 렌더 파이프라인을 사용하는 경우 LPPV 컴포넌트 레퍼런스와 LightProbeUsage.UseProxyVolumeGraphics.RenderMeshInstanced에 전달할 수 있습니다. 이렇게 하면 모든 인스턴스가 라이트 프로브 데이터의 L0 및 L1 대역에 대한 볼륨을 샘플링합니다. L2 데이터와 오클루전 데이터를 보완하려면 MaterialPropertyBlock을 사용합니다. 자세한 내용은 라이트 프로브: 기술 정보를 참조하십시오.

추가 리소스

GPU 인스턴싱 소개
GPU 인스턴싱 문제 해결