- 查看: 161
- 回复: 4
我看网上好像没有人讲这个啊
基岩版用32位浮点数存储坐标,简单来说就是32位浮点数不能表示所有的数,数值小了看不出什么,数值大了就会出问题,比如16777217这个数就无法用32位浮点数表示,会向下兼容成16777216,这就导致原本在坐标为16777217的方块与坐标为16777216的方块共用一个坐标,这就形成了条纹之地
这两张图是我的见解,原本是发在某游戏盒评论区的,我的语言比较混乱而已,但我思维很清楚,结果有人说是外网机翻过来的


我再说一下图里说的网格是怎么回事,我的世界中每个坐标值[2^x,2^{x+1})区间内都是一个巨大的,虚拟的立方体网格,这个大立方体网格由无数个边长为ULP的小立方体组成,每一个东西只能存在于小立方体的顶点上,那个区间里的数越大,ULP越大,小立方体的边长就越大,当坐标值来到区间[2^23,2^24)时,这个区间的ULP为1,也就是这个坐标值在这个区间的区域是一个巨大的立方体网格,有无数个边长为1的小立方体组成,所以在这个坐标值里玩家只能一格一格地移动
基岩版用32位浮点数存储坐标,简单来说就是32位浮点数不能表示所有的数,数值小了看不出什么,数值大了就会出问题,比如16777217这个数就无法用32位浮点数表示,会向下兼容成16777216,这就导致原本在坐标为16777217的方块与坐标为16777216的方块共用一个坐标,这就形成了条纹之地

这两张图是我的见解,原本是发在某游戏盒评论区的,我的语言比较混乱而已,但我思维很清楚,结果有人说是外网机翻过来的我再说一下图里说的网格是怎么回事,我的世界中每个坐标值[2^x,2^{x+1})区间内都是一个巨大的,虚拟的立方体网格,这个大立方体网格由无数个边长为ULP的小立方体组成,每一个东西只能存在于小立方体的顶点上,那个区间里的数越大,ULP越大,小立方体的边长就越大,当坐标值来到区间[2^23,2^24)时,这个区间的ULP为1,也就是这个坐标值在这个区间的区域是一个巨大的立方体网格,有无数个边长为1的小立方体组成,所以在这个坐标值里玩家只能一格一格地移动
- 内容版权许可
- CC0 1.0 版权共享