当前位置:   article > 正文

Unity热更新——AssetBundle(AB包)+管理器

unity热更新

什么是热更新

游戏或者软件更新时,无需重新下周客户端进行安装,而是在应用程序启动的情况下,在内部进行的资源或者代码更新

1、了解AB包是什么:

特定于平台的资产压缩包,有点类似压缩文件,资产包括:模型、贴图、预设体、音效、材质球等等

2、AB包有什么作用:

相对Resources下的资源,AB包更好管理资源,区别是:

AssetBundle Resources
可以从网络下载,也可以本地自己打包,资源可以分布在多个包 在打包的时候会压缩一起打包,包括许多无用文件
存储位置可自定义 Resouces文件夹下
压缩方式可定义 只能压缩为二进制
后续可以动态更新 只读(只能通过Resouces.Load加载),无法修改

作用是:

(1)减少包体大小:压缩资源(节约硬盘空间),减少初始包大小

(2)热更新:

资源热更新:对模型、贴图等进行更新

脚本热更新:版本更新添加活动等

热更新基本规则:

3、生成AB包资源文件

(1)Unity编辑器开发,自定义打包工具

(2)官方提供好的打包工具:Asset Bundle Browser

路径:Window->Package Manager->搜索Asset Bundle Browser,加载成功后在Window窗口会有AssetBundles

注意:高版本Unity用Addressables(以后会学习)功能封装了AB包功能,在Package Manager中可能搜不到Asset Bundle Browser,如果要使用在github上下载压缩包后解压到Packages文件夹下即可

注意:U3D中的C#脚本不能被打包为AB包,所以采用Lua热更新(注意:物体的组件本质是根据反射来对数据进行解析,因此真正打包的不是C#代码本身,而是组件关联的数据)

在资源的Inspector窗口最下方有一个AssetBundle窗口,第一个窗口是包名,第二个窗口是后缀名(一般不修改),注意是针对预设体而言,如果是Heirachy中的对象在Inpector窗口是不会有此选项的!

在AssetBundles面板中:

Configure 会出现关联的AB包
Build 进行AB包的生成 Build Target:构建的平台目标(IOS,Android,windows)
Output Path:输出路径
Clear Floders:是否清空文件夹,一般会选择,即在多次打包时,将原文件夹清空(即原来所有的包清空重新构建
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/Monodyee/article/detail/341624
推荐阅读
相关标签
  

闽ICP备14008679号