尊重原创,转载请注明出处,谢谢!
http://blog.csdn.net/y1196645376/article/details/52492294
我们知道在Unity5.x开始推出新的AssetBundle打包策略,给出的新的打包以及解包的Api。在处理资源依赖关系的时候较旧版本的显得方便了许多。
然而,在使用的过程中我们发现,新的解包Api( AssetBundle.CreateFromFile )不支持压缩过的AssetBundle。也就是说要求在打包AssetBundle的时候要求使用 BuildAssetBundleOptions.UncompressedAssetBundle模式。所以,我们就要自己对打包好的资源进行压缩,解压。
这里我主要介绍两个压缩方式:LZMA ( Unity对于AssetBundle原本的压缩方式 ) ,GZIP
这两个压缩库在官网上都是能够下到源码。不过,源码中给出的压缩函数都是同步的。所以,不能够直接在Unity中使用。而且,压缩过程中不支持返回progress(进度)。所以我修改了源码一些地方,对压缩、解压文件的接口封装了一下,然后添加了progress回调接口。至于修改地方我就不大半页去叙述,而且也没必要叙述。我会给出两个工具源码的下载地址和我修改后的源码地址。如果有兴趣的可以自行阅读修改。这篇文章主要是讲这个工具如何使用。
LZMA 官网下载地址:http://www.7-zip.org/sdk.html
GZIP 官网下载地址 :http://icsharpcode.github.io/SharpZipLib/
我修改后的工程(包含LZMA,GZIP,UP