[MenuItem("Export/Export Scene")]
public static void CreateScene()
{
UnityEngine.SceneManagement.Scene scene = EditorSceneManager.GetActiveScene();
if (scene != null)
{
string dest_path = EditorSceneManager.GetActiveScene().path;
string scene_name = EditorSceneManager.GetActiveScene().name;
UnityEngine.SceneManagement.Scene export = EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects,NewSceneMode.Additive);
int index = dest_path.LastIndexOf("/");
string export_path = dest_path.Substring(0,index+1);
export_path = string.Concat(export_path, scene_name, "_export.unity");
EditorSceneManager.MarkSceneDirty(export);
EditorSceneManager.SaveScene(export, export_path);
scene = EditorSceneManager.GetSceneByPath(dest_path);
export = EditorSceneManager.GetSceneByPath(export_path);
EditorSceneManager.MergeScenes(scene, export);
GameObject[] go_list = export.GetRootGameObjects();
for (int i = 0; i < go_list.Length; i++ )
{
if (!go_list[i].tag.Equals("export"))
{
GameObject.DestroyImmediate(go_list[i]);
}
}
}
}
场景导出小工具
最新推荐文章于 2024-08-15 10:19:15 发布