关卡
Ballance 自制地图一般是以一个 关卡 为单位,例如原版 Ballance 具有 13 个独立的关卡。每个 Ballance 关卡储存在一个 NMO 文件当中。
关卡基本元素
一个基本的 Ballance 关卡至少需要包括:
- 一个开头的四火焰盘点(注意是火焰,不是底部路面,路面不是必须的)。
- 一个重生点(第一小节的)。
- 一个飞船。
如果不包含以上物体,即使导出了关卡,Ballance 也会拒绝加载。
小节机制
小节用于分隔每部分的机关加载。默认情况下,每个关卡最多可以有 8 个独立的小节。
存在“小节”这一机制的原因不只是因为存档点,游戏在处理各小节的机关道具时是独立进行的,每个小节只会加载当前小节的机关道具。在游戏内很容易注意到,每当经过一个盘点火,上一个小节的机关道具会直接消失,而下一个小节的机关道具会被加载出来。而当玩家球死亡时,当前小节的所有机关道具均会重置为初始状态。
热知识
在以前设备性能不佳、内存吃紧的时代,分小节加载地图是一种很聪明的节约资源的方式。(事实是 Ballance 几乎随处可见这些节省资源的小技巧)
现如今,就算一次性加载所有小节也不会对游戏表现造成很大冲击,但小节机制也被一些制图者用来制作具有特殊机制的地图(例如全程在一段路面的地图,通过不同小节的机关道具来实现多样化的玩法)。
重生点与盘点火
如果只通过游戏可能会认为重生点和盘点火是同一个物体,因为游戏内的重生点一直都在盘点火处,但实际上它们是两个独立的物体。在制图时建议明确区分这两种特殊机关。
盘点火是控制着火焰与小节切换触发的重要机关。玩家球在触碰到下一小节的盘点火时,会触发小节切换,并将重生点设置到下一小节的重生点的位置。只有第一小节的盘点火是 4 火焰,而其它的是 2 火焰。
重生点仅储存重生时所需的物体信息。玩家球在死亡时,会回到上一个重生点的位置,并且旋转角、缩放等数据会与重生点同步。在制图时,重生点箭头的朝向表示复活后玩家摄像机会朝向的方向。
热知识
部分地图利用这个特性做出了所谓的传送门。即通过分离重生点与盘点火,使玩家触碰盘点火后,将重生点设置到另一个位置,实现所谓的“死球传送”。
在制图时,一般情况下,重生点的水平坐标应与盘点火相同,重生点的竖直坐标(在 Blender 中为 Z 轴,在 Virtools 中为 Y 轴)应比盘点火高。具体数值见下表:
| 盘点火 | 高度差参考值 | 备注 |
|---|---|---|
| 初始盘点火 | 3.65 | 从原版关卡中统计后取众数得出,下同 |
| 小节盘点火 | 3.33(约值) | 实际参考值为 3.3258 |
一小节关卡 Bug
我们不建议制作只有一小节的关卡,尽管它玩起来没有任何问题。因为对于只有一小节的地图,Ballance 在渲染开头的四盘点火焰的时候会出现 Bug,表现为火焰粒子呈现为不自然的三角形,且进入关卡后无法使用 Esc 打开菜单,导致无法退出关卡,只能强制关闭游戏。
为了避免这种情况,请添加第一小节的检查点(两火焰盘点)和第二小节的重生点,让关卡 至少有两个小节。
特殊一小节地图
虽然游戏存在一小节关卡 Bug,但我们仍有办法做出单小节的地图。
游戏通关判定是取决于有没有上飞船,而飞船的出现是取决于小节组的数量(而不是盘点的数量)。因此,我们可以 添加第二小节的盘点火和重生点以规避 Bug,但不创建第二小节组(即第二小节没有任何东西),此时飞船就会在第一小节就直接出现。
当使用 Blender 和 BBP 制作一小节地图时,可以先按 关卡基本元素 添加必须的物体,然后添加 机关 - 小节对 到第二小节。此时虽然有第二小节的重生点和盘点,但我们可以将它移动到正常游玩看不到的地方,因此只需要把盘点火放到很远的地方,即可做出关卡只有一小节的假象。
最重要的步骤是 在导出前,在 场景 菜单中找到 Ballance 地图选项,将小节数调整为 1。

注意
若要制作一小节地图,必须保证除了第一小节以外,没有任何小节的存在。也就是说不要将任意物体归入其它的小节组。
你可能想问,那为何可以放置第二小节的盘点火和重生点以规避 Bug 呢?答案很简单,因为 盘点火和重生点不需要归小节组,它们的小节号是直接写在物体命名中的。
导出时的导出选项中有一个 Ballance 参数 - 小节连续,请确保这个功能打开,并确保显示的小节数为 1 即可。

