AB包定义作用
1.压缩大小
2.热更新使用
使用流程
对要打包的资源进行设置
C#脚本不能打成AB包,因为C#在Unity中会编译成中间文件。
参数相关
Build的路径(随意只要是在硬盘上都可以的)
BuildAssetBundleOptions
BuildAssetBundleOptions.None:使用LZMA算法压缩,压缩的包更小,但是加载时间更长。使用
之前需要整体解压。一旦被解压,这个包会使用LZ4重新压缩。使用资源的时候不需要整体解压。
在下载的时候可以使用LZMA算法,一旦它被下载了之后,它会使用LZ4算法保存到本地上。
BuildAssetBundleOptions.UncompressedAssetBundle:不压缩,包大,加载快
BuildAssetBundleOptions.ChunkBasedCompression:使用LZ4压缩,压缩率没有LZMA高,但是
我们可以加载指定资源而不用解压全部注意使用LZ4压缩,可以获得可以跟不压缩想媲美的加载速度,而且比不压缩文件要小。
BuildTarget选择build出来的AB包要使用的平台
创建AB包
创建AB包,使用BuildPipeline类中的方法
private static readonly string AbPath = Application.streamingAssetsPath;
[MenuItem("Tools/CreateAB")]
static void CreateAbPack()
{
BuildPipeline.BuildAssetBundles(AbPath, BuildAssetBundleOptions.UncompressedAssetBundle, BuildTarget.Android);
AssetDatabase.Refresh();
}