2021. 11. 16. 23:41ㆍStudy/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
'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 |