유니티 엔진 (Unity Engine)

어드레서블 시작하기(Get started with Addressables) 스터디 노트 3화 "Addressable 등록하기"

원생계 2023. 5. 26. 19:37

이전 스터디 노트에 이어서 3번재 노트

2023.05.25 - [유니티 엔진 (Unity Engine)] - 어드레서블 시작하기(Get started with Addressables) 스터디 노트 1화

2023.05.26 - [유니티 엔진 (Unity Engine)] - 어드레서블 시작하기(Get started with Addressables) 스터디 노트 2화 "어드레서블을 써야만 하는 이유"

 

게임을 개발할 때 필연적으로 다양한 에셋, 리소스들이 필요하고 이를 로드하고 언로드하는 등의 관리가 필요한데, 어드레서블 시스템은 이 리소스 관리 수준을 한층 높여주는 유니티 엔진의 시스템이기 때문에 학습 코스를 통해 스터디를 진행하고 있습니다.

Addressable 학습 코스 링크
https://prf.hn/click/camref:1011lvz7h/pubref:study_addr/destination:https%3A%2F%2Flearn.unity.com%2Ftutorial%2Fwhy-use-addressables%3FcourseId%3D64255c01edbc2a268fb0b800%23

 

Why use Addressables? - Unity Learn

The Addressables system is Unity's dynamic asset management system. Addressables builds on Unity's AssetBundles technology, and also provides tools inside the Unity Editor to help you prepare your assets for on-demand loading, whether your content is on-de

learn.unity.com


샘플 프로젝트인 <Loady Dungeons> 는, 앞 스터디 과정에서 다뤘던 직접 참조(Direct Referrences)와 리소스 폴더(Resources)접근으로만 리소스를 관리하고 있음.

 

학습 코스의 목표는, 어드레서블 시스템을 적용하여 다운로드 가능한 패키지의 크기를 줄이고, 게임의 수명 주기 동안 에셋을 쉽게 업데이트하고, 사용자가 게임플레이 중에 에셋을 추가하거나 업데이트할 수 있도록 하는 것.

이 학습 코스를 최대한 문제 없이진행하려면 Unity Engine 2022.2.9 이상 버전이 필요. 저는 2022.2.19 버전으로 진행.

Package Manager 를 통해 1.21.8 이상 버전의 어드레서블 패키지를 설치. 설치 방법은 아래 Package manager 과정 참조.

https://prf.hn/click/camref:1011lvz7h/pubref:lear_addr_package/destination:https%3A%2F%2Flearn.unity.com%2Ftutorial%2Fproject-setup-processes%2360ed7a6aedbc2a002520b6ec

 

Project setup processes - Unity Learn

This is a guide through common processes you may need to set-up a Unity project to complete one of our tutorials.

learn.unity.com

아래는 패키지 매니저에서 검색한 Addressables 패키지

설치하고나니 Samples 도 제공되는 게 꽤 많네요.

설치하면 아래와 같이 프로젝트 폴더에 AddressableAssetsData 아래에 어드레서블 시스템 관련 에셋들이 추가

Addressable Asset Settings 를 클릭하면 인스펙터를 통해 Addressable Groups 창을 열 수 있음.

 

어드레서블이란 무엇인가요?

(여기서 말하는 어드레서블은, 시스템을 지칭하는 것이 아니고 개념적인 어드레서블을 말함.)

에셋을 어드레서블로 활성화하면 에셋이 빌드된 게임의 로컬에 있든 콘텐츠 전송 네트워크에 있든 관계없이 Unity는 어드레서블 시스템이 에셋의 위치와 연관시키는 문자열 식별자인 주소를 생성.

 

스크립트에서 에셋의 위치를 추적하는 대신 에셋의 주소를 사용할 수 있고, 에셋 위치가 변경되더라도 코드를 다시 작성할 필요 없음.

 

일반적으로 각 주소를 고유하게 만드는 것이 가장 좋고, 고유한 주소를 사용하는 것이 프로젝트를 체계적으로 관리하기가 더 쉽다.

 

어드레서블 주소를 등록하는 방법은 간단. 아래 그림처럼 인스펙터 (Inspector) 에서 Addressable 체크박스를 체크하면 끝.

처음 체크를 하면 아래와 같은 팝업창이 뜸.

기존 리소스 시스템에서 이 에셋이 처리되고 복제되는 것을 방지하기 위해 어드레서블 시스템에서 이 프리팹을 리소스 폴더 밖으로 (Resources_moved) 옮기는 것. Resources_moved 폴더는 임시 보관 장소일 뿐.

프리팹을 어드레서블 그룹 창으로 드래그하여 에셋을 어드레서블로 활성화할 수도 있음. 어드레서블 그룹 창은 아래처럼 메뉴를 통해 접근/오픈 할 수도 있음.

Window > Asset Management > Addressables > Groups

프리팹은 기본 로컬 그룹(Default Local Group)에 자동으로 할당.

 

에셋을 어드레서블 그룹으로 설정하기

게임의 로고를 주소 지정이 가능하도록 만들어보기.

아래 창과같이 어드레서블 에셋들을 설정.

에셋은 프로젝트 기간 동안 자주 변경될 수 있지만 에셋을 나타내는 주소는 변경하지 않아야 합니다. 이렇게 하면 에셋 콘텐츠만 변경되어 앱을 마켓플레이스에 다시 배포해야 하는 경우 게임 스크립트 변경을 피할 수 있습니다.

 

Resources 폴더의 모든 에셋을 Addressable 설정 했다면, Resources_move 임시 폴더로 모두 이동하고, Resources 폴더는 비어있을 것이기 때문에 정리 해준다.

 

다음 학습 코스에서는 스크립트 코드에서 Addressable 리소스를 직접 로드하고 활용하는 방법에 대해 다룸.


Addressable 학습 코스 링크
https://prf.hn/click/camref:1011lvz7h/pubref:study_addr/destination:https%3A%2F%2Flearn.unity.com%2Ftutorial%2Fwhy-use-addressables%3FcourseId%3D64255c01edbc2a268fb0b800%23

 

Why use Addressables? - Unity Learn

The Addressables system is Unity's dynamic asset management system. Addressables builds on Unity's AssetBundles technology, and also provides tools inside the Unity Editor to help you prepare your assets for on-demand loading, whether your content is on-de

learn.unity.com

Unity 2021 버전, 유니티 교과서
https://link.coupang.com/a/ZgsN8

 

2021 버전 완벽 대응 유니티 교과서 개정5판

COUPANG

www.coupang.com

(본문 링크로 유니티 교과서 구입 시, 일정액의 수수료를 제공받습니다. 감사합니다.)

728x90
반응형