玩家X和Z坐标绝对值达到 600,000 左右时转换视角,视角看似变成了非90度,而分数球“解体”。 | |
漏洞基本信息 | |
---|---|
常用名称 | 边境之地 |
是否存在固定产生方法 | 是 |
是否会导致游戏崩溃 | 否,但重复多次后可能会 |
是否允许用于疯狂模式竞速 | 状况未知 |
“边境之地”是指Ballance中坐标绝对值过大时(一般需要达到 217 = 131,072 以上)因表示坐标的浮点数运算错误造成的“奇异现象”。
“边境之地”现象可以通过在Virtools内修改物体坐标(以及玩家重生点,因为距离过远,玩家球从原点附近直接前往几乎是不可能的)得到。由于会造成极度的卡顿,且制作也很麻烦,目前并没有被应用于任何原版关卡和自制地图中。
目录
现象
“边境之地”现象仅会对坐标过大的轴的方向上物体的表现产生影响,若同时多个坐标轴的坐标过大,则物体在这些轴方向上的表现均会受到影响,但其他轴上不受影响。而玩家如果回到坐标值较小的地方,则会立即恢复正常。
Virtools中
- 视角抖动,尤其是移动或旋转视角时;
- 物体的移动不再“平滑流畅”,而是只能以一定的单位大小(如0.0625或1.25等)移动;
- Virtools 中默认限制的最大坐标(可以在通用参数设置中更改,但“边境之地”现象不会改变)为 1,000,000。若物体被移动至此坐标附近,则物体将不会被显示,同时玩家在尝试移动物体时物体坐标总会被重置为 1,000,000,致使物体在被移动至此坐标后无法脱离。因此边境之地现象只能在玩家坐标低于 1,000,000 处被检验。
Ballance中
坐标中等偏大
“坐标中等偏大”时的卡顿一般发生在坐标值为 100,000 至 500,000 左右时(更准确地说,217 = 131,072 ~ 219 = 524,288 中间),但也有配置较差的设备甚至在坐标为 10,000 处就能产生此现象。
- 视角不断轻微抖动;
- 分数球的“分数小球”和其“尾迹”分离,并沿着坐标值偏高的轴上向相反方向拉伸,时间越长偏移越远;运动变慢,由于“分数小球”和其“尾迹”分离,最后会无法正常追上玩家球,而是追逐相对于玩家球偏移了的某个位置;
- 部分粒子效果的透明层消失,导致贴图异常(看起来像是贴图缺失一样)。
坐标极大
“坐标极大”一般指坐标在 219 = 524,288 左右以上时的现象。
- 视角剧烈抖动,玩家球运动时视角也会非常卡顿地移动,一部分机关也会抖动;
- 分数球表现类似于#坐标中等偏大时,但随着时间流逝,运动更不规则,最终会像是解体了一样;
- 球在重生点重生时旋转着的“激光球”位置与球重生点实际所在的位置偏移(此现象甚至在玩家球位置恢复到坐标较小处时仍能保留),但球仍然在正常的位置重生;
- 变球器变球时将球“吸入”的位置不再是变球器中心,而是存在偏移;
- 飞碟的顶部“盖子”与飞碟本体偏移(偏移方向与坐标过大的坐标轴有关);
- 玩家球的移动可能会变得不流畅,类似于Virtools中移动物体时的现象。
- 但这也导致玩家球更容易对齐单轨。
超出 Virtools 所允许编辑的界限
玩家在 107 = 10,000,000 处视角更加剧烈的抖动,几乎无法正常游戏;在 231 = 2,147,483,648 处已经无法移动(32位int值为2,147,483,647)。
成因
此条目需要专业人士进行改进 | ||
---|---|---|
- Ballance 中,物件的坐标以浮点数表示。因此数值过大时,表示坐标的浮点值精确度下降。
- 坐标以单精度浮点数(即32位浮点数)表示,但单精度浮点数仅有23位被用于表示有效数字;因此,在 2n 至 2n+1 的位置,最低误差是 2n−23。
- 视角的“摄像机”也是一种实体,同样受到此限制。