앞서 어드레서블에 대한 기본 세팅을 해보았다.
어드레서블을 사용해야 하는 이유는 기존 트윈월드에 있는 에셋 번들의 문제점에서 시작된다.
1. 에셋 번들은 2018버전 부터 관리자를 지원하지 않음
-> Profiler가 따로 존재하지 않아서, 번들의 사이즈와 어디에 의존성이 걸려있는지 파악하기 어려웠음
어드레서블은 Veiwer를 제공해줘서, 다운로드가 끝났는데 불 필요한 메모리를 날려 줄 수 있음
2. 번들에서 중요한 그룹핑을 쉽게 해줄 수 있고, 라벨링을 달아서 필요한 번들만 가져올 수 있음
3. 어드레서블로 번들을 추적하기 때문에, 에셋이 달라졌을 때, 유저가 새로 앱을 다운 받지 않고도, 에셋을 바꿔줄 수 있음
4. GetDownloadSizeAsync()와 같이 한번 받은 적 있으면 번들은 다운 받지 않음
5. GetDownloadSizeAsync를 통해서 미리 다움 받을 사이즈를 알 수 있음
-----
어드레서블 그룹에서 Remote Bundle 그룹을 새로 만들어 주었다.
차후 젬의 그룹핑을 해주는 공간이다
번들 해줄 프리팹을 만들어주고
그룹에 만들어준 오브젝트를 넣어준다.
프로파일을 만들어준다.
리모드 로드할 Url을 넣어준다.
이부분은 클라우드인 부분 (s3, 구글 클라이드 플랫폼 등등)
어드레서블 에셋 세팅에서
버전과 Build Remote Catalog 체크를 해준다.
Build Path도 Remote로 바꿔주고,
유니크 번들 IDs를 체크해준다.
그룹 번들에 대한 세팅도 바꿔준다.
번들을 빌드해준다.
빌드 후 이런식으로 폴더가 생긴다.
using UnityEngine;
using UnityEngine.AddressableAssets;
using UnityEngine.ResourceManagement.AsyncOperations;
public class AddressableTest : MonoBehaviour
{
[SerializeField] GameObject uiParent;
[SerializeField] string name;
public void _Click()
{
Addressables.InstantiateAsync(name, new Vector3(0, 0, 0), Quaternion.identity, uiParent.transform);
}
}
이런식으로 네임으로 생성해준다.
이건 간단하게 최대한 줄여서 남기는 것
-----
참고 사이트
https://blog.naver.com/cdw0424/221782318097
https://blog.naver.com/cdw0424/221764918184
https://m.blog.naver.com/cdw0424/221764918184
https://young-94.tistory.com/47?category=934135
'Unity' 카테고리의 다른 글
Unity Addressables 정리 (0) | 2022.06.14 |
---|---|
210726_유니티 Asset Bundle (0) | 2021.07.26 |