빙수달 게임 개발 노트
[Unity] 아틀라스 텍스처(Atlas Texture) 본문
(1) 아틀라스 텍스처(Atlas texture)란?
유니티(Unity)에서 아틀라스(Atlas)는 여러 개의 스프라이트(Sprite)를 한 장의 큰 텍스처에 모아놓은 것이라고 볼 수 있다. 쉽게 설명하자면, 에셋스토어에서 스프라이트를 다운받은 후, 아래 사진처럼 이미지를 더블클릭하면 여러 개의 이미지가 조각나서 또 나타나는 것을 볼 수 있다. 이것을 하나로 묶어준 것이 아틀라스이다.

유니티에서는 스프라이트 팩커(Sprite Packer)라는 툴을 통해 아틀라스를 제작하고 사용할 수 있다. 각 스프라이트 별로 어떤 아틀라스에 묶일지 태그를 지정해주면, 이 스프라이트 팩커가 알아서 태그 별로 묶어 최적의 아틀라스를 생성해준다.

게임에는 UI와 배경, 캐릭터, 이펙트 등 수많은 텍스처들이 사용되는데, 각 텍스처 별로 렌더링할 때마다 한 번의 드로우콜(Drawcall)이 발생하게 된다. 때문에, 단순 계산해서 게임 내에 UI 요소들(UI 배경 이미지, 버튼 이미지, 각 콘텐츠 이미지 등) 별로 별도의 텍스처로 나누어져 있다면, 총 20개의 UI 요소가 있다고 가정했을 때, 20번의 드로우콜이 발생하게 된다. 그런데 이 20개의 각각의 텍스처들을 한 장의 텍스처에 모아놓고 CombineChildren컴포넌트 (하위 오브젝트를 하나로 통합)를 사용한다면 드로우콜이 1로 줄어드는 기적도 볼 수 있을 것이다. 게임의 퍼포먼스에 드로우콜이 얼마나 큰 영향을 미치는지 고려하면 아틀라스의 사용은 선택이 아니라 필수이다.
'Devpedia : Game' 카테고리의 다른 글
| [Unity] 드로우 콜(Draw call)과 배칭(Batching) (0) | 2025.01.07 |
|---|---|
| [Unity] 유니티 스크립트 라이프 사이클(Unity Script Life Cycle) (1) | 2025.01.07 |