制作所选层次结构游戏对象的新场景

Make new scene of selected hierarchy GameObject

  void OnGUI() {

        GUILayout.Label("Hirarchey GameObject to Scene Conversion", EditorStyles.boldLabel);
        gameObjectName = EditorGUILayout.TextField("Text Field", gameObjectName);

        if (GUILayout.Button("Generate Scene")) {
            EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects);
            EditorApplication.SaveScene();

        }

此代码片段在编辑器模式按钮上运行。当我点击按钮时,它正在制作一个空场景。它会提示 window 输入场景名称并保存。但我想使用代码提供名称。这是否可以在没有弹出窗口的情况下工作以手动输入场景名称?此外,我想将场景 hirarchey 游戏对象打开到新创建的空场景(使用上面的代码)。

我认为您可以正常创建游戏对象,然后使用 SceneManager.MoveGameObjectToScene:

移动到新场景
Scene newScene = EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects);
GameObject go = new GameObject("GameObject");
SceneManager.MoveGameObjectToScene(go, newScene);
EditorApplication.SaveScene(newScene, path);

您还可以在 SaveScene 上设置路径以避免名称提示。

文档:https://docs.unity3d.com/ScriptReference/SceneManagement.SceneManager.MoveGameObjectToScene.html