1.AB包的基本概念和作用

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

×

喜欢就点赞,疼爱就打赏