首页 > 编程语言 > 详细

Unity3d 开发(七)AssetBundle组织目录

时间:2016-01-19 12:47:49      阅读:171      评论:0      收藏:0      [点我收藏+]

本文探讨如何配置一个AssetBundle更为合理。


对于结构为

技术分享

的目录结构,其中shared是Hero目录下需要用到的公用资源,即公有依赖。可采用如下的打包策略

整个目录打包

将整个100001目录标记为一个包,打包完成后它将依赖shared。

Assets:
- Assets/Characters/Hero/100001/Model/Materials/bianshi_w.mat
- Assets/Characters/Hero/100001/Model/Materials/bianshi_01.mat
- Assets/Characters/Hero/100001/Model/bianshi_01.jpg
- Assets/Characters/Hero/100001/Model/100001.FBX
- Assets/Characters/Hero/100001/100001.prefab
- Assets/Characters/Hero/100001/override.overrideController
- Assets/Characters/Hero/100001/Model/bianshi_w.JPG
Dependencies:
- AssetBundles/Android/shared

大小为120k,shared为4K

只标记预设

将用到的预设标记为一个包,其他资源自动依赖。

Assets:
- Assets/Characters/Hero/100001/100001.prefab
Dependencies:
- AssetBundles/Android/shared

大小为117k,shared为4K

可见当包中文件多时,是会增加大小的。我比照了载入文件,它们完全一致。我可以推测多出来的字节数应该为文件标识,即为了能够根据不同的名字找到资源,需要承担存储标签的开销。

所以结论是:在无需区分文件时,尽量不要在Bundle中区分不同的文件。

DLC适配

如果需要为资源设置多种模型、材质、贴图匹配,就要更改Variant的配置。所以就需要将资源单分成一个包,并为其指定变量类型。

结论

综上所述,打包的目录结构应该是为

  • 预设文件单独指定包。
  • 资源目录如果不需区分DLC则不用处理。如需区分资源要整目录打包,并设置变量,然后在载入时更改AssetBundleManager.ActiveVariants

Unity3d 开发(七)AssetBundle组织目录

原文:http://blog.csdn.net/fansongy/article/details/50541666

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!