让Unity打包AssetBundle更轻松

AssetBundle作用

1、AssetBundle是一个压缩包包含模型、贴图、预制体、声音、甚至整个场景,可以在游戏运行的时候被加载;
2、AssetBundle自身保存着互相的依赖关系;
3、压缩包可以使用LZMA和LZ4压缩算法,减少包大小,更快的进行网络传输;
4、把一些可以下载内容放在AssetBundle里面,可以减少安装包的大小;

压缩算法选择

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

插件使用

1、打开配置窗口

在上方菜单中找到Tools->AssetBundle Browser

这里可以在ab包列表中右键新建ab包和整个文件夹的ab包,创建完成后可以直接在资源列表直接把资源拖到相应的ab包下,要想给ab包设置后缀名,必须要先给新建的ab包添加资源,然后直接重命名把后缀名添加就可以

2、打包ab 资源包

在窗口菜单Build中,设置打包平台,设置输出路径,默认输出路径在Assets 同级目录,选择压缩算法,然后直接点击下方Build就可以打包,等待打包完成后可以对打包的ab包进行加密,生成加密后的md5,以便更新ab包。

AssetBundle分组策略

1、逻辑实体分组

a,一个UI界面或者所有UI界面一个包(这个界面里面的贴图和布局信息一个包)

b,一个角色或者所有角色一个包(这个角色里面的模型和动画一个包)

c,所有的场景所共享的部分一个包(包括贴图和模型)

2、按照类型分组

所有声音资源打成一个包,所有shader打成一个包,所有模型打成一个包,所有材质打成一个包

3、按照使用分组

把在某一时间内使用的所有资源打成一个包。可以按照关卡分,一个关卡所需要的所有资源包括角色、贴图、声音等打成一个包。也可以按照场景分,一个场景所需要的资源一个包

文件校验

CRC MD5 SHA1 相同点: CRC、MD5、SHA1都是通过对数据进行计算,来生成一个校验值,该校验值用来校验数据的完整性。 不同点:

  1. 算法不同。CRC采用多项式除法,MD5和SHA1使用的是替换、轮转等方法;

  2. 校验值的长度不同。CRC校验位的长度跟其多项式有关系,一般为16位或32位;MD5是16个字节(128位);SHA1是20个字节(160位);

  3. 校验值的称呼不同。CRC一般叫做CRC值;MD5和SHA1一般叫做哈希值(Hash)或散列值;

  4. 安全性不同。这里的安全性是指检错的能力,即数据的错误能通过校验位检测出来。CRC的安全性跟多项式有很大关系,相对于MD5和SHA1要弱很多;MD5的安全性很高,不过大概在04年的时候被山东大学的王小云破解了;SHA1的安全性最高。

  5. 效率不同,CRC的计算效率很高;MD5和SHA1比较慢。

  6. 用途不同。CRC一般用作通信数据的校验;MD5和SHA1用于安全(Security)领域,比如文件校验、数字签名等。

带加密插件下载:UnityBuildAssetsBundle

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值