你怎么看?还不能“呵呵呵呵”……
做了一个月的VR游戏主播,除了越来越沉迷《半条命:爱莉克斯》之外,我还在思考另一个问题:现在的VR是什么?
作为一个“中间人”,我会在直播的时候用头像来解释——我相信如果未来一定要有虚拟世界,我们一定要和我们的数字头像“深度绑定”。这种绑定不仅仅是外在的认知,现实世界和虚拟世界的体验也应该是共通的。
玩家知道,VR 游戏提供的体验与传统游戏截然不同。在 VR 游戏中,您不必坐在电脑前摆弄鼠标和键盘。你真的可以把双手握持当枪,瞄准敌人,拉动食指然后扣动扳机,如今的VR游戏可以非常准确地识别手指动作——但你不能捡起掉在里面的子弹VR 世界文件夹。
偶尔在 上闲逛的时候,看到 Lucas(美国一家 VR 创业团队的创始人)做了一个 VR 触觉手套,重点是所有零件的成本,他只花了 60 美元。
我申请将此视频重新发布到我的帐户,但没想到会收到回复。加上卢卡斯的话“你真的可以用它触摸任何东西”,这增加了我的好奇心。顺着线索,找到了一个开源教程,准备做一对。
零件购买丨图片由作者提供
以目前的技术,我并不期待“触摸到任何东西”的 VR 外围设备。但这就是让我震惊的地方。目前,在VR市场上,除了一个耳机和两个手柄之外,并没有什么新鲜事。任何以“平民价格”扩展用户体验的尝试都值得一试。
以最便宜的方式触摸虚拟
1987年,在任天堂红白机时代,手套已经承担了“输入设备”的功能,作为体感游戏的外设。
动力手套丨“”
如果你想在现实生活中在游戏中摸枪,除了让电脑识别你的手在移动,并模拟虚拟手与真手同步移动(信号输入功能)之外,你还必须等到虚拟手移动。当手握枪时,会返回一个信号——这个信号作用在手上,也就是我们常说的力反馈。
meta 发布了一个触觉手套的视频,该手套使用微流体 ( ) 技术并使用气动执行器 ( ) 通过对气泡进行充气和放气来产生精确的压力。为此,meta 表示它还在构建高速微流控处理器。当在元界“全力以赴”的扎克伯格终于拿出点东西时,另一位触觉手套开发者 HaptX 说:“元界抄袭了我们!”
meta 发展了七年,HaptX 发展了十年。我们不知道是谁抄袭了谁,但可以肯定的是,VR相关技术成熟还需要很多年(至少在普通用户接受的价格上)。
我很高兴能够以“极低的成本”实现力反馈。当我翻阅教程时,我发现了一个特别“棘手”的方法。如果 meta 和 HaptX 让你手的每一寸皮肤都成为一个受力点,那么这副手套只会将力反馈到你的指尖。
固定手指上的拉绳丨图片由作者提供
简单地说,在即将抓握物体的那一刻,立即拉动手指以防止进一步弯曲。因为弯曲范围不同,就意味着手中“握”的物体的大小和形状不同。控制手指不能继续弯曲的方式,就是给指尖一个“反作用力”。
指尖的力量丨图片由作者提供
所以手套的主体部分是一个“大门”,伸出五根拉绳缠绕在指尖,随时呼唤停下。
当轮轴转动到(伺服)限位时,方向盘会卡住轮轴上的螺丝,使轮轴无法继续转动,拉绳也无法继续展开丨图片提供作者
现在我知道了力反馈的工作原理,我需要弄清楚何时以及如何“关闭大门”。
“When”很好理解,就是虚拟手触摸虚拟世界中的物体的时刻。因此,我们需要做一个媒介,使生物体的动作信号和计算机的电信号可以相互转换,相互“理解”。这也是我认为这双手套最巧妙的设计。
旋转电位器(原理类似于初中教材中的滑动变阻器)与拉绳连接使用。当手指弯曲时,五根拉绳分别驱动五个电位器,拉绳的长度转化为电势,将器件电阻值的变化传递给虚拟世界进行分析。
课本上的滑动变阻器丨图片来自网络
还有其他基于建模“数据手套”上的 IMU(惯性测量单元)或弯曲传感器的实现。所谓惯性传感器,就是测量物体三轴姿态角和加速度的装置。它一般包括一个三轴陀螺仪、一个加速度计和一个磁力计,用于多传感器数据融合,以重建每个手指的三自由度方向。弯曲传感器更好理解。当手指弯曲时,会发生物理变形,从而改变传感器的电阻。
弯曲传感器和电位器价格对比丨图片来自淘宝
两遍数据显然更准确,但为什么不呢?只有一个答案:更贵。
电位器和拉绳在3D打印轴的帮助下“连接”起来丨图片由作者提供
了解何时以及如何“关闭大门”。显然,拉绳需要一个装置来在它的伸展和收缩过程中“卡住”它。跟着教程买了MG-90S,航模中常用的舵机,10块钱也很便宜。
应用广泛的MG-90S舵机丨图片来自亚马逊
工作了一个月,在游戏里只捡到一个酒瓶
看完教程,我很快就掌握了原理,对自己说,这个“看起来”很简单?不就是先这个,然后这个,最后那个吗?
我立即在电商平台上订购了所有的零件,这些都是生活中的一些常用工具。只有一部分现成的产品买不到(组装模块的骨架),我根据开源组件参数用家用3D打印机解决了。
当然,你也可以找环球淘宝代作者玩。图片由作者提供
然后,又是一个月的时间……同时,我深深明白了“古怪”的另一个意思是“不完美”。
当我戴上现成的触觉手套时螺丝钉模型,调整 Valve Index(VR 耳机)的位置,开始游戏《半条命:爱莉克斯》。我在熟悉的“十七城”,从背包里掏出手枪,瞄准了散落在街上的酒瓶,“砰!”在射击的那一刻,我认为应该有后坐力。事实上,在我扣动扳机的那一刻,只有我的食指被拉动了——这种体验比在公园里玩气球更“可塑性”。
但我应该成功了!我换了一个散落在街上的酒瓶,“握”在手上,我可以粗暴地“摸”到它,它是一个圆柱体。
游戏中的使用效果丨作者提供的图片
当我想更灵活地使用它们时,我发现了问题。
首先是“识别准确率”问题。我们首先要了解定位跟踪和局部跟踪是两个概念。手套的整体定位和跟踪可以通过附上一个Vive和一个手柄来实现,例如现成的跟踪技术。
手指的局部跟踪是力反馈手套的重点。组装的时候发现手套并没有设计每个关节都附有传感器,手指的弯曲状态只能通过拉绳转换的阻力信号粗略建模(Lucas可能设计了一套软件为此),对于每个关节都不够准确。
手部追踪丨图片由作者提供
第二个是“识别范围”问题。也因为手套的结构简单,我的手指只能在上下移动时识别,不能实现左右扩展、旋转等其他自由度。但卢卡斯告诉我,他已经在研究它,下一个版本的手套将有更多的自由度,通过在第一个关节处添加一个电位器来左右展开。
识别是否准确会影响力反馈的效果。另一个因素是极限位置的调整。手指不同的弯曲程度一一对应不同的极限位置,带动方向盘转动到不同的角度,进而作用在被拉伸的拉绳上。
在我的理解中,之所以能做到这一点,是因为系统预设了这个“对应”。
但是,每个人的手部情况不同,使用前需要“个性化”校准极限。调节过紧,抓物前会拉手;如果调整太松,就会像空手握拳。
没有简单的方法可以做到这一点,而是通过在佩戴耳机时感受松紧度来“估计”极限位置。摘下耳机后,拧下舵机螺丝,调整方向盘,等等,直到恰好抓住了虚拟世界中的物体。
不断调试极限位置丨作者提供的照片
另外,长时间拉伸会导致拉绳和手套变形。由于整套不完全贴合手部,而是粘在手套上,手套的轻微位移也会造成力反馈的误差。
优化体验停不下来!可以转化,也可以通过大脑来补充
在手套实际使用之前,有一个小插曲。
经过多次调试螺丝钉模型,舵机仍然一动不动。跑到楼上求救,网友告诉我,不是舵机线接错了开发板,而是电流太小,带不上舵机。我需要单独连接一个新的移动电源到伺服,而不是与开发板共享一个移动电源。
的群组有 14,000 名关注者。有人对这副手套进行了改进,将拉绳换成更坚韧的塑料片,解决拉绳容易变形的问题。
也有人直接改变结构,做成外骨骼形状,为更多的传感器留出空间。很多开源项目不会包罗万象,反而会留下很多“空白”,让技术爱好者自己去探索。
外骨骼版丨作者供图
卢卡斯在他的演示中将戴上手套的 VR 体验描述为令人兴奋。在《半条命:爱丽克斯》中,你可以捡起汽水罐,扔出去,走到车上,打开车门上车,甚至在遇到危险时爬墙逃生。然而,这更像是一种带入其他感官体验的“大脑补充”。顶多会遇到靠墙的阻力,不会有逆重力爬上去的感觉。
知道了这一点,当我第一次戴上这只手套的时候,我就觉得这个物体有大有小,有圆有方,哪怕只是指尖钝的“触碰”,还是让我觉得小说。在此之前,我什至无法想象“清空”一个玻璃瓶。
大约在我制作手套的同时,我制作了自己的全身追踪器。与手套“类似”,我做了五个传感器并将它们绑在脚踝、大腿和腰部(因为软件没有对上肢进行建模)。五个传感器首先通过 T-pose 复位识别绝对位置,然后通过“识别相对位置并将电信号解析成虚拟人体动作。有了这副手套(手柄)和头戴式显示器,你可以让“老二次元”在里面欢快地跳舞。
代码也开源丨图片来自
几个月前,我在互联网上发布了自己的视频并获得了随机关注。当然这还不是最让我兴奋的。在“全身追踪器”视频发布两个月后,最重要的部件 BNO-080(九轴传感器模块)在淘宝上从 90 元涨到了 300 元。 (在此之前,没有人教过自制的全身追踪器,所以假设我激发了老二维人的爱。)
传感器模块丨作者提供图片
当然,我收到的不只是“赞美”。我 3D 打印了一个适合小风扇的模型,将它连接到耳机上,解决了闷热问题。
自制VR头显风扇丨图片由作者提供
这一次,我的解决方案因噪音太大而被嘲笑——“像机场一样”,因为使用的风扇太便宜了。