스프라이트 아틀라스


유니티에서 아틀라스는 텍스처를 한곳에 모은 한장의 큰 텍스처라고 할수있다.

텍스처 하나씩 따로따로 사용하고 관리하는것은 효율적이지 못하다.


아틀라스를 사용하면 드로우콜을 줄일 수 가 있다.


드로우콜?:

CPU가 GPU에게 어떠한 그림을 그려 달라고 요청하는것인데 많을 수록 게임이 무거워지고 프레임 저하가 올 수 도 있다.


프로젝트 셋팅하기

Unity 에디터 설정(Edit > Project Settings > Editor)에서 변경

빌드에 대해 활성화(Enabled for Builds): 플레이 모드에서가 아니라 빌드에 대해서만 패킹을 사용하고 싶을 때 

항상 활성화(Always Enabled): 패킹된 스프라이트가 플레이 모드 동안 스프라이트 아틀라스에서 텍스처를 확인하게 만들고, 편집 모드에서 원본 텍스처의 텍스처를 확인하게 만들고 싶을 때 사용




아틀라스 생성

Assets -> Create -> Sprite Atlas


이렇게 보라색 이미지가 생성된 것을 볼 수 있다.




이미지 패킹(묶기)!

그냥 드래그앤 드롭으로 끌어다 놓으면 된다.(폴더를 옮겨도 됨)

Type : Variant 다른 생성된 아틀라스를 포함시킬 수 있다.




스크립트 작성

using UnityEngine.U2D;

using UnityEditor.Experimental.U2D;


public class test : MonoBehaviour

{

public SpriteAtlas m_atlas;

public Image m_img1;


void Start()

{

m_img1.sprite = m_atlas.GetSprite("blue_boxCheckmark");

~~~생략

}

}




비교하기

<일반적인 Sprite를 넣었을때>


<아틀라스를 사용했을때>


Batches가 줄어든것을 볼 수 있다. 



반응형

+ Recent posts