unity打包AssetBundle包的几种压缩方式介绍

Posted lu-xi

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了unity打包AssetBundle包的几种压缩方式介绍相关的知识,希望对你有一定的参考价值。

  Unity资源打包目的就是把一部分游戏资源或是需要热更的资源从游戏安装包中分离出来,降低安装包的大小,在热更或加载资源时再从服务器下载所需资源,当然已经下载的资源和不需要更新的资源不需要重复下载,Unity的打包可以也只能在unity的编辑器下进行,比如可以用unity提供的接口如下面代码所示:

public static AssetBundleManifest BuildAssetBundles(string outputPath, BuildAssetBundleOptions assetBundleOptions, BuildTarget targetPlatform);

  这个方法有三个参数,第一个是打包的路径,相对于游戏项目的根目录;第二个是打包压缩的方式;第三个是包的目标平台,第一个和第二个不需要多做说明,大家都能明白,主要介绍一下第二个参数几种压缩方式各有什么优劣。  

  BuildAssetBundleOptions.None:使用LZMA算法压缩,压缩的包更小,但是加载时间更长。使用之前需要整体解压。一旦被解压,这个包会使用LZ4重新压缩。使用资源的时候不需要整体解压。在下载的时候可以使用LZMA算法,一旦它被下载了之后,它会使用LZ4算法保存到本地上。
  BuildAssetBundleOptions.UncompressedAssetBundle:不压缩,包大,加载快
  BuildAssetBundleOptions.ChunkBasedCompression:使用LZ4压缩,压缩率没有LZMA高,但是我们可以加载指定资源而不用解压全部。

  注意使用LZ4压缩,可以获得可以跟不压缩想媲美的加载速度,而且比不压缩文件要小。

以上是关于unity打包AssetBundle包的几种压缩方式介绍的主要内容,如果未能解决你的问题,请参考以下文章

python-29 python解压压缩包的几种方法

Unity中资源动态加载的几种方式比较

AssetBundle Browser 教程丨Unity自带的一款AB包打包工具

Unity LZMA GZIP 压缩解压文件 和 打包文件夹 (支持进度回调)

linux打包,压缩,解压的几种方式用法

谈谈我用Unity5的AssetBundle踩到的几个坑