场景资产定义
场景(Scene) 资产用于保存场景在单独的资产文件中。您可以对场景资产执行创建、保存、打开、删除等常见操作。该资产样式如图:
【Scene_Asset001.png】
项目文件夹中的场景资产
创建场景 资产
您可以从 菜单栏(Menu Bar)或 项目窗口(Project) 创建菜单或从 项目窗口(Project) 中创建场景资产。
方法一:
在 菜单栏(Menu Bar)中,依次点击 文件(File)> 新建场景(New Scene) 。
【Scene_Asset002.png】
此方法创建场景后,需要结合 [保存场景资产](# 保存场景资产) 小节的内容将场景保存为场景资产,否则此方法不能直接生成场景资产。
方法二:
在 项目窗口(Project) 中,点击 添加(+) 按钮,然后选择 场景(Scene) 。
【Scene_Asset003.png】
方法三:
在 项目窗口(Project)中右键点击空白处,然后选择 创建(Create) > 场景(Scene) ,这样也可以创建场景资产。
【Scene_Asset004.png】
保存场景资产
在关闭编辑器或切换到其他场景前,您需要保存当前场景才能保留您在 SandMod 编辑器对场景所做的更改。
保存场景为场景资产有以下两种方式:
保存
在 菜单栏(Menu Bar)中,依次点击 文件(File)> 保存(Save) 。
【Scene_Asset005.png】
首次保存场景为场景资产时的界面会略有不同。您需要在资源管理器中指定场景的保存地址以及名称,点击 保存(Save) 按钮保存并创建场景资产。
另存为
在 菜单栏(Menu Bar)中,依次点击 文件(File)> 另存为(Save As) ,在资源管理器中指定场景的保存地址以及名称,点击 保存(Save) 按钮另存场景资产。
【Scene_Asset006.png】
打开场景资产
可以用以下方法打开场景资产:
方法一:
在 项目窗口(Project)中双击需要打开的场景资产。
【Scene_Asset007.png】
方法二:
您也可以在 项目窗口(Project)中选中场景资产,然后在 检视窗口(Inspector)中点击 打开(Open) 按钮。
【Scene_Asset008.png】
方法三:
在 主菜单 中点击 文件(File),然后选择 打开场景(Open Scene) 选项,可在资源管理器中选择要打开的场景资产。
【Scene_Asset009.png】
方法四:
在 主菜单 中点击 文件(File),然后选择 最近打开场景(Open Recent Scene) 选项,在打开的列表中选取需要打开的场景资产。该列表中按照场景资产创建的时间顺序,从下往上排列(即列表中第一个场景资产选项为最新创建的场景资产)。
【Scene_Asset010.png】
上述任一方法打开场景资产后,场景编辑器(Scene Editor)将会显示该场景的相关信息,可对该场景资产进行编辑。要了解该编辑器的界面、工具栏以及分区,请参阅 场景编辑器窗口 章节。
动态实例化场景资产
在脚本中,通过 Resources.Load(Type,ID) 代码可以根据场景资产的 ID 动态获取 ScenePrefab 类型的场景资产。详情请参阅 API 文档 Resources.Load 的相关内容。随后通过 ScenePreafab.Instance() 的方式,即可将场景资产在脚本中动态实例化。
若需要获取场景资产的 ID,可以在 项目窗口(Project)中用鼠标指向对应的场景资产,点击鼠标右键打开该场景资产的上下文菜单,点击 复制资源 ID(Copy Asset ID) ,即可复制选中的场景资产的 ID 至剪贴板中。
【Scene_Asset011.png】
假设需要实例化的场景资产 ID 为 "Scene001UUID" 。 将此场景资产动态实例化的代码示例如下:
class SceneInstantiation extends Component {
//场景资产的上下文菜单 复制资源 ID(Copy Asset ID)后得到场景 ID 为:Scene001UUID
//定义私有变量保存场景资产;
private _newScenePrefab:ScenePrefab;
OnStart(): void {
//根据场景资产的 ID 获取场景资产并将其保存为 _newScenePrefab 私有变量;
this._newScenePrefab = Resources.Load(ScenePrefab,"Scene001UUID");
//将场景资产实例化
this._newScenePrefab.Instance();
}
OnUpdate(): void {
}
}删除场景资产
在 项目窗口(Project)中用鼠标指向需要删除的场景资产,点击鼠标右键打开该场景资产的上下文菜单,点击 删除(Delete) 按钮,即可删除该场景资产。
【Scene_Asset012.png】
