V
主页
通过 浮点数舍入误差 增大碰撞箱体积【Curcuit Store】【MCJE】【内嵌中字】
发布人
https://www.youtube.com/watch?v=ScElwg857ck ------ 内容摘要:由于玩家的碰撞箱的长宽高实则上是碰撞箱各轴上的两面之间距离,且这两面坐标采用浮点数,因此在某一轴上多次引发浮点数舍入误差,碰撞箱的某两面距离就会随着时间逐渐增大(或缩小)。 (更详细的解释请见 原简介翻译 部分) 视频内演示版本:1.16.1 ------ 原上传者:Curcuit Store 原上传日期:2023年3月15日 原标题:Hitbox Expansion using Rounding Errors 原简介翻译: 我不知道这玩意的背后是整活大于弊端,还是弊端大于整活。 总而言之,游戏并不会经常确认玩家的碰撞箱大小,因此多次引发浮点数舍入误差,碰撞箱就会随着时间逐渐增大(或缩小)。 我猜它会随时间越来越大: 免责声明:我不太能解释这一点,我不得不为这个视频用谷歌搜浮点数(我的意思是,我知道有那么个东西,但是“mantissa(尾数)”是个啥,一个老太太的名字?)。 玩家的碰撞箱被定义为各个轴上的较小 A 坐标和较大 B 坐标。 它们之间的距离即你的碰撞箱的 长度/宽度/高度。 当玩家移动时,游戏会计算你在各个轴上的移动距离,然后将各方向移动距离值添加到各轴所属的较小A坐标和较大B坐标上。 (你的实际位置会被设为这个新碰撞箱的底部中心)。 据我的推断,由于 A 和 B 俩坐标都被添加相同的值,它们之间的距离应该始终相同。 事实上,游戏只会在你尝试更新碰撞箱体积时才会重置碰撞箱为默认值,如 潜行/停止潜行/游泳/重登服务器/等等。 从数学上讲,我认为我的推断没毛病,但涉及到浮点数了,它就会有问题。 要考虑的是,浮点数只有这么高的精度,因此添加数值时并不会总得到完美的结果。 但只要精度一致,就不会有任何问题,因为所有东西都有着相同的偏差。 但遗憾的是,精度并不一致。 每当该值超过 2 的幂次方 时,精度就会越来越差(超过一个幂次方精度就减半?)。 因此,在视频中,我跑到一个世界中可到达的最高的 2的幂次方 坐标(2^24,即 16,777,216)的 X 轴坐标。 之后在该坐标处,我把碰撞箱 X 轴上的较小 A 坐标搁在该坐标的一侧,将较大 B 坐标搁在其另一侧。这会使得两者的坐标精度会略有不同。 当我在 X 轴上移动时,有概率使 A 坐标的舍入误差与 B 坐标不同。虽然误差值很小,但它仍会使该轴上的碰撞箱两面距离增加(反之,则减少)。 于是我就这样挂了 1000 小时(实际上只花了 33 小时,因为 TPS 设的是 600),最后碰撞箱宽了大约 0.12m! 理论上,如果你能跑出世界边界进行操作,随着精度的降低,效果会更加明显,但是,呃,办不到。还是理论上讲,你也能在接近世界原点的地方进行操作,但即便是在 X=8192 处,碰撞箱大小变化也就将近0.000000000001m,这意味着碰撞箱需要大约 一千年 的时间才能增长 1m。它也适用于其他轴,包括Y轴,但在不超过 Y=256 的情况下,你要一刻不停地跳 50 万年才能增高 1m。 也许会有更好的方法,但照我所说的做,你的碰撞箱大小实际上 每gt 改变的是 最小的 可能值,但我总算整成功了个通用装置,鄙人认为足矣。 要注意的是,在服务器里,服务器几乎时刻确保玩家碰撞箱的大小正确。 因此,即使你的碰撞箱大小变得很奇葩,服务器仍然会认为它是 0.6x1.8x0.6。借此能做一些有趣的事情,但我认为这正使得小碰撞箱毫无用处:它要么让你被服务器插件踢,要么自身被服务器重置。 这也可能意味着其他实体的碰撞箱没这个特性,我说不清。 没啥用,但好玩,这就是我们的发现(我是说,好像自 2013 年以来就没有其他的 4 人跑酷社区知道这特性)。 老实说,我看这对于浮点误差校正自己(译者补充:关于浮点误差校正实体:BV1zd4y1G73J )很有用,但谁又会这么做,哈哈。
打开封面
下载高清视频
观看高清视频
视频下载器
【自翻中字】Y=0 的原木?这怎么可能......
【MC】所有3072种热带鱼都在这了
我们 再次超越了极限!9241386435364257984格
【MC色卡】常规颜色的可运用方块
这可能是全站最全最系统的边境之地科普视频
这就是强制给存档降级的后果
我的世界碰撞箱抓法
【授权转载/不用烤】53秒通关Minecraft [世界纪录](HanabiYaki)
PVP,但是逆天受伤抖动视角
这可不是两个小水池
MC 快速提升建筑质感:做旧
【MC】全网最丝滑彩虹信标
全新基岩版客户端Lyra Client!动态模糊,无受击抖动,自动疾跑,碰撞箱显示?!
直接输入种子码居然不会是那一张地图!!种子码0有甚么特别之处!!!!
这可能是全站最全最系统的「距离现象」科普视频
【数据MC】一分钟看完游戏中全部的不可再生资源
仅需≤1ms便可/hub的方法?
【全网首发】条纹之海?!线条世界?我居然看到了2009年MC第一个版本的边境之地!!?【史蒂夫·硬核揭秘】
【MC跑酷】MC中最远可以跳过多远?国外大神用数学方法带你揭晓答案
这幅画背后的种子被找到了!-我的世界
突破重重限制,我们来到了世界的尽头……【SysWOWBrO3·边境第三季特别篇】
[MC]当把世界生成器中几乎所有数值改成-1会怎样 By.Phoenix SC
免费兑换正版MC?实则骗局!pointsprizes的割韭菜套路
【冰迷/MC分析】碰撞体积与碰撞箱的区别(第十五期)
我的世界知识小课堂1:MC中的“碰撞箱”
【PhoenixSC】看来这个玻璃板激怒了很多人。😳
告别看不清,告示牌大字体图案生成器
[Mcbe] 飞行检测(已失效)
【PhxSC】如果你在观察者模式中死亡了,这就会发生
探索Terasology中精度丢失造成的距离现象
[网易我的世界2.12] 碰撞箱脚本制作教程,算法讲解。
【仿JAVA半透明渐变碰撞箱】快快进来白嫖!!!
【MCBE】两款红石材质包推荐-[红石信号强度加生物碰撞箱显示]
无限末影龙高经验雨[概念验证]【MCJE 1.12-1.21.1+】
BUGjong,关于我燃料准备地毯复制结果变成玻璃复制这件事,你怎么解释
【中字】探索MC最令人不安的未解之谜
【中文字幕】Minecraft的虚空有多深?
哔哩哔哩也有距离现象力
如何在你的基岩版上拥有动态模糊,自动疾跑,开关碰撞箱(最新版本)
当MC中的渲染距离增加到30,000,000格!(不是标题党)