티스토리 뷰
[1] 어드레서블 에셋 시스템이란?
Addressable Asset System 문서에 설명이 간단명료하게 되어있으니 읽어보는 것을 추천합니다.
유니티 블로그 > 어드레서블 에셋 시스템 글도 있습니다.
어드레서블 에셋 시스템은 'address (주소)' 로 asset을 load할 수 있는 쉬운 방법을 제공합니다.
어드레서블의 주된 기능은 로드할 대상이 되는 에셋과 에셋이 로드되는 위치 및 방식을 분리하는 것입니다.
에셋에 address를 부여하게 되면 에셋을 로드하는 측에서는 에셋의 address만 알면 되고 에셋의 실제 위치가 변경되어도 상관없습니다.
(에셋이 원격서버에 업로드되어있든,, 앱 내부에 포함되어있는데 위치가 변했든,,, 노상관)
[2] 어드레서블 시스템 등장 배경
감귤오렌지님의 유튜브 > unity addressable asset 를 보니
에셋 관리방식이 리소스 폴더 -> 에셋번들 -> 어드레서블 시스템 이렇게 발전해왔다고 합니다.
HTTP 서버에서 에셋 번들 다운로드(GET) 를 해보려고 했는데
어드레서블 시스템이 더 최근 방식 & 심플한 방식이여서 이걸 바로 학습하면 될 것 같네요~.~
[3] 어드레서블 에셋 시스템 주로 쓰이는 곳
제가 구글링해본 결과..
1. 대규모 프로젝트에서 메모리를 효율적으로 관리하고 싶을 때 (참고: 어드레서블 에셋 시스템으로 메모리 최적화하기)
2. 서버에서 추가 에셋 다운로드가 필요할 때
주로 사용되는 것 같습니다.
[4] 어드레서블 패키지 설치
어드레서블 에셋 시스템을 사용해주려면 Addressables 패키지를 설치해줘야합니다.
Package Manager 에서 Addressables 를 install 해줍니다.
설치가 끝나고 Asset을 눌러보면 이렇게 Addressable 토글 부분이 생기게 됩니다.
[5] 에셋을 어드레서블로 만들기 (어드레스 부여하기)
Addressable 토글 버튼을 활성화 하면
주소를 입력하는 부분이 나옵니다.
디폴트로 현재 에셋의 path가 주소로 설정이 되는 데 수정가능합니다.
활성화 하고 Window > Asset Management > Addressables > Groups 에 들어가보시면
기본 로컬 그룹에 추가되어있는 것을 보실 수 있습니다.
그룹을 추가하고 싶다면 우클릭하시면 됩니다.
드래그앤드랍으로 다른 그룹으로 에셋을 이동시킬 수 있습니다.
이 블로그에서 가져온 그룹과 라벨에 대한 설명입니다~
나중에 빌드를 하게되면 그룹마다 하나의 번들로 묶이게됩니다.
반대로 말하면 그룹 내 하나의 리소스만 사용하려 해도 해당 그룹 내 번들을 전부 다운로드 받아야만 사용이 가능합니다.
Labels의 기능은 추후 Labels의 값으로 동일한 Label의 에셋들을 한번에 로드할 수 있습니다.
그룹은 실제 파일들을 묶는 용도라 보시면 되고 Label은 로드할때 쓰는 용도라 보시면 되겠습니다.
[6] 에셋을 로드하기
1. Addressables.LoadAsset(s)Async // 유튭설명
2. Addressables.InstantiateAsync // 유튭설명
이 두 메소드를 사용해줄 수 있고 자세한 것을 유튜브 설명을 참고해주세요!
[7] 에셋을 서버에 올리고 다운받기
Profiles에 들어가시면
RemoteLoadPath 를 설정해주는 필드가 있습니다.
아래는 Amazon S3를 사용하여 에셋을 서버에서 다운받고 로드하는 영상과 글입니다.
https://www.youtube.com/watch?v=qL7PXAFNP5M
https://kupaprogramming.tistory.com/129
'🎨 > Unity' 카테고리의 다른 글
[Unity] Blender 에서 모델 임포트하기 (1) | 2024.01.04 |
---|---|
[Unity] Apple Unity 플러그인 (0) | 2022.06.13 |
[Unity] 네이티브 플러그인 (0) | 2022.03.24 |
[Unity] SerializeField (0) | 2022.03.23 |
[Unity] Screen Recording 검색 기록! (1) | 2022.03.18 |
- Total
- Today
- Yesterday
- Flutter Text Gradient
- cocoapod
- Django Firebase Cloud Messaging
- Django Heroku Scheduler
- Django FCM
- flutter dynamic link
- github actions
- 장고 Custom Management Command
- 구글 Geocoding API
- flutter 앱 출시
- METAL
- Python Type Hint
- ipad multitasking
- ribs
- 장고 URL querystring
- DRF APIException
- Sketch 누끼
- PencilKit
- Flutter 로딩
- 플러터 얼럿
- drf custom error
- 플러터 싱글톤
- flutter deep link
- Watch App for iOS App vs Watch App
- Flutter Clipboard
- Dart Factory
- SerializerMethodField
- Flutter getter setter
- Flutter Spacer
- flutter build mode
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |