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构建的一些比较详细的结果。
这篇博客介绍了如何利用Unity中ScriptableBuildPipeline的新接口ContentPipeline.BuildAssetBundles进行AB包的构建。该方法需要BundleBuildParameters、IBundleBuildContent和IBundleBuildResults作为参数,提供了更灵活的构建配置,如目标平台、输出路径和压缩格式。构建完成后,根据返回的ReturnCode,可以执行不同的后续操作,如写入manifest文件。
1203

被折叠的 条评论
为什么被折叠?



