Skip to content

简介

如果您需要创建大世界游戏或想要在运行时有效管理多个场景,您可以在 场景编辑器 中同时打开和编辑多个场景。特别是当您经常需要协作编辑场景时,同时打开多个场景还能提升您的工作效率。

【Scene_Multiple_Scenes001.png】

添加场景

您可以在场景编辑器中添加多个场景,并同时查看和编辑多个场景。前提是您在项目窗口中有多个场景资产供您添加。如何创建多个场景资产,请查阅 场景资产 章节。

您可以通过以下方法添加多个场景在场景编辑器中查看或编辑:

在 项目窗口(Project)选中(或框选)一个(或多个)场景资产,将鼠标指向其中一个场景资产,长按鼠标左键拖动选中的场景资产到 层级窗口(Hierarchy)中。

【Scene_Multiple_Scenes002.gif】

层级窗口查看多场景

添加多个场景后,场景编辑器的 层级窗口(Hierarchy)会以场景条目的方式显示已经添加的所有场景:

【Scene_Multiple_Scenes003.png】

添加了多个场景的层级窗口。点击查看大图。

  1. 场景条目(Scene Divider),层级窗口(Hierarchy)中各个场景的根对象条目。
  2. 折叠按钮(Fold),场景条目左侧的三角形按钮点击后可以折叠或展开场景层级结构中的内容,方便您更好地管理多个场景。
  3. 已卸载场景标记(Tag Of Unloaded Scene),已经卸载的场景条目上会有 已卸载(Not Load) 的标记。
  4. 上下文菜单按钮(Context Menu Button),场景条目上下文菜单为您提供在场景上执行更多操作(设置主场景、保存场景、卸载场景、删除场景、添加场景、在项目窗口浏览场景资产)。

多场景的场景设置

若在  层级窗口(Hierarchy)中添加了两个或以上的场景,场景条目的上下文菜单将会启用以下设置。

删除场景

您可以通过以下方法将场景在 层级窗口(Hierarchy)中删除:

在 层级窗口(Hierarchy)中找到意向删除场景的 场景条目(Scene  Divider),点击该场景条目的 上下文菜单按钮(Context Menu Button),点击 删除场景(Remove Scene) 选项实现在 层级窗口(Hierarchy)中删除场景。

【Scene_Multiple_Scenes004.png】

场景在 层级窗口(Hierarchy)中删除后,您仍可以在 项目窗口(Project)找到该场景对应的资产,并对该场景进行编辑或查看。

场景卸载

卸载场景(Unload Scene)可以隐藏 场景窗口(Scene) 和 层级窗口(Hierarchy)中该场景相关的内容。如果对要卸载的场景您有未保存的更改,请在卸载场景之前保存它们,以免丢失任何更改。卸载场景的方法如下:

对希望卸载的 场景条目(Scene  Divider),在其 上下文菜单按钮(Context Menu Button)中点击 卸载场景(Unload Scene) 的选项将场景卸载。

【Scene_Multiple_Scenes005.gif】

场景加载

对于已卸载的场景,如果您希望在 场景窗口(Scene) 和 层级窗口(Hierarchy)中显示该场景的内容,并对其进行编辑。可以对它们进行 场景加载(Load Scene),加载场景的方法如下:

对拥有 已卸载场景标记(Tag Of Unloaded Scene)的 场景条目(Scene  Divider),在其 上下文菜单按钮(Context Menu Button)中点击 加载场景(Load Scene) 选项对场景重新加载。

【Scene_Multiple_Scenes006.gif】

将场景设置为主场景

始终有一个场景是主场景,在多场景编辑时,主场景决定了 光源(Light)设置。将场景设置为主场景的方法如下:

在 场景条目(Scene  Divider)的 上下文菜单按钮(Context Menu Button)中点击 将场景设置为主场景(Set Scene As Main) 的选项,将该场景切换为主场景。

多场景光源设置

在多场景编辑时,每个场景都管理自己的设置,因此只有与该场景关联的设置才会保存到场景资产中。但是 光源(Light) 设置除外。

要设置场景的 光源(Light)设置,请单独打开该场景并更改光源设置,或者将该场景设置为主场景,然后再更改光源设置。否则,如果打开了多个场景,SandMod 仅会使用主场景中的光源设置。

当您在场景编辑时或在游戏项目运行时切换了主场景,SandMod 将会把当前场景的光源设置替换为新的主场景的光源设置,且此光源设置与多个场景共享。

--------------
如场景 Scene_Red 在 光源(Light)设置中设置了 环境颜色(Ambient Color)为红色。
【Scene_Multiple_Scenes007.png】


场景 Scene_Blue 在 光源(Light)设置中设置了 环境颜色(Ambient Color)为蓝色。
【Scene_Multiple_Scenes008.png】


随着由主场景为 Scene_Red 更改为设置 Scene_Blue 为主场景时,场景窗口(Scene)中的光源设置也随着主场景切换而改变,环境颜色 也从红色变为蓝色。
【Scene_Multiple_Scenes009.gif】
--------------

多场景烘焙数据

相对于单个大场景,拆分成多个小场景 烘焙(Bake)可以减少烘焙数据所花费的时间和烘焙数据的计算量。

烘焙具有多个场景的导航网格数据

如果您使用 SandMod 编辑器手动烘焙多个场景的 导航网格(Navigation Mesh)数据,在多场景编辑时打开 导航窗口(Navigation)并点击 烘焙(Bake) 按钮。这会将导航网格数据烘焙到由多场景共享的单个资源中,且此数据保存在与当前主场景名称匹配的文件夹中。

也就是说烘焙具有多个场景的导航网格,您需要注意以下几点:

  • 参与烘焙的所有场景将共用同一份导航网格数据。
  • 如果主场景重新烘焙新的导航网格,被共享的其他场景的导航网格数据也会被主场景重新烘焙的导航网格数据所重置。
  • 非主场景的其他场景如果重新烘焙导航网格,其场景的导航网格数据将保存在与当前场景名称匹配的文件夹中,并脱离该共享导航网格数据。

烘焙多个场景的光照贴图

SandMod 暂时不支持多个场景同时烘焙光照贴图,在多个场景时烘焙光照贴图,只有主场景游戏对象的光照贴图会被烘焙。

虽然多个场景编辑的时候,不同场景的光照是共享且共同作用于多个场景的,但是多场景烘焙光照贴图时,SandMod 只会读取主场景的 光源(Light),其他所有场景的光源是实时光源,这些光源不会参与光照贴图的烘焙。

如果多场景编辑时有多个场景已经各自烘焙了光照贴图,那么这些场景的光照贴图可以同时加载出来。