Sprite Atlas - 스프라이트 아틀라스

2021. 11. 16. 23:41Study/Unity

이전에...

2D 프로젝트는 스프라이트와 다른 그래픽스를 사용하여 씬의 시각적 요소를 만듭니다. 따라서 단일 프로젝트에 다수의 텍스처 파일이 들어 있을 수 있습니다. 일반적으로 Unity는 씬의 텍스처에 대해 드로우 콜을 발행합니다. 하지만 많은 텍스처가 포함된 프로젝트의 경우 여러 개의 드로우 콜이 존재하면 리소스를 많이 소비하여 프로젝트의 성능을 저하시킬 수 있습니다.

Sprtie Atlas

정의

여러 개의 텍스처를 단일 텍스처로 결합하는 에셋입니다. Unity는 여러 개의 드로우 콜을 발행하는 대신 이러한 단일 텍스처를 호출함으로써 하나의 드로우 콜을 발행할 수 있습니다. 그러면 큰 성능 소모 없이도 패킹된 텍스처에 동시에 액세스할 수 있습니다. 또한 스프라이트 아틀라스 API는 프로젝트의 런타임 시점에 스프라이트 아틀라스를 로드하는 방법을 제어할 수 있도록 해줍니다.

사용

1. Atlas로 묶을 Sprite를 하나의 폴더에 놓는다. (굳이 넣지 않아도 되지만, 나중에 아틀라스를 만들 때 쉽게 만들기 위함이다.)

2. Create -> 2D -> Sprite Atlas 클릭 -> Sprite Atlas 생성

3. Sprite Atlas 설정

  • 패킹 옵션 설정
  • 패킹 오브젝트 설정
  • Texture 관리 옵션 설정

 

4. Include in Build 

아틀라스가 Resources 폴더에 없더라도 빌드 시 Atlas를 포함하고, 메모리에 적재된다.

아틀라스에 포함된 Sprite가 AssetBundle에 포함되어 있어도 메모리에 적재되므로, 중복으로 메모리에 적재될 수 있다.

--> Include in Build 옵션을 해제하고 아틀라스에 포함된 Sprite를 AssetBundle에 포함시킨다.

--> LateBinding이 호출될때 Sprite Atlas AssetBundle을 불러와서 생성한다.

 

 

참조

https://docs.unity3d.com/kr/current/Manual/class-SpriteAtlas.html

 

스프라이트 아틀라스 - Unity 매뉴얼

2D 프로젝트는 스프라이트와 다른 그래픽스를 사용하여 씬의 시각적 요소를 만듭니다. 따라서 단일 프로젝트에 다수의 텍스처 파일이 들어 있을 수 있습니다. 일반적으로 Unity는 씬의 각 텍스처

docs.unity3d.com

 

'Study > Unity' 카테고리의 다른 글

UGUI - Canvas  (0) 2022.10.10
Unity - Physics  (0) 2022.08.21
Garbage Collection (GC)  (0) 2021.06.01
(C#) Coroutine  (0) 2021.05.31
(C#) Virtual / Abstract / Interface  (0) 2021.05.31