본문 바로가기

유니티/최적화

유니티 Sprite Atlas

반응형

유니티에는 다양한 최적화 기법이 있는데 이번 글에서는 Sprite Atlas에 대해 포스팅하고자 한다.

똑같은 기능을 제공하는 Sprite Packer라고 있긴하다. 근데 유니티 자체에서도 Legacy(구식)이라고 지정해놨고 개인적으로도 Atlas가 더 직관적이고 사용하기 편해서 웬만하면 Sprite Atlas로 쓰는게 좋지않을까 싶다.

어쨋든 현업에서 대부분 사용하고 있다고 하니 꼭 알아두자.

Sprite Atlas란

스프라이트 아틀라스(Sprite Atlas) 는 여러 개의 텍스처를 단일 텍스처로 결합하는 에셋이다. Unity는 여러 개의 드로우 콜을 발행하는 대신 이러한 단일 텍스처를 호출함으로써 하나의 드로우 콜을 발행할 수 있다. 참고로 DrawCall은 모바일에선 최대 100안쪽으로 나오게 해야 한다.

우선적으로 Project Settings -> Editor -> Sprite Packer-> Mode에서 위와같이 설정해준다.

각각의 모드에 대해 설명하자면

  • Disabled : Sprite Atlas를 미사용하는 경우 선택
  • Enabled For Builds(Legacy Sprite Packer) : 이전 Unity에서 제공하던 Sprite Packer를 빌드 시에만 사용
  • Always Enabled(Legacy Sprite Packer) : 이전 Unity에서 제공하던 Sprite Packer를 빌드,Editor 모두에서 사용
  • Enable for Builds : Sprite Atlas를 빌드 시에만 사용
  • Always Enabled : Sprite Atlas를 빌드, Editor 모두에서 사용

사용방법

정말 간단하다. 

편한 폴더에 들어가서 우클릭으로 Sprite Atlas를 만들어준다.

위와같이 생성되면 Object for Packing에 원하는 스프라이트들을 드래그앤 드롭 또는 +버튼 눌러주면 된다. 일일이 넣는게 귀찮으면 폴더 째로 넣어도 된다. 나는 일단 UI들을 모두 Atlas에 넣어봤다.

아틀라스에 넣기 전

 

아틀라스에 넣은 후

Batches가 77에서 67로 떨어진걸 확인 할 수 있다.

반응형