유니티에서 스프라이트 패커를 활용하여 드로우콜 수치 낮추기

unity에서 sprite packer를 사용하여 드로우콜(batches, setpass calls)을 줄이는 방법

개별적으로 존재하는 텍스쳐를 아틀라스에 모아(packing) 이미지의 불필요한 공백을 줄이고 렌더링 프로세스에서 한번에 처리하여 드로우콜 수치를 낮출수있다.

1)먼저 텍스쳐의 타입을 sprite로 변경한다(텍스쳐를 선택하고 import 세팅에서 sprite 타입을 선택,  apply를 클릭하여 반영한다)

2)동일한 방법으로 sprite packer를 사용할 모든 텍스쳐를 스프라이트 타입으로 변경하였다.

게임을 플레이하여 드로우콜 수치를 확인한다. 이 수치가 높으면 렌더링 프로세스에서 프레임레이트에 영향을 끼친다.

3)sprite packer를 활용하여 이 수치를 낮출수있다. 유니티의 editor settings에서 sprite packer를 활성화한다(always enabled)

1

4)sprite packer에서 사용할 모든 텍스쳐(스프라이트)를 선택하고 packing tag를 설정한다(import settings>packing tag)

해당 태그를 사용하는 모든 스프라이트를 동일한 아틀라스에 packing한다.

5)sprite packer 윈도우를 선택한다.

6)pack를 클릭하면 packing tag를 설정한 모든 스프라이트를 이미지 한장(아틀라스)에 모은다.

7)텍스쳐를 추가 또는 제거하면 repack를 클릭하여 업데이트한다. view atlas에서 태그로 구별되는 아틀라스를 선택한다

8)게임을 플레이하고 수치가 감소한것을 확인할수있다.


댓글

Designed by JB FACTORY