unity热更新--AssetBundle基础

unity的热更新基础:AssetBundle
unity的热更新基础:lua语法
unity的热更新的解决方案:xlua tolua

AssetBundle
1:是什么?---------------------------------特定于平台的资产压缩包,包括:模型、贴图、预设体、音效、材质球等
2:有什么用?

①:相对于Resouse下的资源,AB包中更好管理
Resources在打包是只能定死,不能修改
AB包的存储位置可自定义,压缩方式可自定义,后期可以动态更新。
②:减小包的大小:压缩资源 减少初始包的大小
③:热更新:资源热更新,脚本热更新
热更新的基本规则:
①:客户端带有很少的默认资源,资源对比文件
②:从服务器管获取资源服务器地址
③:通过资源对比文件,检测那些文件需要更新,那些需要下载。
在这里插入图片描述

3:如何生成?
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述

其中不带后缀的是资源信息,带后缀的是配置信息。
关于其中的Build
BuildTarget:目标平台
Output PAthena:目标路径
Clear Folders:是否清空文件夹,重新打包
Cope To StreamingAssets:是否拷贝到StreamingAssets
Compression:压缩 —①:NoCompression:不压缩,解压快,包较大,不推荐使用
**②:LZMA:压缩最小,解压慢。用一个资源要解压所有。 **
③:LZ4:压缩相对LZMA大一些,建议使用。用什么解压什么,内存占用小
ETI:在资源包中,不包含资源的类型信息
FR:在重新打包是需要重新构建包,和ClearFodles不同是,FR不会删除不在存在的包
ITTC:增量构建检查时,忽略类型数的更改
Append Hash:将文件哈希值附加到资源包名上
SM:严格模式,如果打包时报错了,则打包直接失败无法成功
DRB:运行时构建
4:如何使用?
在这里插入图片描述同一个AB包不能被加载两次,不然会报错
异步加载AB包
在这里插入图片描述把所有AB包卸载,并且把通过AB包加载的场景内的资源也全部卸载掉!!!
AssetBundle.UnloadAllAssetBundles(true);
只把AB包卸载
AssetBundle.UnloadAllAssetBundles(true);

在这里插入图片描述上图是只卸载AB包,不卸载AB包相关资源。

依赖
在这里插入图片描述在这里插入图片描述

5:AB包资源加载器。
异步加载,通过委托将资源传递给外部。外部来使用
https://www.bilibili.com/video/BV1LD4y1m7kF?p=5
b站唐老狮的AB包资源管理器

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值