Unity 드로우 콜 배칭 및 최적화 가이드
이 문서는 Unity의 드로우 콜 배칭과 관련된 최적화 방법에 대한 공식 가이드를 한국어로 쉽게 설명합니다. 드로우 콜은 그래픽스 프로그램에서 높은 성능을 유지하기 위해 중요합니다. 이 문서는 정적 및 동적 배칭 방법을 포함하여 배칭의 요구 사항과 호환성을 설명합니다.
드로우 콜 배칭 개요
드로우 콜 배칭은 Unity가 여러 메시를 결합하여 렌더링할 수 있는 방법입니다. 이는 더 적은 드로우 콜로 렌더링할 수 있도록 도와줍니다.
두 가지 배칭 방법
- 정적 배칭: 고정된 게임 오브젝트들을 합치고 함께 렌더링합니다.
- 동적 배칭: 작은 메시를 그룹화하여 하나의 드로우 콜로 렌더링합니다.
배칭의 장단점
- 장점: Unity가 메시를 개별적으로 관리할 수 있어 유연성이 높습니다.
- 단점:
- 정적 배칭: 메모리 사용량 증가.
- 동적 배칭: CPU 사용량 증가.
렌더 파이프라인 호환성
드로우 콜 배칭은 각 렌더 파이프라인과의 호환성이 다릅니다. 아래는 각 렌더 파이프라인의 지원 여부입니다.
기능 | 빌트인 렌더 파이프라인 | 유니버설 렌더 파이프라인 (URP) | 고해상도 렌더 파이프라인 (HDRP) | 커스텀 스크립터블 렌더 파이프라인 (SRP) |
---|---|---|---|---|
정적 배칭 | 지원 | 지원 | 지원 | 지원 |
동적 배칭 | 지원 | 지원 | 지원 안 함 | 지원 |
드로우 콜 배칭 사용 정보
다음 정보는 정적 및 동적 배칭 모두에 관련됩니다. 각 메서드를 활성화하고 사용하는 방법에 대한 특화된 정보는 별도의 섹션을 참조하시기 바랍니다.
- 지원하는 렌더러: 메시 렌더러, 트레일 렌더러, 라인 렌더러, 파티클 시스템, 스프라이트 렌더러.
- 머티리얼 공유: 가능하면 동일한 머티리얼을 사용하여 드로우 콜 배칭의 효율을 극대화합니다.
- 텍스처 아틀라스: 여러 텍스처를 하나로 결합하여 머티리얼 사용을 최적화합니다.
- MaterialPropertyBlock: 렌더 상태를 변경하지 않고 머티리얼 프로퍼티를 변경하는 방법.
주의 사항
- 투명 셰이더: Unity가 메시를 뒤에서 앞으로 렌더링해야 할 경우, 투명 메시의 배칭이 더 어렵습니다.
- 동적 배칭의 제한: 미러링된 게임 오브젝트 간의 배칭은 불가능합니다.
- 렌더링 속도 감소: Renderer.material을 사용하여 머티리얼을 변경하면 드로우 콜 배칭이 중단됩니다. 대신 Renderer.sharedMaterial을 사용해야 합니다.
결론
Unity에서 드로우 콜 배칭을 활용하면 성능 최적화를 유도할 수 있습니다. 정적 및 동적 배칭의 이해와 머티리얼의 적절한 사용은 게임의 성능을 크게 향상시킬 수 있습니다.
추가 리소스
이 가이드를 통해 Unity에서 최적의 그래픽 성능을 달성하시길 바랍니다.