Unity AssetBundle关注点

本文探讨了Unity AssetBundle的依赖关系,指出一个包如a依赖b包时,加载b时会递归加载其依赖c。打包时会产生多个manifest文件,发布时只需总manifest。BuildPipeline.BuildAssetBundles应避免多次调用,以保持包的组织逻辑。此外,详细解释了差异包的概念,强调逻辑粒度对差异包效果的影响,并给出了若干逻辑粒度示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

依赖关系

假如a包依赖b包,b包又依赖c包,那么a的依赖关系是b包还是 bc两个包呢,通过实验知道,a只是依赖b包,加载b包的时候需要加载c包,也就是说加载的时候需要递归加载。

manifest 文件

打包的时候会生成很多manifest文件,游戏发布的时候只需要发布总的那个manifest文件就好了,里面会记录各个包的依赖关系,而且依赖关系是相对打包的输出目录的,具体包的manifest文件没有必要发布,如果要验证具体包的hash仍然可以通过总manifest文件获得具体包的hash,所以不用发布具体包的manifest文件。

BuildPipeline.BuildAssetBundles

通过逻辑组织,只调用这个函数一次是最好的。调用多次会生成很多总包的manifest文件,会打乱包的组织逻辑。

差异包

差异包生成是建立在ab包根据逻辑粒度划分出来的,逻辑粒度如果非常大那么差异包效果就会降低,相对的,逻辑粒度小ab包数量过于庞大,就会造成游戏加载ab包数量过多,管理混乱。
一般来说一个逻辑粒度是一个ab包,典型的:
UI基本图片包
一个npc就是一个包
一个地图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

当当小螳螂

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值