C# 创建所选层次游戏对象的新场景

C# 创建所选层次游戏对象的新场景,c#,unity3d,editor,scene,C#,Unity3d,Editor,Scene,此代码段在编辑器模式按钮上运行。当我点击按钮时,它正在生成一个空场景。它会提示窗口输入场景名称并保存。但我想使用代码提供名称。这是否可以在没有弹出窗口手动输入场景名称的情况下工作?此外,我还想将scene Hirarchy gameobject打开到新创建的空场景(使用上述代码)。我认为您可以正常创建游戏对象,然后使用SceneManager移动到新场景。MoveGameObjectToScene: void OnGUI() { GUILayout.Label("Hirar

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

我认为您可以正常创建游戏对象,然后使用SceneManager移动到新场景。MoveGameObjectToScene:

  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();

        }
还可以在SaveScene上设置路径,以避免出现名称提示


文档:

谢谢你,但是在哪里可以找到新创建的场景并阅读完整的问题请使用NewScene方法返回场景。您可以将其存储以供以后使用。我已经更新了我的答案,显示了它。我看到您希望在没有名称提示的情况下使用它,您将此代码放在哪里?您好,我认为如果您在SaveScene()上设置路径,您可以避免名称提示。再次更新答案。谢谢,但SaveScene没有包含路径的第二个参数。我使用的是5.3 unity。此外,我想将hirarchy或资产文件夹对象添加到新创建的场景中,但当此代码运行时,新场景将打开,我错过了层次对象。
Scene newScene = EditorSceneManager.NewScene(NewSceneSetup.DefaultGameObjects);
GameObject go = new GameObject("GameObject");
SceneManager.MoveGameObjectToScene(go, newScene);
EditorApplication.SaveScene(newScene, path);