影子

来自Ballance Wiki
跳转至: 导航搜索
玩家球下方的道路上的影子。

影子是广义上的一种装饰,它的存在可以使游戏界面的显示更加“和谐自然”。

影子分有玩家球投影到道路上的影子与机关的影子两种。

玩家球

道路型物体可以在玩家球满足一定条件时显示影子。

路面是否显示基于的是路面和玩家球的碰撞盒(即该物体在 Virtools 内被选中时显示的选择框。碰撞盒:即能包住整个物体的最小的方形)来进行判定的。首先是在Y轴上,玩家球的碰撞盒的最大值小于路面碰撞盒的最小值(玩家球完全在路面下方)或者玩家球碰撞盒的最小值与路面碰撞盒的最大值之间的差值大于 20 米时(球高于路面顶端 20 米),将不产生阴影;然后会在XZ平面上进行判定,判定玩家球和路面碰撞盒是否有重合,如果有重合才会显示阴影。[1]

当球来到路面边缘时,路面侧面上会有顺延着路面边缘向下拖长的宽度相同的影子带。这也就是说,如果某路面侧面无限长,则侧面的“影子柱”也会变得无限长。

制图的基本标准中,所有可视的路面除非特殊原因(例如加了影子后路面违和感更强时),均必须添加影子。

玩家球路面影子的制作

主条目: 路面加影子

物体需要同时满足以下三个条件才会在玩家球满足相关条件时产生影子:

  1. 物体被归组Phys_FloorsPhys_FloorRails(使物体成为路面型物体);
  2. 物体被归入 Shadow 组(声明该物体需要显示影子);
  3. 物体存在“影子坐标”。

影子坐标是物体的属性而不是网格的属性,目前有2种添加方案。一种是使用MAplus,另一种是使用BallanceVirtoolsHelper原版关卡的文件中所有物体均已具有影子坐标,且复制已具有影子坐标的物体时影子坐标可以被同时复制,在搞清楚影子坐标的实指之前很长时间内,自制地图中路面的影子坐标均为通过复制原版关卡文件中的物体并替换网格得到。

你知道吗

由于浮空岛型路面下方为倒锥形,可以看见路面下方底面上的影子。
  • 球第一次出生时,若下方存在有影子效果的道路,则球在出生后下方才会出现影子,但重生时会在“正在形成中的球”下方产生影子。
  • 影子并不是只显示在路面顶面和侧面;可以认为道路显示影子的区域是一个圆柱形区域,因而道路的底面实际上也会显示影子,如浮空岛型路面的下部。
  • 可以通过分离不同路面的方式来防止影子被重叠显示。
  • 钢轨实际上也能被显示影子,但由于此会让游戏显得不够真实,少有向钢轨添加影子的自制地图(如全家福地图中)。

其他机关

Dome变球器机关均有影子。与玩家球的影子不同,这些机关的影子随着机关本身一同出现,位置固定并且与机关连为一体。这意味着即使机关下方没有任何可供“投影”的道路或者道路未紧贴机关,影子不会像玩家球的影子那样不显示或被投影到下方路面上,而仍然会在其被设计的地方显示(一般是在紧贴机关本体的位置),形成“悬空”影子。

Dome的影子随着Dome自身一同出现,而变球器一般也如此。但少数情况下,例如跨小节激活变球器时,影子不会显示。目前其成因未知。

画廊

注释

  1. Ballance的阴影使用TT Simple Shadow进行生成,其由Virtools自带的Building Block,Simple Shadow进行小幅度修改而来,通过研读Simple Shadow的源码和Ballance的脚本内数值设定得到此结论。