在基岩版中,当玩家远离世界原点时,世界会逐渐变得异常。这主要是由于用于定位的32位浮点数 存在精度损失,仅给小数分配了23位的空间;因此,对于n 和2n 之间的任何坐标(其中n为2的幂),其精度误差会导致整个世界(包括方块和实体)偏移n ⁄8388608 个方块或n ⁄524288 像素。
目录
1 轻微故障(X/Z ±0–65,536)
2 不稳定(X/Z ±131,072–524,288)
3 3D方块模型渲染错误(X/Z ±1,048,576–8,388,608)
4 严重故障(X/Z ±16,777,216–2,147,483,648)
5 垂直方向极限
6 画廊
7 参考
轻微故障(X/Z ±0–65,536) [ ]
基岩版在许多计算上都会使用32位浮点数,例如玩家的位置。当玩家移动时,玩家会在每游戏刻不断改变位置,并会受到浮点精度误差的影响。在低速或距离遥远的情况下,每刻的位置变化会被忽略不计,这导致玩家无法移动。浮点精度误差会在2的每个幂次翻倍。
虽然实体中心的位置存储在NBT中,但碰撞箱角的位置存储在内存中。当玩家超过2的每个次幂时这些角可能会分别以不同的速度移动,导致碰撞箱的大小被改变。在某些情况下(比如重载世界、使用/tp
命令、末影珍珠或紫颂果传送、骑行实体、潜行、游泳或使用鞘翅滑翔[需要更多信息 ] )会使碰撞箱大小重置为0.6。玩家的碰撞箱大小有可能会变成0,导致玩家穿过方块边缘掉入虚空[1] 。
有一些方法能够降低玩家的移动速度,比如说潜行 、状态效果 、使用物品(比如拉弓 蓄力)或者进入某些方块中(比如蜘蛛网 )。另外,沿对角线移动会降低玩家在任何给定轴上的速度。稍微斜对着面前的方块移动会导致玩家缓慢侧向移动。
位置
现象
X/Z ±256(28 )
虽然不太可能,但这是可能掉出世界的最近距离。由于故障是由受不同级别的浮点精度误差影响的碰撞箱角引起的,理论上可能X/Z在±1时就可以发生这类事件。
X/Z ±1,024(210 )
在生存中在前方没有阻挡的情况下的最慢的移动方式在这个位置后变得无法移动(通过饮用神龟药水 II得到缓慢 VI效果并在使用物品的同时潜行 在上方有蜘蛛网 的蓝冰 上)。
仙人掌的贴图出现错位。
X/Z ±8,192(213 )
蜘蛛网的宽度变为一整个方块宽(原宽度为0.998格)。
X/Z ±16,384(214 )
可以在这个位置上感受到非常小的抖动感。
X/Z ±32,768(215 )
在上面有蜘蛛网的灵魂沙上潜行并拉弓将无法斜向移动。[2]
X/Z ±65,536(216 )
所有实体的坐标值都是以128作分母的假分数。
不稳定(X/Z ±131,072–524,288) [ ]
在这里,一些正常的运动开始出现故障,且有些精细的方块模型开始出现渲染错误。
位置
现象
X/Z ±131,072(217 )
所有实体的坐标值都是以64作分母的假分数。
潜行着按着前行键在梯子 和藤蔓 上爬比正常情况要慢一点。
潜行着沿对角线前进变得有一点颠簸。
灯笼 、绊线钩 和拉杆 的手柄部位开始变形。
X/Z ±262,144(218 )
所有实体的坐标值都是以32作分母的假分数。
潜行着在梯子和藤蔓上爬变得更慢且不流畅了。
海泡菜茎渲染的会比正常细一些。
绊线变得不可见。
甜浆果丛和蜘蛛网看上去比平常略大。
向日葵 会出现显示错误。
X/Z ±524,288(219 )
所有实体的坐标值都是以16作分母的假分数。
画 会进入到方块中,导致可以将多张画重叠在一起。
物品展示框 的内部会与其附着的方块侧边对齐。
无法在蜘蛛网 中水平移动。
过了这个位置后移动颠簸开始变得十分明显。
多数生物无法自然地跳上方块。
海龟 无法在陆地上移动。
Y=-104处的障碍消失。
3D方块模型渲染错误(X/Z ±1,048,576–8,388,608) [ ]
方块模型渲染的位置基于它的角的位置,坐标也是32位浮点数。常规情况下是1 ⁄16 的倍数。只要浮点数能够精确到最接近的十六分之一,大多数方块都会正常渲染。在X/Z±1,048,576(220 )之后无法达到这个精度,因此方块将无法正常渲染。[3]
在RTX版本中,光线的渲染不会受到浮点精度的影响,虽然方块模型的渲染依旧会出现问题。[4]
另外,大多数“通常”的移动方式在这之后将无法移动。
近些年来,不同的方块的渲染异常却有着一些变化,不过并不清楚版本更新详情和硬件需求。较旧版本中,花 、草 一类的方块将在超过8,388,608个方块的位置完全扁平化;而在新版本中,它们的形状大致是正常的。此外,旧版本中向日葵头部可能会扭曲为正方形,而这在新版本中却不再发生,却又出现了花与茎分离的情况。
位置
现象
X/Z±1,048,576(220 )
所有实体的坐标值都是以8作分母的假分数。
墙 渲染得更宽。
栅栏 (不包括柱子部分)和关闭的栅栏门 将会被渲染成完全扁平的。
门 和开启的活板门 被渲染得比正常更薄。
铁栏杆 和玻璃板 渲染的宽度是正常的2倍。
如果不按跳跃键就无法顺利爬上梯子和藤蔓,而且如果潜行着爬上梯子会变得十分的缓慢。
在这里,移动所需的最小速度变为1.25方块每秒,这意味着无法沿对角线潜行。
黏液块 里的正方体会变得稍微宽一点。
蜂蜜块 里的小方块会拉伸成一个完整方块的大小,导致方块出现深度冲突效应。
蛋糕 会被拉伸成一整个方块宽。
火 会稍微渲染的比平常不同。
海泡菜渲染的有点与平常不同,放置后没有茎。
灯笼 比平常更宽,而且没有顶部部分。
营火 中的木头渲染得彼此重叠。
酿造台 的底座渲染的不正确,且中间的杆子不会渲染。
铁砧 的底座渲染不正确。
砂轮 的支撑部分渲染不正确。
物品展示框渲染得更宽了。
花盆 会渲染得更宽一点。
信标 的内部渲染不正确。
钟 的支撑部分渲染不正确。
横着的末地烛会渲染成扁平的,而竖着的只会渲染底座。
红石 渲染的有点不同。
火把 变得不可见。
放置在任何方向的按钮 变得更宽了,而且按下侧面的按钮会使其进入方块。
压力板 会覆盖整个方块。
红石中继器 和红石比较器 渲染得无法看见红石火把部分。
第二阶段的可可豆 渲染的宽度与成熟的一样大。
仙人掌 被渲染成一整个方块大小,但边角带有缝隙。
竹子 被渲染得比正常更小、更扁平或不可见。
龙蛋 看上去细节丢失了一些。
海龟蛋 看上去变得扭曲了。
紫颂植株 看上去凸起部分消失了。
X/Z ±2,097,152(221 )
所有实体的坐标值都是以4作分母的假分数。
在这里,移动所需的最小速度变为2.5方块每秒,这意味着潜行 时无法移动。
步行变得十分卡顿。
在方块间隙中的物品将穿过方块掉下去。掉到熔岩边缘的物品将会弹开而不会被烧着,这种情况会持续到条纹之地生成时。
栅栏变得不可见。
开启的栅栏门变得完全扁平。
门和活板门渲染得比平常宽。
铁栏杆和玻璃板渲染得完全扁平了。
脚手架 的支撑部分变得不可见。
炼药锅 和堆肥桶 有着十分平坦的壁,里面的内容物会被延展至顶部。
漏斗 的底部不可见。
下界传送门方块 变得十分扁平。
花、甜浆果丛、蜘蛛网和高草丛比正常情况要小得多。
可可豆的第一阶段变成扁平的。
紫颂花 被渲染成一整个方块宽。
X/Z ±2,812,332
地形生成在这一点上部分崩溃。某些地区不会生成任何地形,只剩下含水层、生成的结构、取代Y=-55及以下所有空气的熔岩和基岩层。在这些地区还可以看到延伸到大约Y=250的分散的巨石状地带。这些地形生成故障通常发生在包含山地生物群落的地区。[5]
X/Z±4,194,304(222 )
所有实体的坐标值都是以2作分母的假分数。
在这里,移动所需的最小速度变为5方块每秒,意味着仅通过步行移动变得不可能。玩家需要通过使用迅捷 药水、末影珍珠 、紫颂果 、鞘翅 与烟花火箭 并用、骑马和划船来移动,或者其他能做到至少5方块/秒速度前行的方法。
在没有迅捷 效果的情况下,玩家无法正常疾跑 ,但可以通过按住前进键跳一下落地再跑的方式疾跑。
此处无法正常跳跃。
小于半个方块宽的实体(例如物品 和蠹虫 )会落入方块的边缘,但如果站在方块中心处则不会掉下去。这可能是因为碰撞箱的各个角会因精度损失得到相同的坐标,导致碰撞箱变为“null”而掉下去。但目前无法确认是否是这样。
状态效果粒子会卡在玩家的中心处,导致它们聚集在屏幕中央。
末地传送门框架 上如果放置了末影之眼 ,末影之眼会被拉长为整个方块大小。
侧置的活塞 基座会被拉长至整个方块。如果活塞头缩回,那么就会引发深度冲突效应。
农作物 和海草 会被渲染在方块的边缘部分。
X/Z ±8,388,608(223 )
所有实体的坐标值都是整数,也就是说,所有的实体都会站在方块之间的缝隙中,这会导致玩家和其他小于1格方块宽的实体掉出世界。能站在这个位置上的实体只有船 、蜘蛛 、马 、骆驼 、铁傀儡 、北极熊 和劫掠兽 。
如果只有一个坐标超过该值,则方块仍会从侧面进行碰撞检测。
玩家会被一直视作在方块“下面”,意味着幻翼 不会生成。因此在生存中使用马继续前进还是有可能的。
在这里,移动所需的最小速度变为10方块每秒,意味着在创造模式中飞行必须疾跑或往一个方向走。迅捷 效果在这里没用,见MCPE-61425 。
所有的非完整方块在这里都有可能拉伸为整个方块大小,或压缩为二维。不过还是有几个特殊的方块无论走多远都可以被正常渲染,比如钟 和箱子 。
如果两个坐标都超过此值,则方块将变为一维的,因此是完全不可见的。
切石机 的切片会多出一个,两个切片都会显示在方块的边缘部分上。
无法使用末地传送门 传送到末地。
严重故障(X/Z ±16,777,216–2,147,483,648) [ ]
在这里,地形和渲染已经错误到无法正常游戏的地步了。
位置
现象
X/Z ±16,777,216(224 )
浮点精度错误导致位于能被4整除的坐标的方块无法被渲染,不能被4整除的偶数坐标的方块渲染时被拉伸为2个方块宽。这种现象被称为条纹之地。
有些在其他坐标上的方块会被渲染成2D的。通常只有“暴露”于空气或是透明方块的情况下才渲染其方块。
地图的渲染不受影响。
所有实体的坐标值都是2的倍数。
2D方块是非固体的。然而,恶魂 、大型史莱姆 和岩浆怪 无论方块是2D还是3D都会将其看作固体方块,因为这些实体超过了2格宽。
当玩家在能被4整除的位置时,游戏将无法让玩家和水 正确交互。这会导致玩家在水中自由下落,而无法进行游泳,且水中有黑色或蓝黑色的迷雾。然而水仍然会导致玩家停止滑翔 ,船仍然可以漂在水上。
在这里,移动所需的最小速度变为20方块每秒,意味着只能使用鞘翅 、紫颂果 或末影珍珠 移动。其中末影珍珠 只能使玩家沿轴运动且有概率直接丢进虚空。
X/Z ±33,554,432(225 )
这个位置上完全不会渲染方块的上下表面纹理,只会渲染方块的垂直面(侧面),导致了切片之地[非官方名称 ] 在这里开始生成。侧面被遮挡的方块(例如自然生成的水)在这里是完全不可见的。
这个位置上的每个切片的距离有4个方块远,这个距离会在2的每个次幂上翻倍。
所有实体的坐标值都是4的倍数。
很难在这个位置后放置方块。玩家必须面向已存在的方块并沿着坐标轴的方向放置方块。无需外部工具即可生成方块的唯一方法是使用结构方块 。
在切片之角,方块渲染完全停止,[6] 在切片之角的方块会被渲染成1维的,因此看不到方块。
水完全变成非固体方块。
在这里,移动所需的最小速度变为40方块每秒,意味着玩家必须使用鞘翅以大约45度的向下角滑翔才能移动,或使用带有激流 魔咒的三叉戟。其他实体中只有三叉戟 和末影龙 能在此处水平移动,因此也无法使用末影珍珠 传送。
X/Z ±67,108,864 (226 )
在这里,移动所需的最小速度变为80方块每秒,意味着若要移动,玩家必须使用鞘翅和至少附有激流 II的三叉戟。仍然可用的移动方法是吃紫颂果 传送。
所有实体的坐标值都是8的倍数。
每个切片的距离有8个方块。
X/Z ±134,217,728 (227 )
移动平台能够生成结构 的极限位置。然而在Windows平台上可以一直生成到32位整数极限时。
所有实体的坐标值都是16的倍数,也就是说所有实体都位于区块的边界上。
每个切片的距离有16个方块远。
在这里,移动所需的最小速度变为160方块每秒,意味着激流 II不能再使玩家水平移动,激流 III只能使玩家水平沿轴移动。但是,仍然可以食用紫颂果进行传送。
X/Z ±268,435,456 (228 )
任何实体超过此距离后都将无法移动。使用紫颂果也无法传送。
所有实体的坐标值都是32的倍数。
每个切片的距离有32个方块远。
X/Z ±536,870,912 (229 )
所有实体的坐标值都是64的倍数。
每个切片的距离有64个方块远。
玩家的视角前“圆锥形”范围的渲染消失了。这个圆锥沿X轴或Z轴方向,而非玩家视线的方向。它由多个16x16x16的立方体组成(一个区块的区段)。
X/Z ±1,073,741,824 (230 )
所有实体的坐标值都是128的倍数。
每个切片的距离有128个方块远。
不可见“圆锥形”范围变得更大。能见度设置在16区块以下时世界变得不可见。
X/Y/Z ±2,147,483,647 (231 -1)
这是32位系统(例如C++)的有符号二进制整数的极限,在此处附近时会造成游戏崩溃。
条纹之地相关 [ ]
位于坐标X/Z 16,777,216处的“条纹之地”
条纹之地是由游戏渲染与碰撞箱计算产生的现象,而不是与地形生成直接相关的现象。[7] [8] 伴随着“虚无”和“天空网格”的地形生成错误,条纹之地作为渲染错误起始于X/Z ±16,777,216。它之所以存在,是因为坐标偏离了整整一格,导致方块本身(而不止其边角)出现在错误的位置。
坐标超过X/Z ±33,554,432后,所有方块均呈现为二维,并且有效方块之间的间隙加倍至四分之一。坐标每到2的整数次幂,该间隙的宽度都会再次加倍,并且在X/Z ±1,073,741,824处达到128个方块宽。这是最大的距离,因为游戏在X/Z±2,147,483,648Z附近崩溃。
在225 个方块边界处出现的二维切片状地形和条纹之地
在 X/Z ±16,777,216 处的切片之地生成的热带草原村庄。任何超过这个坐标的建筑都将被渲染成扁平状
在条纹之地角落的寒冷生物群系 。可以注意到画面中有两只北极熊 没有掉下虚空
垂直方向极限 [ ]
类似于X轴和Z轴,游戏也会在Y坐标超过某一位置时出现错误。由于方块无法放置在Y=319(主世界)/Y=127(下界)/Y=255(末地)以上的地方,所以不会出现方块渲染故障,但会出现其他现象。
这些影响也会在负坐标产生,但在Y=-104(主世界)/Y=-40(下界、末地)的地方有一处障碍。可以通过传送至X/Z±8,388,608处规避这一限制,或传送到Y=-104(主世界)/Y=-40(下界、末地)以下。
Y坐标
现象
Y ±65,536
药水粒子 将在此处之后的2的每一个次幂后变黑,并在64格后恢复。
Y ±1,048,576
飘浮 的速度会变得更快一些。
Y ±2,097,152
使用鞘翅 和缓降 并按住跳跃按钮也将无法向上移动。
使用鞘翅 滑翔时将视角稍微上抬可以使高度不下降。
Y ±8,388,608
状态效果粒子会卡在玩家的头部、足部和玩家的中心处,导致第一人称下看到的粒子效果有错误。
缓降 效果会导致玩家卡在空中。
创造模式无法在这个位置向上飞行。
在玩家退出飞行模式与玩家实际开始下落的时间存在明显的延迟。
Y ±16,777,216
上述的延迟变得更长了。
创造模式也无法在这个位置向下飞行。
Y ±33,554,432
上述的延迟进一步变长。
无法在这个位置用鞘翅 和烟花火箭 竖直向上飞行,但仍然可以在创造模式下打开鞘翅按住跳跃向上飞行。
Y ±67,108,864
玩家无法自由下落。
无法在创造模式下打开鞘翅按跳跃向上飞行。
Y ±2,147,483,647
这是32位系统(例如C++)的有符号二进制整数的极限,在此处附近时会造成游戏崩溃。
画廊 [ ]
栅栏在X/Z=8,388,608之后的样子(左)和之前的样子(右)
生成在边境之地附近的仙人掌,被渲染成了有缝隙的完整方块
X/Z±134,217,728以外的世界。此处是不使用外部修改可以到达的极限位置
超过X/Z±1,073,741,824的世界。由于过大的渲染距离,导致相邻切片不可见
X=31,999,872处的条纹之地。远处有村庄生成。这里是使用下界传送门可以到达的极限位置
X=33,554,432处的世界,在这里水平面不再被渲染,底部的基岩变成了切片状,切片之地开始渲染
摆放在超过 4,194,304 个方块处的红石。红石线已经完全不可见,并且红石的渲染变得不正常(其中一个十字交叉的红石已经连接了四根红石线)
摆放在超过 8,388,608 个方块处的红石。与Java版距离现象 不同的是,红石线在两个方向上被延展到了一个方块的大小
摆放在超过 4,194,304 个方块处的放置了末影之眼的末地传送门框架
参考 [ ]
语言