这一篇主要讲的只有一个点,就是关于AB打包时的压缩方式的选择。
第一篇中,打包的代码中有一句是
BuildPipeline.BuildAssetBundles(RES_OUTPUT_PATH, BuildAssetBundleOptions.ChunkBasedCompression, BuildTarget.StandaloneWindows64);
BuildAssetBundleOptions:
None : 没有任何特殊要求。
UncompressedAssetBundle : 不压缩。
DisableWriteTypeTree : Assetbundle中不包含Type信息。TypeTree将在后面提到。
DeterministicAssetBundle : 使用资源的Hash ID来导出AssetBundle。使用ID可避免资源改名、移动位置等导致重新导出。
ForceRebuildAssetBundle : 强制重新导出。对已有的AssetBundle,在资源没有变化时,Unity不会重新导出。
IgnoreTypeTreeChanges : 增量打包时忽略Type信息变化。
AppendHashToAssetBundleName : 在AssetBundle名称后添加”_”加上Hash值。
ChunkBasedCompression : 使用块压缩,即LZ4压缩。
Unity为我们提供了三种压缩策略来处理AB的压缩,LZMA格式,LZ4格式,不压缩。