/ Roadtovr / 0浏览

独家报道:召唤与超能力——远程设计虚拟现实互动

使用赤手空拳操作物体能够利用一生的身体经验,减少用户的学习曲线。但有时虚拟物体可能会超出用户的直接操作范围,超出手臂能够触及的范围。在其交互设计过程中,手势追踪外设Leap Motion的创造者Leap Motion团队原型设计了三种有效与远处物体在VR中交互的方式。

Barrett Fox和Martin Schubert的客座专栏
Barrett Fox是Leap Motion的首席VR交互工程师。通过原型设计、工具和工作流程的搭建以及用户驱动的反馈循环,Barrett一直在推动、探索和拓宽计算机交互的边界。
Martin Schubert是Leap Motion的首席虚拟现实设计师和布道师。他曾创建多个体验,如Weightless、Geometric和Mirrors,并正在探索如何使虚拟环境更具有实体感。
Barrett和Martin是Leap Motion团队的一员,通过创新和引人入胜的方式,在VR/AR用户体验方面展示了实质性的工作。

实验一:动态召唤
第一次实验旨在创建一种高效的方式,用于选择单个静态的远处物体,并将其直接召唤到用户的手中。在检查或与物体交互后,可以将物体驳回到原位。这种方式适用于游戏、数据可视化和教育模拟等场景。

该方法包括四个不同的交互阶段:选择、召唤、持握/交互和返回。
1. 选择
许多VR开发者容易陷入的陷阱是将手看作控制器,并以此设计交互方式。在远距离选择物体是一个指向任务,并且射线投射非常适合此任务。然而,在半空中稳定地保持手指甚至整只手以准确指向远处物体是相当困难的,尤其是如果需要引入触发动作时。

为了提高准确性,我们使用头部/头显位置作为参考变换,加入偏移来近似肩部位置,然后从肩部经手掌位置通过投影一条射线指向目标(资深开发者会认识到这是最初在UI输入模块中尝试的实验方法)。这可以产生一个更稳定的投射射线。

除了稳定性,还向远处物体添加了较大的代理碰撞体积,从而产生更大的易于击中的目标。团队还对较大的代理碰撞体进行了一些逻辑处理,这样,如果目标射线击中远处物体的代理碰撞体,直线渲染器将弯曲到该物体的中心点。结果是线渲染器在每个目标物体周围的区域之间会发生一种“吸附”,从而使得选择更加准确。

确定选择方式之后,下一步是确定何时激活“选择模式”。因为一旦物体被接近,用户就希望退出选择模式,回到正常的直接操作模式。
由于将射线从手中发射到不可触及的目标上是一种非常抽象的交互方式,团队考虑了相关的物理隐喻或偏见,以锚定这一手势。当一个孩子想要某物离自己更远时,他们的自然反应是伸手去够,张开手掌并伸出手指。

这个动作被用作激活选择模式的基础:当手与头部的距离超过一定距离,并且手指伸展时,我们开始对潜在的选择目标进行射线投射。

为了完成选择交互,还需要一个确认动作,即标记悬停的物体是我们要选择的物体。因此,当手指握紧并悬停在物体上时,将选择该物体。手指弯曲,悬停的物体和其周围的高光圆圈略微缩小,模仿挤压动作。一旦完全弯曲,物体回弹到原始比例,高光圆圈改变颜色以确认选择。

2. 召唤
为了将所选物体召唤到直接操作范围内,我们参考了真实世界的手势。将物体拉近的常见动作从手掌平摊向上开始,然后迅速将手指弯曲。

在选择动作结束后,手臂伸展,手掌朝远处的物体,手指握拳。我们为召唤动作定义了启发式规则,首先检查手掌是否朝上(在一定范围内)。一旦满足条件,我们检查手指的弯曲程度,根据手指的弯曲程度驱动物体沿路径向手掌方向动画移动。当手指完全弯曲时,物体将完全动画进入手中并被抓住。

在测试阶段,我们发现在选择一个物体后,许多用户会伸出手臂,手掌朝向远处的物体,手指握拳,然后简单地甩动手腕并将握紧的手朝自己方向转动,仿佛将物体朝自己拉过来。考虑到我们的召唤启发式规则(手掌朝上,然后根据手指弯曲程度驱动动画),这个动作实际上会立即将物体完全召唤到用户手中。

这种选择和召唤的单一动作比两个离散动作更高效,尽管两个离散动作提供了更多的控制。由于我们的启发式规则足够灵活,允许这两种方式,我们保持了这种设置,并允许用户选择他们想要的交互方式。

3.拿取和交互
一旦物体到达手中,所有召唤特定逻辑都会停用。可以将物体从一只手交给另一只手,放置在世界中,并与之交互。只要物体在用户的手臂够得着的范围内,就不能通过召唤来选择它。

4.归位
完成了对物体的操作,现在怎么办?如果将物体抓住并伸展到手臂的最大长度(头部位置距离一定半径之外),将显示一个路径渲染器,显示物体返回到起始位置的路径。如果在路径可见时放开物体,物体会自动动画返回到其锚点位置。

总体而言,这种实现感觉准确且不费力。它轻松实现了最简单的召唤版本:从锚点位置选择、召唤和返回单个静态物体。然而,它并不太具有物理感,过于依赖手势,并且物体沿着预定路径在两个定义位置之间动画移动。

因此,最好将其用于召唤非物理物体,如用户界面,或者在用户坐着且物理活动能力有限的应用程序中,用户更喜欢精确的点对点召唤。

续第2页:超能力»

实验2:超能力
第一个实验处理了沿预定路径召唤和解散一个静态物体,我们还想探索如何召唤动态的启用物理的物体。如果我们能将物体向用户投掷,并使其落在他们的手中或仅在直接操作范围之内怎么办?这种方式的设计灵感来自于使用力量拉动物体、麦格尼托将枪从敌人手中拉走、魔法师互相解除武装以及其他现代媒体中出现的幻想能力。

在这个实验中,可以召唤的物体启用了物理功能。这意味着它们不像放在架子上那样在眼睛水平上,而是更可能靠在地上。为了使选择它们更轻松,我们决定将选择模式的手势从上方手掌朝目标的姿势改为更放松的手掌朝上,手指指向目标的姿势。

为了实现更快速、更动态的召唤,我们决定将悬停和选择合并为一个动作。保持相同的底层射线投射机制选择方法,我们简单地取消了选择手势的需求。保持相同的手指弯曲召唤手势意味着用户可以通过向上打开手掌指向物体,然后弯曲手指来快速选择和召唤物体。
最初,我们将手作为计算召唤物体向用户发射的弹道的目标。这感觉有趣,但是物体总是完美地落在手上的感觉不太符合物理原理,更像是动画的召唤。为了对抗这一点,我们将目标改为用户前方的一个偏移位置 – 再加上一个轻微的随机扭矩来模拟爆炸式发射。在发射点添加一个小震波和一个点光源,并根据每个物体的当前速度触发其发光,完成了爆炸效果。

由于交互已经被大大简化,甚至在第一个物体未落地之前,用户就可以连续快速地召唤多个物体了。

用户甚至可以在已经向用户飞行的物体中空中再次召唤物体。

这个实验成功地让人感觉到比动画召唤更加动态和基于物理。交互阶段的简化使它显得更加随意,并且启用物理带来的差异性使它更加富有趣味性和乐趣。虽然物体偶尔会着陆后仍然无法触及,但只需再次召唤它就能使它靠近。虽然我们仍然使用手势召唤,但这种方法比之前的方法更加基于物理。

继续阅读第三页:伸张手臂! »

实验三:伸张手臂!

在Leap Motion的第三个也是最后一个实验中,我们不仅仅是通过手势命令一个远离的物体靠近,而是探索让用户的手臂变长以抓取远处的物体。

我们的想法是将虚拟手投射到远处的物体上,以允许用户像站在物体旁边时一样抓取物体。然后,一旦抓住物体,用户将完全控制住物体,可以将其拉回到正常范围内,甚至重新定位和释放它。

这种方法涉及了一些有趣的神经科学概念,如身体图式和周身空间。我们的大脑不断利用传入的感觉来建立我们身体及其各个部分在空间中的位置,以及我们周围的空白空间,在其中我们可以立即行动。当我们使用工具时,我们的身体图式扩展以包含工具,我们的周身空间也会随着使用工具时的伸展而扩大。当我们使用耙子或开车时,这些工具在我们的大脑看来成为我们身体的一部分。

图片由Sandra Blakeslee & Matthew Blakeslee提供

我们的身体图式是一个高度适应的心智模型,用于适应物理工具。通过虚拟手段延伸我们的身体图式似乎几乎与自然一样。

对于这个实验,我们的方法集中在将我们的物理达到空间重新映射到一个放大的投影空间上,从而将我们的手臂延伸到远处的物体。同样,整体的交互过程可以描述为几个阶段:选择/悬停,抓取和持有。
1. 选择/悬停
为了选择一个物体,我们能够重新利用之前执行中的很多逻辑:通过肩部和手掌进行射线投射,以命中围绕远处物体的较大代理碰撞器。一旦射线投射命中物体的代理碰撞器,我们将一个新的蓝色图形手投射到物体的位置,以及包含实际抓取动作的物理碰撞器的底层虚拟手。我们使用了类似于之前执行的捕捉逻辑,因此当一个物体被悬停时,蓝色投射的手会被快速定位到物体的正前方准备好抓取。

通过射线投射远处物体的代理碰撞器,发送一个投射的手并将其定位到物体的正前方,准备好抓取。作为另一种选择,我们尝试了一种无需捕捉的方式,即悬浮在远处物体上并投射出一个绿色手,但让用户保持对自己手的完全控制。这个想法是允许完全自由的操作,包括对远处物体的轻触联系。
为了做到这一点,我们将手的可及范围重新映射到一个预设的投影空间中,该空间足够大,能够涵盖最远处的物体。然后,每当射线投射到物体的代理碰撞器时,我们只需将投射的手发送到相应的位置,让它在射线仍然命中代理碰撞器时自由移动。这样就在每个物体周围创建了一个小的气泡,在其中可以用投射的手自由悬停。
自由悬停在远处物体上,允许对远处物体进行轻触联系。
与虚拟物体进行正常的轻触联系交互需要一点时间适应,因为从游戏引擎的角度来看,手是不可移动的对象,具有不可阻挡的力。当操作在投影放大的空间进行时,这种效果会被放大。真实手的微小移动会因为投影手与真实手的距离而被放大。通常,当我们试图在远处物体上滚动手时,我们实际上会强力地将它们拍开。经过一些测试后,我们放弃了自由悬停并继续使用捕捉悬停。

2. 抓取
在这个执行过程中,抓取就像使用底层虚拟手模型抓取任何其他虚拟物体一样简单。由于我们已经将蓝色投射手捕捉到远处物体直接前方的一个方便的变换上,所以我们只需要抓取它。一旦捕获到物体,我们进入了真正的核心执行部分,即投影空间中的物体持有行为。

3. 托持
在抓取远处物体时,使用与该物体的距离创建一个投影空间,将实际可及范围重新映射到该空间上。这个投影空间意味着手在弧线上移动时,投影手也会在投影空间内的同一弧线上移动。

然而,当将手靠近身体时,投射空间会动态调整大小。当实际手和参考肩膀位置之间的距离接近零时,投影空间接近实际可及空间。

一旦手几乎与最远处为近,投影空间几乎等于实际可及空间时,投影手融合到实际手中,用户直接拿着物体。

这个动态调整大小的投影空间持有行为背后的逻辑听起来很复杂,但实际上感觉起来就像是人体的一种自然扩展。
经过一些练习,这种“伸展手”开始感觉几乎就像普通手,只是有更长的可及范围。它们使得远距离投掷、接住和搬移成为可能和有趣!

“伸展手”感觉很神奇。经过几分钟的适应激活启发式规则,一个人真的可以感受到感知空间扩大,覆盖整个环境。之前无法触及的物体现在只需等待额外的一秒钟,投射手就能够到达它们。与其他两种执行方式相比,这种方式更像是对身体能力的真正虚拟增强。我们期待在这个领域看到更多的研究工作,以便我们的身体图式能够被拉伸到极限,并赋予超能力。
另请参阅独家报道:Leap Motion 探索使无控制器输入更直观和身临其境的方法。

0

  1. This post has no comment yet

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注