赞
踩
这篇文章,解决的是AssetBundle打包的时候,生成最小资源的问题。
我们要解决的问题是
把上述的依赖结构切分成如下的结构
然后打包导出ab的最小依赖树
实际上这篇文章是一个算法问题,把依赖项都找出来,然后把不需要的节点去掉,把共同依赖的节点独立出来,把能合并的合并,保证每一份资源只有独立一份,没有冗余。
我们都知道Unity 5.x之后,AssetBundle导出发生了很大变化。最大的区别是提供了一套新的导出机制,包括统一接口,assetBundleName和assetBundleVariant,依赖关系自动化处理,可以不像4.x那么需要自己保存依赖关系,然后使用pop和push的接口打包了。
Unity 5.x能够自动化处理依赖关系,但很容易导致共享依赖资源被重复打入多个ab中,导致资源形成大量冗余。
我们可以知道Unity解决的是——导出输入节点的ab,其ab包含其所有依赖内容,并对输入ab之间形成依赖节点关系
。
不是很好懂是不是,那看下图
根据原依赖图,如果A和B是prefab,共同依赖材质C,C依赖图集D。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。