유니티 / / 2025. 9. 8. 00:37

Unity 기능 리뷰 - 스프라이트 아틀라스(Sprite Atlas)

스프라이트 아틀라스(Sprite Atlas)란?

예전에 마이리틀스쿨이라는 프로젝트를 하다가 사용했던 Sprite Atlas를 포스팅해보려고 합니다!
이 프로젝트가 2D게임에 UI버튼과 아이콘 같은 리소스들이 많아지다 보니 Draw Call 최적화를 할 필요성을 느꼈는데요.
이를 해결하기위해 Unity의 스프라이트 아틀라스(Sprite Atlas) 기능을 사용했었습니다.
이 기능을 많은 분들이 알면 도움이 될 것 같아 글을 씁니다!


1. 스프라이트 아틀라스(Sprite Atlas)란?

Unity에서 여러 개의 스프라이트(Sprite) 이미지를 사용하다 보면,
각각의 텍스처가 따로따로 불러와지면서 Draw Call이 증가하고 성능이 저하될 수 있습니다.

👉 이때 필요한 기능이 바로 스프라이트 아틀라스(Sprite Atlas)입니다.
말 그대로 여러 스프라이트를 하나의 큰 텍스처로 묶어 관리하는 기능이에요.

원래는 스프라이트를 개별적으로 불러왔다면, 아틀라스로 묶으면 하나의 큰 이미지 안에서 잘라 쓰는 방식이 됩니다.
즉, 여러 장을 합쳐놓은 “스프라이트 시트(Sprite Sheet)”와 유사한 개념이라고 보면 됩니다!


2. 왜 스프라이트 아틀라스를 쓸까?

제가 이번 프로젝트에서 굳이 스프라이트 아틀라스를 쓴 이유는 크게 네 가지입니다.

  • Draw Call 최적화
    → UI나 버튼처럼 자주 쓰이는 스프라이트들을 하나로 묶어 GPU 호출 횟수를 줄일 수 있습니다.
  • 메모리 효율성
    → 스프라이트를 따로따로 불러오지 않아 중복 로드가 줄어듭니다.
  • 관리 편의성
    → 리소스를 아틀라스 단위로 묶어서 관리하니, 교체나 업데이트가 수월해집니다.
  • 일관된 해상도
    → 같은 아틀라스에 들어 있는 스프라이트는 동일한 스케일과 해상도로 관리됩니다.

즉, 성능과 관리 측면에서 모두 이점이 크기 때문에 저는 꼭 쓰는 게 좋다고 판단했습니다!


3. 사용 방법

스프라이트 아틀라스 만드는 방법은 간단합니다.

 

1. 프로젝트 창에서 우클릭 → Create → 2D → Sprite Atlas 선택

  •  이 선택지가 없으면 패키지 매니저에서 2D Sprite와 2D SpriteShape를 설치!

2. 생성된 아틀라스 Asset을 열고, Objects for Packing에 스프라이트들을 드래그&드롭 (폴더도 가능!)

3. 저장하면 자동으로 하나의 큰 텍스처로 패킹됩니다

4. SpriteRenderer나 UI에서 스프라이트를 호출하면 Unity가 자동으로 아틀라스를 참조합니다


4. 실제 적용 예시

저는 마이리틀스쿨 프로젝트에서 UI 버튼과 배경 아이콘들을 스프라이트 아틀라스로 묶었습니다.

  • 적용 전 : 버튼, 아이콘, 배경 각각 별도의 텍스처 호출 → Draw Call 증가
  • 적용 후 : 하나의 아틀라스로 묶음 → Draw Call 절반 이하로 감소

성능이 좋아졌고, 무엇보다 관리하기도 훨씬 편해졌습니다.


5. 마무리

스프라이트 아틀라스는 단순히 “묶어 쓰는 기능” 같아 보이지만,
실제로 프로젝트를 진행하다 보면 성능 최적화 + 관리 효율 두 가지를 동시에 챙길 수 있는 중요한 기능입니다.

  • 네이버 블로그 공유
  • 네이버 밴드 공유
  • 페이스북 공유
  • 카카오스토리 공유