/// <summary>
/// 打包场景
///
/// 打包场景需要注意指定场景名字和打出ab的地址
///
/// 常规操作指定平台和输出流,输出流是为了移动平台能够读取到场景名称
///
/// 默认skybox并没有打进ab包,加载出来之后丢失了材质
///
/// 在unity中尽量使用拖拽添加引用,这样依赖关系比较明确,出问题自己也好分析
/// </summary>
[UnityEditor.MenuItem("Version AssetsBundle Build/scenes single build assetsbundle")]
public static void SceneAssetsBundle()
{
string[] path = new string[] { Application.dataPath + @"/00.Tools/7.AssetsBundle/002.VersionAB/Scenes/VersionABDemo.unity" };
//打包场景需要指定场景和地址
BuildPipeline.BuildPlayer(path, Application.dataPath + "/StreamingAssets/scenes.ab", BuildTarget.Android, BuildOptions.BuildAdditionalStreamedScenes);
AssetDatabase.Refresh();
}
打包资源与打包资源是两个不同的概念
最简单是打资源使用BuildPipeline.BuildAssetBundle
打场景的话则是使用BuildPipeline.BuildPlayer
打包场景需要注意的是
指定好打出的包的路径以及ab包的名字
打包要指定stream
用流的方式去打包场景
不然容易导致移动平台上读取不到场景
注意场景里的引用关系