반응형
코드 작성
using UnityEditor;
using UnityEditor.SceneManagement;
public class SceneMerger
{
[MenuItem("Tools/Merge Scenes")]
static void MergeScenes()
{
// 병합할 씬의 경로를 배열에 추가
string[] scenePathsToMerge = new string[]
{
"Assets/Scenes/Scene1.unity",
"Assets/Scenes/Scene2.unity"
// 추가적으로 병합하려는 씬들의 경로를 계속 추가할 수 있습니다.
};
// 새로운 씬을 만들기 (메뉴 항목에 추가될 수 있도록 새 씬을 만들 것입니다)
EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects, NewSceneMode.Single);
// 병합할 씬들을 현재 씬에 추가
foreach (string scenePath in scenePathsToMerge)
{
SceneSetup sceneSetup = new SceneSetup();
sceneSetup.path = scenePath;
EditorSceneManager.AddNewScene(NewSceneSetup.DefaultGameObjects, NewSceneMode.Additive);
}
// 씬을 저장 (필요에 따라 경로를 변경할 수 있습니다)
string mergedScenePath = "Assets/Scenes/MergedScene.unity";
EditorSceneManager.SaveScene(EditorSceneManager.GetActiveScene(), mergedScenePath);
}
}
반응형