BundleBuildParameters param = new BundleBuildParameters(platform, group, m_outputPath);
param.BundleCompression = platform == BuildTarget.WebGL ? BuildCompression.LZ4Runtime : BuildCompression.LZ4;
IBundleBuildContent content = new BundleBuildContent(abb);
IBundleBuildResults result = new BundleBuildResults();
ReturnCode code = ContentPipeline.BuildAssetBundles(param, content, out result);
switch (code)
{
case ReturnCode.Success:
WriteManifest(platform, group, result);
break;
case ReturnCode.SuccessCached:
break;
case ReturnCode.SuccessNotRun:
break;
case ReturnCode.Error:
break;
case ReturnCode.Exception:
break;
case ReturnCode.Canceled:
break;
case ReturnCode.UnsavedChanges:
break;
case ReturnCode.MissingRequiredObjects:
break;
}
这里打包方式使用得是Scriptable Build Pipeline资源包中新得接口ContentPipeline.BuildAssetBundles()进行ab包得构建
传统得打包方式是BuildPipeline.BuildAssetBundles
新得ContentPipeline.BuildAssetBundles打包方式需要提供三个参数 BundleBuildParameters、IBundleBuildContent 、IBundleBuildResults
BuildParameters主要提供了一些构建参数,比如构建的目标平台、输出路径(ab包输出路径)、压缩格式等等。
IBundleBuildContent 则是供SBP(Scriptable Build Pipeline)来使用被构建为Assetbundle的Asset列表
BundleBuildResults则保存了脚本编译以及AssetBundle构建的一些比较详细的结果。