Assetbundle资源打包

1、粗谈

Assetbundle是unity资源管理的核心并且存在着很多坑,如何将某些资源合理的规划分包将影响到内存以及热更包体大小,市面上不同项目有着不同的策略,合理的分包设计要从项目实际情况出发来决定。

2、分享(这篇文章简略的分享下本人在实作的一个方案) 

        前置知识:unity在打包某个资源a到A包时,如果被依赖的资源b我们没有主动将他设置成其他包,那么a和b会最终进入到同一个A的AB里,比较坏的情况是c也依赖了b,我们把c打进C时,b也会有一份存到C的AB中。因此根据这种情况通常有两种方案

1:官方以及部分项目一般是以如根据实体来合包、根据资源的通用性合包等,这样需要人工深度介入并且由于在调用buildassets后会因为自动关联资源到AB造成较多的冗余

2:根据主资源构造有向无环图打包(本人实作的方案):

优点:

          1、可以保证资源在ab内的分包为0冗余,对于大的项目资源总体上相对来说具备一定优势,

          2、热更也可以做到不需要人工参与并且热更包大小从理论上可以达到最小。

          3、只需要收集主资源,可以选择性的控制由程序根据目录直接设定或者根据策划配置的资源表来操控。

缺点:

        1、自动解析带来的粒度会更细,AB包头内存占用会增加

        2、需要较为严谨的实现,实作过程中遇到不少坑的地方,如获取资源依赖的接口就可能遇到不是所期望的,具体还需要对引擎有一定了解才行

        

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值