什么是热更新?
游戏或者软件更新时,无需重新下周客户端进行安装,而是在应用程序启动的情况下,在内部进行的资源或者代码更新
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窗口是不会有此选项的!文章来源:https://www.toymoban.com/news/detail-441622.html
在AssetBundles面板中:文章来源地址https://www.toymoban.com/news/detail-441622.html
Configure 会出现关联的AB包 Build 进行AB包的生成 Build Target:构建的平台目标(IOS,Android,windows) Output Path:输出路径 Clear Floders:是否清空文件夹,一般会选择,即在多次打包时,将原文件夹清空(即原来所有的包清空重新构建
到了这里,关于Unity热更新——AssetBundle(AB包)+管理器的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!