본문 바로가기
개발/C#

유니티 C# 씬 병합하기 간단 구현 Scene Additive

by SPNK 2024. 2. 26.
반응형

코드 작성

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);
    }
}
반응형

댓글