Unity GameFramework框架笔记-资源管理之AssetBundleBuilder

AssetBundleBuilder

将AssetBundleEditor编辑的资源和ab生成各平台、各类型(单机、热更、Packed)的ab包

 

压缩方式

BuildAssetBundleOptions.None:默认压缩方式,LZMA 压缩格式,压缩后最小,解压时间较长,使用前需要先解压 ,使用 UnityWebRequestAssetBundle加载,会自动重新压缩为LZ4,

BuildAssetBundleOptions.UncompressedAssetBundle:不压缩,文件最大,加载最快

BuildAssetBundleOptions.ChunkBasedCompression:LZ4,比LZMA大,“分块”解压,加载速度与未压缩相当,还可以减少硬盘占用。

UGF采用LZ4压缩,然后再次zip压缩

 

打包流程

GetBuildMap

将AssetBundle和Asset转换为AssetBundleData、AssetData

再转换为AssetBundleBuild数组

 

BuildPipeline.BuildAssetBundles

根据各个平台生成ab文件到各自平台的workingPath

 

ProcessAssetBundle

将各个平台workingPath的ab进行加密、压缩、添加后缀等处理,添加到各个类型的Path

 

加密方式

LoadFromMemoryAndDecrypt

LoadFromMemoryAndQuickDecrypt

采用异或加密,区别在于LoadFromMemoryAndQuickDecrypt只加密前220位

OutputFull:多一步zip压缩,减少更新流量消耗

 

资源信息解析

ProcessPackageList:生成单机ab包的version.dat,对应ResourceManagerResourceIniter.ParsePackageList

ProcessVersionList:生成热更ab包的version.dat,对应ResourceManager.ResourceChecker.ParseVersionList

ProcessReadOnlyList:Packed包的list.dat,对应ResourceManager.ResourceChecker.ParseReadOnlyList

ProcessVersionList 包含非Packed和Packed的asset信息 所以ProcessReadOnlyList不包含Packed的asset信息

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值