유니티 Addressable

2021. 11. 5. 11:29기술/유니티 스터디

반응형

 유니티 Addressable의 장점은 "이름"으로 리소스를 로드해서 사용할 수 있다는 것이다.

 

 처음에 사용할 때는 인스펙터의 Addressable에 주소가 포함되어 있어서

해당 에셋이 어디에 있는지 알아볼 수 있어서 Path를 포함하여 사용하였다.

 

 프로젝트를 관리하다 보면 나중에 폴더를 변경하거나 폴더명을 변경할 때가 있는데

저 주소가 코드에 작성돼 있으면 코드를 변경하기 불편해진다. 그러므로 애초에 에셋 이름으로 관리하는게 좋다.

 

 프리팹을 Select 하면 어차피 해당 위치가 나오기 때문에 굳이 Path까지 포함한 Addressable 이름을 사용할 필요가 없다.

 위 창에서 Path를 볼 수 있으니 Addressable 이름에는 경로를 사용하지 않아도 되겠다.

 

 에셋 > 마우스 우클릭 > Simplify Addressable Names 하면 간단한 이름으로 수정된다.

 

 1. 풀 주소를 사용하고 있었다면 부분별로 수정해주면 된다.

 기존 Addressables 그룹별로 간단한 이름으로 대체하고 코드에서 풀 주소를 사용하던 것을 간단하게 작업해주면 된다.

 참고로 Simplify 해줄 때 기존 풀 주소의 확장자명도 없어지고 그저 이름으로만 남는다.

 코드에서도 디렉토리와 확장자명을 뺀 이름으로만 사용해야 한다.

 

 2. 그 다음 Group별로 묶는다.

 - 처음부터 이런작업을 하면서 진행하면 좋다.

 - 정리가 잘 되어 있으면 다른 작업자가 보기에도 좋다.

 

 3. 주의사항

 - 같은 이름으로 되어 있으면 안된다. UI용으로 쓰는 Character_010101과 Character_010101이 있다면 하나를 UICharacter_010101로 해주어야 한다. 그렇지 않으면 둘 중 어떤 프리팹을 로드할지 모른다. 

 

 일단 에셋들을 그룹별로 나누니까 빌드했을 때 적용이 되지 않는다. ㅜㅜㅎㅎ

 없는 에셋이라는 내용의 에러가 Logcat에 출력된다.

 - 잠깐 쓸데없는 이야기(?)를 적어보면 팀작업 할 때는 한 가지 지식에 대해서 시간을 갖고 깊이있게 다룰 수 있었는데 혼자서 많은 일을 하다보면 정신없이 개발하고 프로세스도 엉망이고 신경써야 할 것들이 많아진다. 휴~ 아무튼 한 단계씩 나아가자.

 - 팀 작업을 할 때에는 (클라 5~6명정도) 리소스 (에셋?)만 관리하는 사람이 한 사람정도 있을 정도로 리소스 관리는 중요하다. 특히, 업데이트가 있는 게임에서는

 

 해결방안

 1. Addressables Groups 창에서 Play Mode Script 가 있는데 Use Existing Build (requires build groups)를 선택하면 기기에서 빌드된 모습을 볼 수 있다는거 같은데 해보면 바탕 재질이 핑크색으로 나오는걸 볼 수 있다. 일단 뭔가 에셋이 제대로 로드되지 않는것만 파악.

 2. Group으로 나누어둔 에셋 그룹에 마우스 우클릭 해서 보면 Inspect Group Settings가 있는데 프로젝트창에 AddressablesAssetsData/AssetGroups 폴더에 에셋그룹들을 살펴보면 Content Update Restriction, Content Packing & Loading 스키마를 추가해 주었다. (Defalt Local Group) 이랑 동일한 세팅

 3. Play Mode Script를 Simulate Groups (Advenced) 로 두고 PC&안드로이드 기기상에서 플레이 해 보면 정상적으로 구동되는것을 확인할 수 있다.

 

 더 자세한 내용은 시간이 날 때 봐야겠다.

 

좋은 사이트 참조

Unity Addressable Asset System 가이드 (github.com)

 

Unity Addressable Asset System 가이드

Unity Addressable Asset System 가이드. GitHub Gist: instantly share code, notes, and snippets.

gist.github.com

 

어드레서블 에셋 시스템 - 개념: 어드레서블 API 요약 & 정리 (tistory.com)

 

어드레서블 에셋 시스템 - 개념: 어드레서블 API 요약 & 정리

요약 모든 개념을 요약해서 API의 활용에 대해 정리해보자. (어드레서블 버전 1.10.0) 에셋을 로드하는 방법은 크게 4가지 이다. ① 어드레서블 명으로 로드하기 ② 레이블로 로드하기 ③ AssetReferenc

planek.tistory.com

 

반응형

'기술 > 유니티 스터디' 카테고리의 다른 글

중요한 기초 yield return null  (0) 2022.05.12
유니티 사운드 관련  (0) 2021.12.13
유니티에서 중심축 표현  (0) 2021.08.25
유니티 최적화 링크  (0) 2021.06.03
유니티 빌드 시  (0) 2020.02.03