12.资源打包加载-理论
12.1 知识点
资源打包是指什么
资源打包是指,将可寻址资源打包到AssetBundle资源绑定包中。以前我们学习AssetBundle时需要我们自己写代码或者通过工具进行打包,现在Addressable将这个过程自动化了。可寻址资源中资源一般以组为单位进行打包。最终的AB包数量,都是基于资源组决定的。
打包好的AB包,我们可以自定义如何使用它们。
- 发布游戏时所有AB包作为原始资源一起打包出去(这样做的目的仅仅是单机游戏为了减小游戏包体)。
- 将AB包放到远端服务器,发布游戏时只打包必备资源(这样做的目的是不仅可以减小包体,还可以进行热更新)。
资源打包的模式
之前在讲解Packed Assets配置相关时,有一个打包模式的字段Bundle Mode。我们有三种打包的方式:
- Pack Together:创建包含组中所有资产的单个包。
- Pack Separately:为组中的每个类型的资源创建一个包。如精灵图片中的精灵图片被包装在一起。
- Pack Together by Label:为共享相同标签组合的资产创建一个包。
一般情况下,我们都使用第一种模式,按组来进行打包,所以我们在整理资源时要尽量合理。
资源打包的注意事项
场景资源始终有自己单独的包:
- 当一个可寻址包中有场景资源和普通资源时,场景资源和其它资源始终会被分开打包,即该组会生成两个包,一个场景的,一个其它资源的。
资源依赖的注意事项:
- 如果资源a和资源b都使用了资源c,但是资源a和b是可寻址资源但不在一个组中,而c不是可寻址资源,那么这时资源c分别会被打进a和b的包,相当于这时的c就被重复利用了,浪费了空间。
- 较好的解决方案是将c也作为可寻址资源,即 a-A包、b-B包、c-C包。这时c不会被打进A、B包,A、B包只会依赖于C,而Addressable会自动帮助我们处理依赖问题。
- 注意:在使用图集时,尤为要注意这个问题,当不同包中内容使用同一个图集中图片时,建议大家将图集也作为可寻址资源,并且有专门的一个图集包,让其它使用图集中图片的对象会对该图集包产生依赖。
合理安排可寻址资源分组:
- 同类型,同作用放一起,比如:角色组、怪物组、武器组、衣服组、登录UI组、装备UI组、音效组、可变贴图组、图集组等等。
关于包的数量(分组的数量):
- 要根据实际情况来对资源进行布局,包(分组)过多、包(分组)过大都不太好,要根据自己的实际情况进行组的安排。
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com