机关与道具
游戏内可动态交互的物体我们一般称作机关。道具是一种特殊的机关,特指那些能被玩家球随意移动和操纵的机关,例如:道具球、道具箱子等。有时生命球和分数球也可以算作一种“道具”。
占位符机制
机关与普通物体的归组略有不同。Ballance 地图中所有的机关都没有贴图,它们只是一个 占位符,唯一有用的信息是物体信息(即坐标、旋转、缩放等)。占位符的形状只是为了制图时方便分辨,以及提供一个对齐参考(可以看到大多数机关自带了一个或几个方块,用于和路面对齐)。
当加载到机关所属的小节时,游戏会 读取并储存 占位符的位置(即物体的原点)、旋转、缩放信息,然后根据占位符所属的组,来决定应该被替换成什么样的机关,再把之前存储的位移,旋转,缩放信息赋予给真正的机关。
进阶提示
占位符机制只使用物体信息,也意味着 这些占位符的网格(形状信息)并不重要。
因此你完全可以将一个任意形状的路面归入风扇组,那么在游戏中,这些路面就会被替换成风扇,而不是路面。
你也可以直接将其网格删除,在建模时这个机关就会不可见,只要归组正确,它也会被游戏正常替换。
注意
由于游戏读取的是物体的原点信息,所以机关的原点不允许随意改变。改变原点后机关可能发生错位等问题。
此外,机关缩放可能导致未定义的行为,除非经过多次游戏内测试,我们一般不建议缩放机关。
机关替换
机关替换是一种实现自定义机关、脚本插入等高级操作的方式。
Ballance 在加载一个关卡时,会先将地图加载到场景中,然后按照上文所述的占位符机制,将游戏内的机关占位符,替换为真正的、具有模型和功能的机关。但在替换时,若地图中已存在一个与机关重名的物体,则机关替换不会发生,游戏会直接删除占位符,并将已经存在的物体当作机关。
机关模型替换
通过机关替换,我们能够轻易将机关的模型进行更改,例如镜像机关、补面机关等。
只需要从游戏的 PH 文件夹中找到需要修改的机关,将它的模型导入至 Blender,然后进行补面、镜像等操作,再导出至自制地图中即可。请务必确保该物体的名称不变,才能替换成功。
插入自定义脚本
详见 脚本插入原理。