1.AB包的基本概念和作用
1.1 知识点
学习目标
了解AB包是什么
特定于平台的资产压缩包,有点类似压缩文件
资产包括:模型、贴图、预设体、音效、材质球等等
资产不包括:c#代码
了解AB包有什么作用
相对Resources下的资源,AB包更好管理资源
减小包体大小
压缩资源
减少初始安装包大小
热更新
资源热更新
脚本热更新
1.2 练习题
请写出热更新的概念是什么?Unity中热更新的流程是什么?
- 概念:指不需要重新下载游戏客户端,在游戏内部进行即时更新
- 为什么要用热更新:
- 防止用户流失;每次更新如果下载庞大的客户端安装包,容易导致用户流失
- 微端;可以让初始安装包极小,进了游戏再更新游戏内容
- 可以做到“狸猫换太子”;先下个羊,进了游戏再变成狼
- 流程(每次进游戏都会走):
- 版本号比较,如果版本号不同才继续下面的流程(可选,也可以直接下载)
- 下载对比文件,下载资源服务器上的的对比文件
- 对比,用下载的文件和本地文件对比,记录改变的和新增的
- 下载资源,下载刚才记录的文件——一般放在Application.persistentDataPath
- 解压(可选)——如果文件是压缩过的,要先解压
- 覆盖本地对比文件;保证下载成功后 将下载的对比文件 覆盖本地的
- 对比文件常用技术:MD5码对比
AB包资源加载和Resources资源加载有什么区别?
- API不同
- Resources加载的资源 一定得放在Resources文件夹下
- AB包理论上来说放在任何地方都可以 但一般都放在Application.streamingAssetsPath或Application.persistentDataPath
- AB包中是资源集合,Resources下都是单个资源
AB包对于我们来说有什么作用?
- 减少包体大小:因为打AB可以选择压缩,压缩后可以有效减少包体大小
- Unity中热更新的基础:我们会把资源、Lua脚本打包成AB包,用于热更新
转载请注明来源,欢迎对文章中的引用来源进行考证,欢迎指出任何有错误或不够清晰的表达。可以在下面评论区评论,也可以邮件至 785293209@qq.com