Version: Unity 6.0 (6000.0)
언어 : 한국어
드로우 콜 배칭 활성화
메시 수동 결합

정적 배칭 활성화

Unity는 빌드 시점과 런타임 시점에 정적 배칭을 수행할 수 있습니다. 일반적으로 애플리케이션을 빌드하기 전에 게임 오브젝트가 씬에 존재하는 경우, 빌드 시 게임 오브젝트를 배칭하려면 에디터를 사용하십시오. 런타임 시 게임 오브젝트와 메시를 생성하는 경우에는 런타임 API를 사용합니다.

런타임 API를 사용하면 정적 배치의 루트의 트랜스폼 프로퍼티를 변경할 수 있습니다. 정적 배치를 구성하는 전체 메시 조합을 이동, 회전 또는 스케일할 수 있습니다. 개별 메시의 트랜스폼 프로퍼티는 변경할 수 없습니다.

게임 오브젝트 세트에 정적 배칭을 사용하려면 게임 오브젝트가 정적 배칭에 적합해야 합니다. 일반적인 사용 정보에 설명된 기준 외에도 다음을 확인하십시오.

  • 게임 오브젝트가 활성화되었습니다.
  • 게임 오브젝트에 Mesh Filter 컴포넌트가 있으며, 해당 컴포넌트가 활성화되었습니다.
  • Mesh Filter 컴포넌트에 메시에 대한 레퍼런스가 있습니다.
  • 메시의 버텍스 수가 0보다 큽니다.
  • 메시가 다른 메시와 결합되지 않았습니다.
  • 게임 오브젝트에 Mesh Renderer 컴포넌트가 있으며, 해당 컴포넌트가 활성화되었습니다.
  • Mesh Renderer 컴포넌트가 DisableBatching 태그가 true로 설정된 셰이더가 있는 머티리얼을 사용하지 않습니다.
  • 함께 배칭하려는 메시는 동일한 버텍스 속성을 사용합니다. 예를 들어 Unity는 버텍스 위치, 버텍스 노멀, 하나의 UV를 서로 사용하는 메시를 배치할 수 있지만 버텍스 위치, 버텍스 노멀, UV0, UV1, 버텍스 탄젠트를 사용하는 메시와는 배치할 수 없습니다.

참고: 런타임 정적 배칭을 사용하려면 읽기/쓰기가 활성화되도록 메시를 설정해야 합니다.

정적 배칭이 성능에 미치는 영향에 관한 정보는 성능에 미치는 영향을 참조하십시오.

빌드 시점에 정적 배칭

에디터에서 빌드 시점에 정적 배칭을 활성화할 수 있습니다.

빌드 시점에 정적 배칭을 수행하려면 다음 단계를 따르십시오.

  1. Edit > Project Settings > Player로 이동합니다.
  2. Other Settings에서 Static Batching을 활성화합니다.
  3. 씬 뷰나 계층 구조에서 게임 오브젝트를 선택하여 인스펙터에서 확인합니다.
    : 여러 개의 게임 오브젝트를 동시에 선택하여 모든 게임 오브젝트에 정적 배칭을 활성화할 수 있습니다.
  4. 게임 오브젝트의 Static Editor Flags에서 Batching Static을 활성화합니다.

지정된 정적 메시가 일반 사용 정보에 설명된 기준을 충족하는 경우, Unity는 해당 정적 메시를 자동으로 같은 드로우 콜에 배칭합니다.

인스펙터에 있는 게임 오브젝트의 Static Editor Flags 체크박스
인스펙터에 있는 게임 오브젝트의 Static Editor Flags 체크박스

참고: 빌드 시점에 정적 배칭을 수행하면 Unity가 런타임 시 정적 배치를 위해 메시 데이터를 생성하는 데 CPU 리소스를 사용하지 않습니다.

런타임 시 정적 배칭

런타임 시 정적 메시를 배칭하기 위해 Unity는 StaticBatchingUtility 클래스를 제공합니다. 정적 StaticBatchingUtility.Combine 메서드는 정적 배칭을 위해 전달하는 게임 오브젝트를 결합하여 준비합니다. 런타임 시 순서대로 생성하는 메시에 특히 유용합니다.

빌드 시 정적 배칭과 달리 런타임 시 배칭은 정적 배칭 플레이어 설정을 활성화할 필요가 없습니다. 이 API를 사용하는 방법에 대한 자세한 내용은 StaticBatchingUtility를 참조하십시오.

드로우 콜 배칭 활성화
메시 수동 결합