刚做完资源unity5资源更新模块,做一些总结方便以后学习
unity5资源打包,资源被打包的比较散。
1:打包的时候通过代码自动设置assetbundleName。
2:根据资源的名称,带_AB的文件为原资源文件,原资源文件统一放到dependencys文件夹下,这样有效的防止资源重复打包
如图:
3:因为自带的manifest不能合并,所以自己维护一个xml记录依赖关系,打包的时候自动向这个xml插入,修改,删除,资源和依赖关系
4:生成assetbundle好以后,自动对资源进行加密
5:使用www加载的时候,先加载xml获得总的依赖关系,放到内存里,然后通过要加载资源的名字,获得该资源的依赖关系。
加载好这个资源的依赖关系后,再加载该资源的assetbundle,注意加载场景的时候不能unload
6:资源打包好以后放到服务器,资源更新。如果工程的streamasset下面有资源,则先把streamAsset下面的资源中的version和rr复制到持久化目录。
资源更新的时候:先对比持久化目录中的version 如果相同说明资源和服务器相同
如果不相同对比持久化的rr和服务器的rr,找到要下载的资源,通过www下载,序列化的到持久化目录中
7:工程中所有使用asstbundle 的资源,都是通过LoadABManager这个类进行加载, 先看持久化有没有资源,没有的化找sttreamAsset文件夹下。(web平台直接用服务器地址)
参考的url:
http://www.aiuxian.com/article/p-2206704.html
http://liweizhaolili.blog.163.com/blog/static/162307442015282017852/
http://www.cr173.com/html/17773_1.html
工程地址:
百度网盘: csdn博客栏/ untiy5资源打包更新模块