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

尊重原创,转载请注明出处,谢谢!

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

评论 21
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值