终于开始处理每个项目都会遇到的assetbundle的问题了。
研究了一下,还是使用传统的手动代码打包方式,好处是可以更细粒度的掌控好资源分包。
而且打包时,有些资源必须提取为公共包。
举例:
1、两个UI,打两个assetbundle包,如果将依赖全打进去,则会发现,unityengine.ui.dll两个包都被打进去了。遇到这种情况,我们就可以将重复资源提取出来,打为一个公共包。
如果打为公共包,则如何组织包的结构是一个大问题。
现在初步的想法是,最大限度的避免重复的资源,如果资源分的太细,导致某个assetbundle依赖过多时,则使用多线程将文件读入内存(避免读取过慢导致耗时过长),单线程内存中加载。
备用方案,最细粒度打包资源,在玩家手机上合并资源为一个拥有所有依赖的整包,这样也可以同时避免了加载依赖导致的耗时。只是会在玩家第一次打开游戏时,会有一个合并包的过程。
0 条评论。