🎁
🏆 导航菜单
🎪 扩展内容
🎯 沙盘引擎文档
🕹️ 文章及书籍&教程
🎖️ 外部的链接
🎁
🏆 导航菜单
🎪 扩展内容
🎯 沙盘引擎文档
🕹️ 文章及书籍&教程
🎖️ 外部的链接
沙盘引擎公共场景仅包含必要使用的,开发者将在被公开的几个场景内实现自己的逻辑。
此场景指的是Unity.Scene
,也可以理解为引擎内一个“单独的空间”,完全独立的场景画布。
只有在基本需要完全隔离环境状态下(完全不同的功能界面),才会改变场景。
场景(Scene)是由《沙盘引擎》自带的一种储存介质,经过引擎开发者的框架设计,以下几种场景几乎可以适配大部分情况。
场景名称 | 优先级 | 加载方式 |
---|---|---|
Native | 0 | 引擎启动后第一个场景,此时开始加载Mod 如果是初次载入则会优先加载引擎 重载指令,也会自动跳转到此场景重新加载 |
World | 1 | 主要世界场景,当引擎加载Mod完成后,此场景将作为主要的介质 无论是主菜单还是某个玩法单机\联机世界,均在此场景下实现 (主菜单相当于是一个独立的,只有菜单UI的场景世界) |
MapEditor | -1 | 地图编辑器场景,不会主动加载 |
Native场景指的是《沙盘引擎》启动后第一个加载的场景,每次游戏周期只会加载一次(除非重新卸载\加载Mod)。
场景内容主要会展示《沙盘引擎》Logo以及可能开放的自定义Logo,同时在内部加载引擎可能用到的资源,以及开始加载模组相关的全部内容。
模组的加载主要包括:模组脚本、模组资源、模组配置文件等加载。
如果其中一项出现了问题,可能会导致引擎报错提示而无法进入游戏(会有UI提示错误信息)。
World场景是整个引擎中最为关键的场景,当Native场景正常加载结束后,任何与模组展示、主菜单、世界玩法相关的内容均在此场景内实现。
World场景加载完成后World.js
与Client.js
脚本就将开始执行,World.js
脚本控制着整个世界的事件和方法,并且属于服务器权威(在服务器主机运算,而不是客户端)。
同时Client.js
下的客户端事件、方法也将被启用,与World.js
不同的是,Client脚本下的方法都是基于客户端本地运算的,比如编写相机视角逻辑、GUI等更为合适。
注意:World场景是一个抽象又核心的概念,基于沙盘引擎World通用机制,每个场景在加载时都允许指定【地图&脚本】,任何地图都可以使用任何正确的脚本。
在引擎的
Mods\XXX\Script
目录下,每个目录都存放着【World&Client】两个主要入口脚本,在加载新的场景时,开发者可使用API指定要加载的【地图和脚本】,以此可实现一个脚本针对多个地图。例如:开发者制作了一个大逃杀类型的玩法脚本,并不需要给每个地图都进行适配(制作多个脚本),只需要在加载新场景时指定【新地图+大逃杀脚本】即可兼容任何地图。
举一反三,如果开发者需要为自己的游戏制作一个主菜单(或其他非游戏核心内容),也可以参考这个逻辑,制作一个“只有UI界面和功能(或UI+世界内容搭配)”的场景即可。
MapEditor场景是一个被动加载的场景,只有开发者希望用户打开时才会出现。
此场景下可制作《沙盘引擎》几乎通用的地图文件(.semap)。
有关地图编辑器内容,请查看地图编辑器文档。