본문 바로가기
프로그래밍/Unity

Unity 3D - BuildPipeline AssetDependencies

by neive 2014. 11. 5.
728x90

프로젝트를 진행하다 에셋 번들을 만드는데.. 일반적인 방법으로 제작을 했더니 용량이 어마어마 했다

뭐 보나마나 리소스의 중복이겠지... BuildAssetBundleOptions.CollectDependencies + BuildAssetBundleOptions.CompleteAssets 의 남발 ㅋㅋ


그래서 직접 빌드파이브라인을 건드려서 테스트를 해보기로 했다. 이 기능이 반드시 필요할 텐데 국내나

해외쪽에서도 정보가 그다지 많지 않았다는게 신기... 아니면 너무 쉬운거라 거론할 가치도 없었던 것이거나...

(난 바보인가 ㅠ.ㅠ)


실험을 위해 위와 같이 그냥 용량만 큰 bmp 파일 2개로 머티리얼을 제작.. 프리팹 3개에 나눠 쓰잘 때기 없이 중복으

로 써준다


내용은 그냥 머티리얼...


그리고 이 무자비한 머티리얼이 쓰인 프리팹을 테스트 씬 4개 정도 만들어서 막 써준다


1에는 1만 2에는 2만 3에는 1+2가 된 3을 4에는 1,2,3 를 다 배치한다


그리고 저와 이 글을 보고 계신 분이 흔히 쓰는 에셋 번들 굽기로 unity3d 파일을 제작.. Resource 부분과 Scene 을 나눠서 굽굽


그리고 다운로드 후 http://webplayer.unity3d.com/setup/ 에서 확인... 자비 없는 1.4매가...


캐쉬를 까보면.. 그래도 약간의 자비는 있네요 1씬에서 쓰인 1번 리소스 만큼의 용량만 가지고 갔네요..

역시 2씬에서 쓰인 2번 리소스 만큼의 용량.. 3, 4는 이미 1,2 에서 쓰인 리소스기 때문에 추가 증가는 없었습니다

그리고 리소스 번들에는 1,2번이 다 있으니까 두개의 합 만큼...

캬.. 이렇게 써놓으니 무슨 일이 일어나고 있는지 이해가 잘 가시죠? ㅎㅎ


이제 BuildPipeline AssetDependencies 을 써서 구워봅시다...


아.. 후련하네요 딱봐도 위의 케이스랑은 다른걸 알 수 있습니다.. 리소스쪽에만 몰빵

실제 다운로드 받고 불어나는건 아닌가- 노파심에 다운로드 받아 캐쉬된 정보를 봐도 역시 반토막

캐쉬 정보를 보면 역시나 리소스만 들고 있고 씬은 프리팹을 하나도 가지고 있지 않습니다


그리고 씬4를 다운로드 받은 것으로 실행해 봐도 배치해둔 프리팹은 잘 표시 되네요 :)

모처럼 스샷과 함께 잘 올려뒀으니 AssetDependencies 를 잘 추려서 하면 어떤 효과가 있는지 그냥 좋아진다더라-

가 아닌.. 체감적으로 아셨으리라 봅니다... 많은 도움되시길 (소스도 올려야지 아놈아 ㅋㅋ 그러나 이건 봐서... )


728x90

댓글