“影子”的版本间的差异
BallanceBug(讨论 | 贡献) 小 (→玩家球) |
小 (修正数据) |
||
(未显示2个用户的2个中间版本) | |||
第8行: | 第8行: | ||
[[道路]]型物体可以在[[玩家球]]满足一定条件时显示影子。 | [[道路]]型物体可以在[[玩家球]]满足一定条件时显示影子。 | ||
− | + | 路面是否显示基于的是路面和玩家球的碰撞盒(即该物体在 [[Virtools/zh|Virtools]] 内被选中时显示的选择框。碰撞盒:即能包住整个物体的最小的方形)来进行判定的。首先是在Y轴上,玩家球的碰撞盒的最大值小于路面碰撞盒的最小值(玩家球完全在路面下方)或者玩家球碰撞盒的最小值与路面碰撞盒的最大值之间的差值大于 20 米时(球高于路面顶端 20 米),将不产生阴影;然后会在XZ平面上进行判定,判定玩家球和路面碰撞盒是否有重合,如果有重合才会显示阴影。<ref>Ballance的阴影使用TT Simple Shadow进行生成,其由Virtools自带的Building Block,Simple Shadow进行小幅度修改而来,通过研读Simple Shadow的源码和Ballance的脚本内数值设定得到此结论。</ref> | |
当球来到路面边缘时,路面侧面上会有顺延着路面边缘向下拖长的宽度相同的影子带。这也就是说,如果某路面侧面无限长,则侧面的“影子柱”也会变得无限长。 | 当球来到路面边缘时,路面侧面上会有顺延着路面边缘向下拖长的宽度相同的影子带。这也就是说,如果某路面侧面无限长,则侧面的“影子柱”也会变得无限长。 | ||
第23行: | 第23行: | ||
# 物体存在“[[影子坐标]]”。 | # 物体存在“[[影子坐标]]”。 | ||
− | 影子坐标是物体的属性而不是[[网格]] | + | 影子坐标是物体的属性而不是[[网格]]的属性,目前有2种添加方案。一种是使用{{zh|MAplus}},另一种是使用{{zh|BallanceVirtoolsHelper}}。[[原版关卡]]的文件中所有物体均已具有影子坐标,且复制已具有影子坐标的物体时影子坐标可以被同时复制,在搞清楚影子坐标的实指之前很长时间内,[[自制地图]]中路面的影子坐标均为通过复制原版关卡文件中的物体并替换网格得到。 |
=== 你知道吗 === | === 你知道吗 === | ||
第44行: | 第44行: | ||
File:Shadow on profile.jpg|凹路面上的影子(球稍稍悬空),可见影子被投影到路面上,且随着路面形状而变形。 | File:Shadow on profile.jpg|凹路面上的影子(球稍稍悬空),可见影子被投影到路面上,且随着路面形状而变形。 | ||
File:VT里观察Dome.png|Dome在[[Virtools/zh|Virtools]]中的模样: 它拥有一个位置略微偏移而面积与其本身相同的影子。 | File:VT里观察Dome.png|Dome在[[Virtools/zh|Virtools]]中的模样: 它拥有一个位置略微偏移而面积与其本身相同的影子。 | ||
+ | File:190518-sector4-shadow.png|[[穿云之箭]]第4[[小节]]的“厚路面”侧面上的影子,可见影子实际上显示的形状是一个圆柱体。 | ||
</gallery> | </gallery> | ||
+ | |||
+ | == 注释 == | ||
+ | |||
+ | <references /> | ||
{{Ballance元素列表}} | {{Ballance元素列表}} |
2021年2月16日 (二) 16:41的最新版本
影子是广义上的一种装饰,它的存在可以使游戏界面的显示更加“和谐自然”。
影子分有玩家球投影到道路上的影子与机关的影子两种。
玩家球
路面是否显示基于的是路面和玩家球的碰撞盒(即该物体在 Virtools 内被选中时显示的选择框。碰撞盒:即能包住整个物体的最小的方形)来进行判定的。首先是在Y轴上,玩家球的碰撞盒的最大值小于路面碰撞盒的最小值(玩家球完全在路面下方)或者玩家球碰撞盒的最小值与路面碰撞盒的最大值之间的差值大于 20 米时(球高于路面顶端 20 米),将不产生阴影;然后会在XZ平面上进行判定,判定玩家球和路面碰撞盒是否有重合,如果有重合才会显示阴影。[1]
当球来到路面边缘时,路面侧面上会有顺延着路面边缘向下拖长的宽度相同的影子带。这也就是说,如果某路面侧面无限长,则侧面的“影子柱”也会变得无限长。
制图的基本标准中,所有可视的路面除非特殊原因(例如加了影子后路面违和感更强时),均必须添加影子。
玩家球路面影子的制作
主条目: 路面加影子 |
物体需要同时满足以下三个条件才会在玩家球满足相关条件时产生影子:
影子坐标是物体的属性而不是网格的属性,目前有2种添加方案。一种是使用MAplus,另一种是使用BallanceVirtoolsHelper。原版关卡的文件中所有物体均已具有影子坐标,且复制已具有影子坐标的物体时影子坐标可以被同时复制,在搞清楚影子坐标的实指之前很长时间内,自制地图中路面的影子坐标均为通过复制原版关卡文件中的物体并替换网格得到。
你知道吗
- 球第一次出生时,若下方存在有影子效果的道路,则球在出生后下方才会出现影子,但重生时会在“正在形成中的球”下方产生影子。
- 影子并不是只显示在路面顶面和侧面;可以认为道路显示影子的区域是一个圆柱形区域,因而道路的底面实际上也会显示影子,如浮空岛型路面的下部。
- 可以通过分离不同路面的方式来防止影子被重叠显示。
- 钢轨实际上也能被显示影子,但由于此会让游戏显得不够真实,少有向钢轨添加影子的自制地图(如全家福地图中)。
其他机关
Dome、变球器等机关均有影子。与玩家球的影子不同,这些机关的影子随着机关本身一同出现,位置固定并且与机关连为一体。这意味着即使机关下方没有任何可供“投影”的道路或者道路未紧贴机关,影子不会像玩家球的影子那样不显示或被投影到下方路面上,而仍然会在其被设计的地方显示(一般是在紧贴机关本体的位置),形成“悬空”影子。
Dome的影子随着Dome自身一同出现,而变球器一般也如此。但少数情况下,例如跨小节激活变球器时,影子不会显示。目前其成因未知。
画廊
Dome在Virtools中的模样: 它拥有一个位置略微偏移而面积与其本身相同的影子。
注释
- ↑ Ballance的阴影使用TT Simple Shadow进行生成,其由Virtools自带的Building Block,Simple Shadow进行小幅度修改而来,通过研读Simple Shadow的源码和Ballance的脚本内数值设定得到此结论。