使用
New Scene 对话框
从特定场景模板创建新场景。
使用
菜单
或者
Project 窗口
从项目的 Basic 场景模板创建新场景,无需打开 New Scene 对话框。
直接
通过一个 C# 脚本
从特定模板创建场景。
Unity 从场景模板创建每个新场景。有关创建和管理场景模板的信息,请参阅
场景模板
。
从 New Scene 对话框创建新场景
使用 New Scene 对话框在项目中从特定场景模板创建新场景。您还可以使用 New Scene 对话框来查找和管理场景模板。有关详细信息,请参阅
New Scene 对话框
。
默认情况下,从菜单 (
File
>
New Scene
) 或使用快捷方式 (
Ctrl/Cmd + n
) 创建新场景时,将打开 New Scene 对话。
要创建新场景:
从列表中选择一个模板。
如果您希望 Unity 以附加方式加载新场景(请参阅下面的注释),请启用
Load Additively
。
单击
Create
从模板创建新场景。
要从 C# 脚本使用特定场景模板创建新场景,请使用
Instantiate
方法
。
Tuple<Scene, SceneAsset> SceneTemplate.Instantiate(SceneTemplateAsset sceneTemplate, bool loadAdditively, string newSceneOutputPath = null);
该 Instantiate
方法从场景模板中实例化一个新场景。它返回新创建的 Scene
句柄,及其匹配的 SceneAsset
。您可以以附加方式创建此场景。如果场景包含需要克隆的资源,您必须为 Unity 提供将场景保存到磁盘的路径。
新场景的事件
当您从模板创建新场景时,无论是从脚本还是使用 New Scene 对话框,Unity 都会触发一个事件。Unity 在模板实例化之后触发这个事件,然后还会触发 EditorSceneManager.newSceneCreated
或 EditorSceneManager.sceneOpened
事件。
public class SceneTemplate
public delegate void NewTemplateInstantiated(SceneTemplateAsset sceneTemplateAsset, Scene scene, SceneAsset sceneAsset, bool additiveLoad);
public static event NewTemplateInstantiated newSceneTemplateInstantiated;