Cocos Creator:场景资产

推荐:将NSDT场景编辑器加入你的3D工具链
3D工具集:NSDT 编辑器
场景资产
在《Cocos Creator》中,场景是在开发过程中组织游戏内容并将所有游戏内容呈现给玩家的基石。场景本身是一个文件,也被视为游戏资产,并保存了游戏的大部分信息。
注意:请避免多人同时修改同一场景资源,因为这可能会导致无法通过合并解决的冲突。git
创建场景
有三种方法可以创建场景:
在“资源”面板中选择要创建场景文件的文件夹。在文件夹中右键单击并选择“创建 -> 场景”,然后键入所需的场景名称。

为了在项目中拥有良好的目录结构,强烈建议使用此方法创建场景。
单击“资源”面板左上角的“创建”(+) 按钮,然后选择“场景”。

选择顶部菜单栏中的文件->新场景,将直接在场景面板中创建新场景。但新的场景文件不会出现在 资源 面板中,需要在保存场景时弹出的 保存场景 窗口中手动保存场景文件,保存完成后才会出现在 资源 面板的根目录中。scene.scene

保存场景
方法一:使用快捷键+(Windows)或+(MacOS)快速保存场景。CtrlSCommandS
方法2:选择顶部菜单栏中的文件->保存场景。
切换场景
在“资源”面板中,双击要打开的场景。
当需要在游戏中切换场景时,使用 director.loadScene() API 在游戏中实现动态场景加载和切换。
场景属性
双击打开场景文件后,在“层次结构”面板中,是场景节点树的根节点。选择节点,在“检查器”面板中设置场景是否自动释放,以及整个场景相关属性,包括环境光设置、阴影设置、全局雾和天空盒设置。scenescene

自动释放场景资源,详情请参阅下方更改上一个场景自动释放资产的策略部分。
有关每个属性的详细说明,请参阅以下文档:
- 环境光
- 影子
- 全球雾
- 天空盒
- 原生场景剔除
更改从先前场景自动释放资产的策略
在场景较多的大型游戏中,随着引擎不断加载不同的场景,内存使用量也会不断增加。除了使用API等来准确释放未使用的资产外,还可以使用场景的自动释放功能。assetManager.releaseAsset
双击打开场景文件后,在“层次结构”面板中选择节点,以设置是否在“检查器”面板中自动释放场景:scene

从当前场景切换到下一个场景时,如果当前场景禁用了自动发布,则当前场景引用的所有资源(直接或间接)(脚本中动态加载的除外)默认情况下不会释放。另一方面,如果启用自动释放,则默认情况下将释放这些资产。
阻止自动释放某些指定资产
为场景启用自动释放后,如果场景的某些资源作为“特殊参考”保存在脚本中,则一旦场景切换,这些参考将变为无效,因为资产已被释放,可能会导致渲染问题。为了防止这些资产被自动释放,我们可以使用 Asset.addRef 来保留它们。
“特殊引用”是指全局变量、单例、闭包、“动态资产”等形式的引用。
“动态资产”是指在脚本中动态创建或动态修改的资产。
以上场景资产自动发布的内容,可以总结成下图的几种情况:

有关资产发布的更多信息,请参阅资产发布文档。
3D建模学习工作室整理翻译,转载请标明出处!