드로우 콜 배칭은 Unity가 드로우 콜을 적게 렌더링할 수 있도록 메시를 결합하는 드로우 콜 최적화 방법입니다. Unity는 다음의 두 가지 빌트인 드로우 콜 배칭 방법을 제공합니다.
Unity의 빌트인 드로우 콜 배칭은 메시를 수동으로 병합하는 것보다 몇 가지 장점이 있는데, 특히 Unity가 메시를 개별적으로 컬링할 수 있다는 장점이 있습니다. 그러나 정적 배칭으로 인해 메모리와 스토리지 오버헤드가 발생하고, 동적 배칭으로 인해 일부 CPU 오버헤드가 발생합니다.
| 기능 | URP(유니버설 렌더 파이프라인) | HDRP(고해상도 렌더 파이프라인) | 커스텀 SRP(스크립터블 렌더 파이프라인) | 빌트인 렌더 파이프라인 |
|---|---|---|---|---|
| 정적 배칭 | 지원 | 지원 | 지원 | 지원 |
| 동적 배칭 | 지원 | 지원 안 함 | 지원 | 지원 |
투명 셰이더는 Unity가 메시를 앞뒤 순서로 렌더링해야 하는 경우가 많습니다. Unity는 투명 메시를 배칭하기 위해 먼저 메시를 뒤에서 앞쪽 순서로 정렬한 후 배칭을 시도합니다. Unity는 메시를 앞뒤로 렌더링해야 하므로 불투명 메시만큼 많은 투명 메시를 배칭할 수 없는 경우가 많습니다.
Unity는 Transform 컴포넌트에 미러링이 포함된 게임 오브젝트에 동적 배칭을 적용할 수 없습니다. 예를 들어 한 게임 오브젝트의 스케일이 1이고 다른 게임 오브젝트의 스케일이 –1인 경우 Unity에서 함께 배칭할 수 없습니다.
드로우 콜 배칭을 사용할 수 없는 경우 서로 가까운 메시를 수동 결합하는 것이 좋은 대안이 될 수 있습니다. 메시 결합에 대한 자세한 내용은 메시 결합을 참조하십시오.
경고: C# 스크립트에서 공유 머티리얼 프로퍼티에 액세스하는 경우 Renderer.material이 아닌 Renderer.sharedMaterial을 사용해야 합니다. Renderer.material은 머티리얼의 복사본을 생성하고 복사본을 렌더러에 다시 할당합니다. 그러면 Unity가 해당 렌더러에 드로우 콜을 배칭하지 않습니다.