在软件推动硬件极限的一个有趣案例中,Valve最近更新了SteamVR追踪代码以适应高级Beat Saber玩家的速度。
乍一看可能不明显,但Beat Saber对VR控制器追踪系统是一个极好的挑战。你可能会认为高速VR射击或剑术游戏会推动SteamVR追踪系统的极限,但实际上Beat Saber要求更高。
在最近的SteamVR Beta更新中(很快将推向SteamVR主分支),补丁说明中出现了以下句子:
根据Beat Saber专家的追踪数据,提高对控制器运动的人类可能极限。
尽管看起来可能只是一个玩笑,但Valve开发人员Ben Jackson在评论中提供了一些细节:
追踪系统有内部的合理性检查来识别问题。例如,如果我们的数学计算显示你在一个基站后面,很显然我们犯了个错误,因为我们不可能从基站后方接收到任何信号。其中一个检查项是关于我们认为有人物理上可能转动手腕的速度。事实证明,一个充分激发的人使用足够轻的控制器可以比我们想象的更快转动(每秒3600度!)。
实际上,Valve在SteamVR追踪代码中内置了许多假设,以便能够识别明显错误的数据(例如,控制器发出的移动速度远远超过预期)。然而,似乎其中一个假设对于某些高级Beat Saber玩家的速度来说实际上太低了,因此Valve现在进行了代码调整。
Beat Saber之所以能够如此有效地推动VR控制器追踪系统的极限,主要原因不仅仅是因为玩家的双手最高速度,还因为当玩家来回挥动双手以准时切割远处音符时,加速度发生了巨大变化。
另附:热门歌曲POP/STARS免费接入Beat Saber的所有平台
大多数VR控制器追踪系统使用两种追踪方法并结合在一起。第一个系统是控制器内部的惯性测量单元(IMU),它可以以低延迟和高频率感应旋转和平移。然而,IMU容易出现“漂移”,因此不能单独依靠它进行追踪。这就是另一个追踪方法发挥作用的地方:在SteamVR追踪中,这是人为的“基站”,用于确定被追踪物体的绝对位置和旋转,并修正IMU的漂移。然而,与IMU的快速更新频率相比,基站的更新速度较慢(约100Hz对比1,000Hz),在下一次位置校正到来之前,所有的追踪都由IMU完成。
在许多情况下,在位置校正之间的追踪时刻是通过预测来帮助的,即使用先前的运动来预测被追踪物体的下一步方向。当缓慢移动或按可预测弧线移动时,这个方法效果很好。但是,Beat Saber对于此预测来说却是一种糟糕的情况,因为追踪系统无法预测玩家何时会突然完全改变控制器的方向(在游戏中经常发生,特别是在高级别)。
尽管存在挑战,SteamVR追踪在满足Beat Saber的追踪需求方面表现出色,除了一些边缘情况,现在也已经得到修复。事实上,这个系统能够如此出色地为游戏工作,这真是太了不起了,Valve在最初选择追求如此高的追踪性能门槛时应该感到非常满意。
0