본문 바로가기
유니티

[Unity] 스프라이트 아틀라스(Sprite Atlas)의 정의와 사용이유

728x90
반응형

🎲 Sprite Atlas란?

    - 스프라이트 아틀라스(Sprite Atlas)는 Batches를 최소화 하기 위해서 여러 이미지들을 하나의 이미지로 합쳐서 Sprite처럼 사용하는것입니다. 다만, 주의할점은 모든 이미지를 하나로 묶어 버릴경우 현재 화면에서 사용되지 않는 이미지들도 같이 불러오게 되기 때문에 같이 사용되는 이미지들 단위로 묶어서 만드는것이 좋습니다.

 

🍳 Draw Call 이란?

    - Draw Call은 CPU가 GPU에게 Texture등의 데이터의 처리를 요청하는것을 일컫는 말입니다. 이러한 요청이 많아지면 당연히 퍼포먼스 저하를 유발합니다.

 

🍳 Batches란?

    - Unity에서 사용되는 용어로 런타임도중에 Update마다 총 몇번의 Draw Call이 발생하는지 알려줍니다. 또한, Unity에서는 한 화면내에서 같은 머테리얼을 공유할 경우 해당 마테리얼을 공유해서 사용하는데 이를 베칭(Batching)이라고 합니다. 이 베칭 덕분에 같은 이미지의 오브젝트를 여러개 그려도 1 Batch만 소모합니다.

 

 

🍳 일반 스프라이트 사용이유

    - 위의 내용만 보면 일반 스프라이트를 왜 사용하는지 낙듭이 안 갈 수 도 있습니다. 왜냐하면 일반 스프라이트들의 이미지는 한 화면에 무조건 하나만 출력되기 때문입니다. 이걸 이해하기 위해서는 이미지의 처리단위를 알아야합니다. 이미지는 내부적으로 처리 될 때 POT(Power of Two) 단위, 즉 2의 제곱 단위로 처리됩니다. 

이렇게 낭비되는 픽셀(메모리)을 최소화 하기 위해서 스프라이트를 이용해 이미지를 이어 붙여 사용하는것입니다.

반응형