AssetBuddle(一)

一·含义

一个压缩文件,针对于特定平台的资产压缩包。资产包括模型,贴图,预制体,音效,材质球等,注意不包括c#脚本。

二·作用

相对于resource文件夹下面的东西打包后定死只读,无法修改。

AB包可以从网络上去下载,也可以从本地自动打包,压缩方式可以自定义,后期可以动态更新,相对于resource更灵活。

1.可以减少包体的大小,可以压缩资源,可以减少初始包的大小,比如打包出去可以放到远端服务器上面,一开始的时候先是一个很小的包,通过网络更新,先下载一个小包,进入游戏后再慢慢下。

2.资源的热更新,比如特定的节日活动,脚本的热更新主要是用来更新Lua脚本

热更新流程:

AssetBuddle(一)

客户端自己带很少的·默认资源,第一步先获取资源服务器的地址,然后来到资源服务器下载一个资源对比文件,在资源服务器中检索哪些进行了更新,哪些需要下载,然后下载对应的AB包。

AB包是热更新的基础。

三。生成AB包的资源文件

1.用unity编辑器开发,自定义打包工具

 

2.官方提供好的打包工具

新建工程->Window->packege manager->搜AssetBuddle Browser->点击安装

安装完毕之后就可以在Windows中找到AssetBudlle,

如何让资源和AB包关联并且打包出来?

选中想要打包的资源,在inspector面板上下面有一个AssetBundle,点击new,取一个包名,这时可以在面板上看到创建的包。 

AssetBuddle(一)

 

注意点:unity中C#代码是不能打包成AB包的,所以需要lua进行热更新。

 

 预制体本质上就是一个文件,里面是文件信息,所以预制体不是把脚本打成AB包而是把关联的数据达成AB包。

最终的打包,对应的Build Target要选择默认的平台,如果要对应不同的平台,那么需要重新打包。

AssetBuddle(一)

 

 

 下面的clear Folder的意思是每次打包的时候是否清空文件夹。

Copy to StreamingAssets,勾上的话会默认把打包的文件夹中的东西复制到StreamingAssets(默认都勾选上)

AssetBuddle(一)

 

 Compression是打包的方式()

不压缩(解压快,包大)

标准解压:压缩率最高,但是解压慢,用其中一个东西需要解压所有。耗性能

LZ4():没有标准解压高,但是用哪个解压哪个。(推荐)

Build后刷新资源文件,可以看到路径,在·文件夹下可以看到实际的路径

AssetBuddle(一)

 

打包到pc文件夹下 

AssetBuddle(一)

 

 打开StreamingAssets文件夹下,那些没有后缀的就是资源文件,如果后缀带了manifest的就是相关资源文件的配置文件。

AssetBuddle(一)

 四,使用AB包资源文件

使用unity中的API

 

AssetBuddle(一)

上一篇:剑指offer打卡 week1


下一篇:POJ2406 Power Strings