AssetBundle打包与创建
一、需求分析
(一)、AssetBundle是Unity自带的一种文件存储机制
- 将不同的功能存放
- 主要学习AssetBundle的使用,为后面的热更新做准备。
二、知识点
(一)、原理知识
1、AssetBundle的定义和作用
-
作用
- AssetBundle是一个压缩包,里面可以包含模型、贴图、Prefab、声音、场景等;可以在游戏运行的时候被加载。
- AssetBundle自身保存着相互的依赖关系
- 压缩包可以使用LZMA和LZ4压缩算法,减少包的大小,更快的进行网络传输
- 把一些可以下载的内容放在AssetBundle里面,可以减少安装包的大小。
-
AssetBundle是什么
- 就是一个文件,可以看做文件夹或者压缩包,主要分为serialized file(序列化文件)和resource files(源文件)。
- serialized file :资源被打碎放在一个对象中,最后统一被写进一个单独的文件(只有一个)
- resource file:某些二进制资源(图片、声音)被单独保存,方便快速加载
- 就是一个文件,可以看做文件夹或者压缩包,主要分为serialized file(序列化文件)和resource files(源文件)。
-
AssetBundle是一个我们可以通过代码从一个特定的压缩包加载出来的对象,里面包含了我们当初添加到压缩包里面的所有的内容,我们可以通过这个对象加载出来使用。
2、AssetBundle使用流程图
3、AssetBundle使用流程
- 指定资源的AssetBundle属性
- (xxxa/xxx)这里xxxa会生成目录文件,名字为xxx
- 构建AssetBundle包
- 上传AB包到服务器
- 加载AB包和包里面的资源
4、AssetBundle分组策略(仅供参考)
- 逻辑实体分组
- 一个UI界面或者所有UI界面一个包(这个界面里面的贴图和布局信息一个包)
- 一个