包含此页的版本:
不含此页的版本:
本页介绍如何创建、加载和保存 场景场景包含游戏的环境和菜单。将每个唯一的场景文件视为一个独特的关卡。在每个场景中,你放置你的环境、障碍物和装饰品,基本上是将你的游戏设计和构建成碎片。更多信息
请参阅术语表.
有几种方法可以创建新场景:
Assets文件夹(项目选项卡)更多信息Unity 从场景模板创建每个新场景。有关创建和管理场景模板的信息,请参阅场景模板。
使用 新建场景(New Scene) 对话框从项目中的特定场景模板创建新场景。您还可以使用“新建场景”对话框来查找和管理场景模板。有关详细信息,请参阅“新建场景”对话框。
默认情况下,当您从菜单(文件>新场景)或使用快捷键(Ctrl/Cmd + n)创建新场景时,将打开新建场景对话框。
要创建新场景:
| 注意: |
|---|
| 加法加载意味着 Unity 除了加载您打开的任何其他场景之外,还会加载场景。有关更多信息,请参阅多场景编辑。 |
如果模板没有任何可克隆的依赖项,Unity 会在内存中加载新场景,但不会保存它。
如果模板具有可克隆的依赖项,Unity 会提示您在项目中选择要将其保存到的位置。保存场景时,Unity 会在与新场景相同的位置创建一个文件夹,并且名称相同。然后,它将可克隆的依赖项克隆到新文件夹中,并更新新场景以使用克隆的资产,而不是模板场景使用的原始资产。
使用菜单(资产>创建>场景)创建新场景,而无需打开新场景对话框。
当您从菜单创建新场景时,Unity 会自动复制项目的基本模板,并将新场景添加到项目窗口中当前打开的文件夹中。
使用项目窗口中的上下文菜单创建新场景,而无需打开新建场景对话框。
当您从菜单创建新场景时,Unity 会自动复制项目的基本模板,并将新场景添加到所选文件夹中。
若要使用特定场景模板从 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;
}
要打开场景,请执行下列作之一:
如果当前场景包含未保存的更改,Unity 会提示您保存场景或放弃更改。
您可以同时打开多个场景进行编辑。有关详细信息,请参阅多场景编辑。
要保存当前正在处理的场景,请从菜单中选择“文件”>“保存场景”,或按 Ctrl + S (Windows) 或 Cmd + S (macOS)。