Unity 내일배움캠프 TIL 1103 | Sprite Atlas(스프라이트 아틀라스)

cheeseonrose·2023년 11월 3일
0

Unity 내일배움캠프

목록 보기
70/89
post-thumbnail

💡 Sprite Atlas

  • UI 요소들을 디자인하다 보니 Sprite의 수가 엄청 많아졌다!
    최적화를 위한 방법으로 Sprite Atlas에 대해 공부해보잣

👻 정의

  • 여러 개의 텍스처를 단일 텍스처로 결합하는 에셋
    • 일반적으로 Unity는 Scene의 각 텍스처에 대해 드로우 콜을 발생시킨다.
      -> 많은 텍스처가 포함될수록 여러 개의 드로우 콜이 발생하여 성능이 저하될 수 있음

👾 프로퍼티

프로퍼티설명
TypeSprite Atlas의 타입(기본 타입은 Master)
Include in BuildSprite Atlas 에셋을 현재 빌드에 포함할 것인지 여부
Allow RotationSprite Atlas를 패킹할 때,
Sprite가 회전하도록 허용할 것인지 여부
Tight PackingSprite Atlas를 패킹할 때, 여백을 최소화할 것인지 여부
PaddingSprite Atlas의 개별 Sprite 텍스처 사이 픽셀 수
Read/Write Enabled스크립트에서 접근 가능 여부
Default각 타겟 플랫폼에서 해상도
파일 크기와 메모리 크기 요구 사항
픽셀 크기
텍스처의 품질 설정
Objects For Packing패킹 할 Sprite Atlas를 이곳에 넣으면 됨

😈 ♀️ 사용법 (Unity 2022.3.2f1 기준)

  • 우선 Sprite Atlas를 사용하기 전에 몇가지 설정해야 할 것이 있다.
  • Edit - Project Settings - Editor로 이동해서 Sprite Packer의 Mode를 변경하자
    • 각 Mode는 다음과 같다

      Mode설명
      DisabledSprite Atlas 패킹 비활성화
      Sprite Atlas V1
      - Enabled for Builds
      Build시에만 Sprite Atlas를 적용할 때 사용
      Editor와 Play 모드에서는 원본 텍스처를 사용
      Sprite Atlas V1
      - Always Enabled
      런타임 중 항상 Sprite Atlas를 사용
      Edit mode에서는 원본 텍스처를 참조
      Sprite Atlas V2
      - Enabled
      변화가 있을 경우 패킹
      Play 모드와 빌드 시에도 항상 Sprite Atlas를 사용
      Sprite Atlas V2
      - Enabled For Builds
      Build시에만 Sprite Atlas를 적용할 때 사용
      Editor와 Play 모드에서는 원본 텍스처를 사용
    • 이 중 Sprite Atlas V1 - Enabled for Builds로 설정해주었다.

      • V2를 선택하면 V1으로 전환할 수 없다고 하니 주의하자!

  • 이제 Project 창에서 Assets - 우클릭 - Create - 2D - Sprite Atlas 를 생성해주자

  • 값을 설정해주고 Object for Packing의 Packables에 패킹할 Sprite들을 넣어주고 'Pack Preview'를 눌러준다.
    이때 Sprite들을 모아둔 폴더를 넣어도 된다 히히
    • Default - Compression은 'None'으로 설정했다.
      -> UI에 직접적으로 쓰이는 리소스(UI 윈도우, UI 컨트롤 요소 등)들을 압축해서 사용하면 게임 비주얼 퀄리티가 저하될 수 있다고 한다.

  • 그럼 이렇게 Sprite들이 차곡차곡 쌓인 모습을 볼 수 있다!

  • Tight Packing 프로퍼티를 체크하면 아래와 같이 옆에 있는 Sprite들이 영역을 침범하는 현상이 생길 수 있다.
    영역을 직접 설정해주는 방법도 있지만 나는 대부분의 UI들이 직사각형 형태라서 그냥 Tight Packing을 해제해줬다.

  • 게임을 실행하고 GameView 우측 상단의 Stats를 눌러서 확인해보자!
    • 우선 Sprite Atlas 생성 전에는 Batches가 560이었다.
    • Sprite Atlas 생성 후에 Batches가 552로 줄어들은 것을 확인할 수 있다.

  • 팝업 창에 쓰이는 UI 요소들도 Sprite Atlas로 묶어보자
    • Sprite Atlas 생성 전
    • Sprite Atlas 생성 후

출처 - Unity Documentation 스프라이트 아틀라스
출처 - Unity Documentation 스프라이트 패커 모드
출처 - 아틀라스 만들기 Step by Step | 유니티 UGUI



V1과 V2의 차이점에 대해서는 더 공부해봐야겠다

오늘은 여기까지!

끗.

0개의 댓글