虚拟世界:如何感知虚拟对象的重量?

英文来源: Simulating Weight in VR
作者: B-Reel
译者:屠敏,欢迎技术投稿、约稿,给文章纠错,请发送邮件[email protected]

VR发展态势愈加迅猛,但仍有许多不尽完美之处,当前的VR运动控制器暂没有生成电阻的方法,那么如何才能让体验者在虚拟世界中感受到虚拟物品不同的重量?近日,一家名为B-Reel的创意机构探索了几种VR中物体重量的方法并分享了开源实验以供大家参考,接下来让我们一起进入这个奇幻之旅吧!

图片描述

视觉vs物理交互模型

目前,大多数的VR界面由简单的2D模型画面组成。但在游戏中,相对来说,视觉转向较少,更多的是物理交互。如Comic Trip,很好地运用了物理按钮导航菜单项;Job Simulator,这款游戏中完全消除了旧鼠标的操作。

图片描述
Cosmic Trip (左) Job Simulator (右)

B-Reel选择的方法是虚拟世界中用户与事物交互时人为模拟重量。具体来说,先通过减慢用户举起事物的行为速度从而人为感知物品重或轻,若是重的物品那么用户行为速度会慢,反之轻的物品用户速度正常。

此次探索的目的是希望将此技术运营到所有平台的运动控制器中:从Daydream的Wiimote风格控制器到具有先进Room-Tracking控制器的Vive和Oculus。基于此,B-Reel首先选择最先进的平台(Oculus、Vive)设计,然后探索基于Daydream平台的简化,最终聚焦Gear VR和Cardboard的控制操作。

图片描述

此实验中选用Unity作为开发引擎。

目标

  • 使用Unity开发促进提升团队工作流;
  • 构建基本“样版”环境,以促进未来VR实验可以快速启动与运行。

过程

运用Git协作和跨平台共享资源。场景可以“被签出”同时被编辑,其他人可以在组合式预制房中将其合并到主场景中。

  • 准备

固定的物理对象无法测量出重量,显而易见,虚拟世界中很多概念与现实世界相同。对于VR中的很多事情,业界暂还未达成共识以“正确”方式处理这些行为。在探索实践中,感知物体重量的方法被分为两大类:直接连接(控制器与物体之间创建一个固定点)和间接连接(调整速度或运用吸引力吸引事物向控制器方向移动)。

图片描述
直接连接

直接连接,虚拟世界中的事物与控制器一对一匹配。如果控制器相对于物品重量移动太快,连接会中断最终物品会掉落。

图片描述
间接连接

间接连接,不同重量物品有不同的连接优势。控制器控制轻的物品相对较快,有直接连接的感觉。重的对象相对比控制器的移动速度慢,并需要更多的“力量”。想要获得良好的用户体验,需要做到:

1.在虚拟世界移动的画面中显示控制器(保持1:1追踪),避免用户有不沉浸感。
2.一旦虚拟事物触碰到控制器,提前形成直接连接。实践中发现,最具沉浸感的感知物品不同重量的动作是“捡”。

  • 探索其他感知

除了人为移动和抓取事物感知不同重量外,探索其他感知反馈也同样重要,如可通过视觉和触觉反馈。

视觉反馈主要通过“看”的方式,检测物体移动速度,其取决于连接的类型。对于直接连接,可使用各种测量仪器和公尺测量显示控制器的速度。其中我们发现更简单且更好的方法,选用一个基于绿到红的公尺测量器,将其连接到控制器,当物品吸附在控制器上,其移动速度接近断开的临界值时公尺颜色会被填满。对于间接连接,可以更有效的可视化控制器与物品之间的连接,随着张力的增加,测量器的颜色由绿色变为红色。

图片描述

触觉反馈,与视觉指示器相同的逻辑,应用控制器的振动。当用户使用控制器移动的物品其张力接近临界值时,控制器振动强度增加。

测试-调试-测试

所有这些有关的因素,看起来是一个永无止尽的探索。因此需要测试与比较,首先可以在相同的环境中多次测试。先测试,后调整,再测试。

最终保留影响各种因素的最好演示方法。最主要的差异不是基于物理交互——而是,在物理交互中专注了具有次要影响的视觉和触觉反馈。

图片描述

  • 初始状态

控制器连接虚拟对象,但将通过静态配撞器连接。这是没有重量模拟的最简单的捡物品形式。

  • 触觉反馈

控制器连接虚拟对象,在碰撞中复位,或因控制器相对于物品重量移动过快掉落。控制器震动强烈是因为其速度接近临界值(吸附物品张力)。

  • 视觉反馈

控制器连接虚拟对象,在碰撞中复位,或因控制器相对于物品重量移动过快掉落。因其速度接近临界值时测量器颜色被填满。

  • 视觉和触觉反馈

控制器连接虚拟对象,在碰撞中复位,或因控制器相对于物品重量移动过快掉落。测量器颜色满格且控制器震动当速度达到临界值。

虚拟对象运用力吸引控制器,因此当其接近控制器时,速度增加。

  • 速度(因张力连接会断开)

虚拟对象的速度可被控制器调节。若控制器与对象之间的张力超过临界值,虚拟对象掉落。

  • 速度(连接从未断开)

虚拟对象的速度可被控制器调节。虚拟对象永远不会掉落,无论其张力多大。

在这一点上,我们想要从用户输入与团队输出上探索哪些因素是有用和不必要的。

此处创建了两个场景用于用户测试。两个场景中,在用户周围安排七个位置。第一个场景中,设置单独的虚拟对象位置,因此测试者可以直接比较每种方法移动虚拟对象的感觉。通过实验,我们提出一系列的问题:哪一个虚拟对象感觉最重?倾向使用哪种方法挑选虚拟对象?哪个方法最自然?

图片描述

第二个场景是在每个位置设定不同重量的多个虚拟对象。通过这种方式,用户以同一种方法感知虚拟对象的重和轻之间的变化。然后在相同的环境下比较其他方法。

图片描述

经验总结

进行该实验,未必能够会有一个“正确”的答案,但是我们可以从中得出很多结论。

  • 间接连接最适合出现连接可能断开的情况

据此次测试报告,间接连接能够最自然地传达重量的感觉。没有严格的张力中断,虚拟对象开始可能是轻浮的并且对于用户的移动没有反应。连接中断导致虚拟对象掉落,却能迫使用户有意识地选择其行为感知虚拟对象“重量”。

  • 除了交互中重量是至关重要的,重量是一个烦恼

测试人员享受与间接联系的互动,并且许多人认为这不仅有趣而且好玩。当有节制地使用并有意地关注重量相关的事情时,间接连接有助于未来的探索。但需要捡起更多的虚拟对象时,绝大多数人都选择了最简单的直接连接。

  • 不要忘记声音感官

不妨思考一下声音会如何加强物理方面的环境,可以从重物撞击地面或因重物重量不同相互摩擦的声音来区别重量差异。

  • VR中“基本”交互看起来更复杂

基于物理交互模型要比传统基于屏幕的用户体验复杂得多,因为有很多因素影响最终结果。

总结

我们发现很多在剖析模拟重量交互的仿真值,并了解时间始终是一个限制因素,想要分解每一个交互的元素是一项不可能完成的任务,但优化和面对未来不可避免的更具体的交互是识别和分解交互未尝不是一个好的方法。

经验之谈,很多情况下,模拟重量时强加限制并不受欢迎,因为那会减慢用户速度,吸引用户目光的是交互本身而不是行为。因此除非设计中需要特别要求注意事物的重量,使用直接连接会更简单。

这也意味着,当其张力太高时间接连接会断开。我们有足够的空间来调整和探索,并考虑其他因素:不规则形状或对象的起始位置,或者使用两只手接东西。这只是一个开始。

GitHub下载地址:https://github.com/b-reel/vr-weight


2016 年 9 月 23-24 日,由 CSDN 和创新工场联合主办的“MDCC 2016 移动开发者大会• 中国”(Mobile Developer Conference China)将在北京• 国家会议中心召开,来自iOS、Android、跨平台开发、产品设计、VR开发、移动直播、人工智能、物联网、硬件开发、信息无障碍10个领域的技术专家将分享他们在各自行业的真知灼见。

从即日起至8月7日23:59,MDCC 2016移动开发者大会门票5折优惠。五人以上团购更有特惠,限量供应,预购从速。票务详情链接

引用内容