今天的VR动作控制器无法产生阻力反馈, 那么我们如何使用户感受和行为就像虚拟物体具有不同的重量一样呢?创意机构B-Reel探索了几种方法,并将他们的实验开源,供其他人学习。
B-Reel嘉宾文章
B-Reel是一家创意机构。成立于1999年的斯德哥尔摩,现在我们是一个在全球6个办公室拥有超过170名设计师、开发者、作家、策略师和制片人的大家庭。对工艺和技术创新的热爱驱使我们不断寻求意外之处。我们的流程是平坦、快速、有趣的,从思考到制作保持完整。B-Reel进行策略规划、概念设计、编码、动画制作、导演和解决问题。
在过去的一年里,我们喜欢在虚拟现实中工作——从公司内部项目到我们与Google Daydream一起进行的IO 2016工作。我们坚信,虚拟现实的未来是光明而富有探索机会的。
另请参阅: Lucid Trips的无畏创造力正是VR所需要的
在我们过去的虚拟现实尝试中,我们创造了完全独立的体验,以帮助我们更好地理解这种媒介的工作流程和制作要求。但这一次,我们想更深入地探索驱动虚拟现实体验的一些细微的交互原理。我们特别受到了Daydream团队对更实用驱动的虚拟现实平台以及实现这一目标所需的交互方法的启发。因此,我们决定从孤立一个具体的交互开始,逐渐加深探索。
选择重点:视觉交互模型与物理交互模型
目前,大多数实用型虚拟现实界面都是以浮动的简单二维平面为锚点。但在游戏方面,已经明显转向了更少视觉化、更多物理交互的模式。例如《Cosmic Trip》精妙地使用物理按钮来导航项目菜单;《Job Simulator》则几乎完全消除了旧的点-and-click交互范例。
[gfycat data_id=”CriminalImpartialGoldenmantledgroundsquirrel” data_autoplay=true data_controls=false]
Cosmic Trip (左) Job Simulator (右)
我们围绕这个前提进行头脑风暴,发现自己对在虚拟现实中模拟物体的重量感兴趣。具体而言,我们能否通过控制用户拿起物体的速度来人为地模拟物体的重量感?重的物体需要慢慢地拿起,而轻的物体可以正常拿取。虽然这不是一个新的想法,也许不直接适用于实用性环境,但我们觉得这将是一个有趣的探索方向。
我们希望通过这次探索能得出适用于所有带有动作控制器的平台的结论:从Daydream的类Wii控制器到Vive和Rift的高级房间追踪控制器。考虑到这一点,我们决定为最先进的平台设计(在Oculus Touch推出之前,那就是Vive),然后再探索简化适配Daydream的方法,甚至是针对Gear VR和Cardboard的凝视式控制。
VR动作控制器
至于生产软件,我们在熟悉Unity的同时也对Unreal的渲染潜力很感兴趣。目前我们选择了Unity,并希望在未来的探索中更多地了解Unreal。
定义目标
我们过去的VR项目都是比较随意的,使我们在未来很难复用。因此,我们在这次探索中设定了一些高层目标。即使没有其他成果,如果我们至少解决了以下问题,那就算是一定程度的成功:
在Unity中发展我们的合作工作流程,使更多团队成员熟悉该工作流程。
建立一个基本的“样板”环境供我们内部使用,以便未来的虚拟现实实验能够快速启动。
过程
有了我们的方向和目标,我们组建了我们的团队:三名3D/动作艺术家,两名设计师和一名创意技术专家。我们使用Git来协作和共享资源。场景可以被“签出”和一次只有一个人进行编辑,其他人可以在预制件上工作,然后将其合并到主场景中。在这样一个小规模下,这种方法对我们来说很有效,但我们正在积极探索如何将其扩展到更大的团队和项目,以避免混乱。
步骤1:成为物体拾取专家
在探索重量之前,首先要掌握物体的基本物理学原理,很快我们发现这些概念其实是一致的。与大多数虚拟现实中的事物一样,行业内对于处理这种行为的“正确”方式尚未达成共识。因此,我们尝试了许多选项,它们自然地可以分为两类:直接连接(简单的父子关系,创建固定关节)和松散连接(调整速度或使用力来将物体吸引到手柄)。连接类型决定了我们用于模拟重量的方法。
直接连接
在直接连接中,物体与手柄的运动一一对应。如果手柄的移动速度对于物体的质量来说过快,连接就会断开,物体会掉落到地面上。
松散连接
对于松散连接,物体对于手柄具有不同程度的吸引力,这取决于它们的重量。轻物体会快速反应,就像是直接连接一样。而较重的物体则会滞后于手柄,并且需要更多的“力气”来举起。我们并没有对此抱有太高的期望——物体会破坏1:1的追踪,这在虚拟现实中是一个相当大的错误——但令人惊讶的是它的效果非常好。我们将这归因于两个因素:
在举起物体时,我们仍然显示手柄(保持1:1的追踪),以避免用户感到无法直接操控环境的感觉。
一旦物体到达手柄位置,我们将其捕捉并建立直接连接。在发现重量感在“拾取”动作过程中最有效后,我们添加了这个机制,而后续只会分散用户的注意力。
请翻至第2页继续阅读>>
步骤2:探索其他感知线索
除了拾取和抓取的机制之外,我们认为探索其他形式的反馈来传达物体的重量是很重要的。这表现在两个方面:视觉和触觉反馈。在这两种情况下,我们试图加强用户在手柄接近给定物体的张力阈值时所感受到的“压力”。
视觉反馈取决于连接类型。对于直接连接,我们探索了各种各样的仪表和表盘,用于表示手柄的速度。我们发现简单的方式效果更好,最终选择了一个基本的连接在手柄上的绿到红的表盘,它在速度接近一个物体的阈值时变满。对于松散连接,更有效的方式是将手柄与物体之间的连接可视化为一个“线”,随着张力的增加,它从绿色变为红色。
仪表
对于触觉反馈,我们使用了与视觉指示器相同的逻辑,并将其应用于手柄的振动。当用户接近张力阈值时,手柄的振动会变得更强烈。这是一种简单而有效的方法。
步骤3:测试、调整和测试
有了所有这些因素,我们有一个似乎无穷无尽的排列组合要探索。所以为了测试和比较,我们在同一个环境中尝试了多种实现方案。我们尝试了一些方法,进行调整,然后再次尝试。
最终,我们缩小了范围,选择了我们认为最能展示各种因素对拾取行为影响的方法。大多数主要的差异甚至不是基于物理学,而是关注次要视觉和触觉反馈对物理交互的影响。重力模拟。
2. 带有触觉反馈的固定连接关节
物体与控制器连接,碰撞后重新定位,如果控制器移动速度对其质量过快,则物体会掉落。随着控制器接近速度阈值,控制器的震动感增加。
3. 带有视觉反馈的固定连接关节
物体与控制器连接,碰撞后重新定位,如果控制器移动速度对其质量过快,则物体会掉落。当控制器接近速度阈值时,一个指示器会填充。
4. 带有视觉和触觉反馈的固定连接关节
物体与控制器连接,碰撞后重新定位,如果控制器移动速度对其质量过快,则物体会掉落。一个指示器会填充,并且当控制器接近速度阈值时,控制器会震动。
5. 力量
物体通过受力被吸引到控制器,因此随着靠近控制器,物体的速度增加。
6. 速度(张力断开连接)
通过调整物体的速度,将其吸引到控制器。如果控制器和物体之间的张力超过其质量的阈值,物体会掉落。
7. 速度(连接不会断开)
通过调整物体的速度,将其吸引到控制器。无论紧张程度如何,物体都不会掉落。
在这一点上,我们希望获得团队外部人员关于哪些因素对测试的结果有帮助、有害或不必要的反馈。
我们为用户测试创建了两个场景。在两个场景中,我们在用户周围安排了七个站点。我们的第一个场景每个站点有一个物体,以便测试者可以直接比较使用每种方法拿起物体的感觉。当他们通过各个站点工作时,我们提出了一系列问题:哪个物体感觉最重?如果你必须拿起许多物体,你更喜欢哪种方法?哪种方法感觉最自然?
我们在第二个场景中引入了在每个站点具有不同重量的多个物体。这样,用户可以看到单一方法如何在重和轻的物体之间传达重量的差异。然后,他们可以将其与同一环境中的其他方法进行比较。
继续到第3页>>
主要观点
虽然我们在测试中看到了一些高层次的趋势,但没有一个单一的实现是共识的首选。这并不意外;在进行这个练习之前,我们就认为永远不会有一个“正确”的答案。但我们能够从我们接收到的反馈中得出很多结论。
灵活的连接在连接可以断开时效果最佳
我们的测试者报告说这种机制最自然的传达了一种沉重的感觉。没有严格的张力切断,物体可能开始感觉漂浮,对用户的移动反应迟钝。断开连接有助于让物体接地,并迫使用户有意识地改变行为以适应物体的“重量”感。
但除非它对交互至关重要,否则重量只是个麻烦
我们的测试者喜欢与灵活连接进行交互,许多人认为这种机制有趣且有趣。当它被节制地使用时,有目的地引起对某物重量的注意力,我们认为灵活连接可以是一个有用的系统来进一步探索。
当效率是优先考虑因素时,当我们问我们的测试者如果他们必须拿起许多物体,他们会选择哪种方法时,他们绝大多数选择最简单的直接连接。人们不想被“强制性”的提醒人类的不足而被拖累时,这是一个例外。
这可能会在某种程度上影响我们未来的项目。如果精确模仿现实很重要,我们可能会避免让用户尝试拿起非常大或非常重的物体。或者我们可以选择接受它。可以说,虚拟现实最令人兴奋的方面之一是它使我们能够看到和做一些在现实生活中不可能的事情。
欢迎更多的反馈 – 别忘了声音!
测试者倾向于更多的反馈,而不是更少的反馈,只有一个例外:如果测试者无法清楚地理解视觉反馈与他们的动作之间的关系,他们会觉得视觉反馈会分散注意力。否则,视觉和触觉的包含是有用的。
最后如果还没有提到的话,请考虑声音如何加强环境的物理特征。当我们决定为这个练习添加声音时,并没有多加思考。但事实证明,声音对我们的测试人员对重量的感知产生了巨大影响。沉重物体着地或相互摩擦发出的重击声加强了质量差异。
虚拟现实中的“基本”交互比看上去要复杂得多。
规划基于物理模型的交互比传统的基于屏幕的用户体验对我们来说更具挑战性,因为影响最终结果的因素太多了。当你设计一个交互发生的框架而不是交互本身时,你失去了一部分控制。游戏行业一直在应对这个问题,而我们其他人则正在迎头赶上。
总结:
我们在解剖围绕重量模拟的交互中发现了很多价值。我们知道时间总是一个限制因素,而且分析每个交互的每个元素将是一个不可能的任务,但识别和分解重复的交互方式既能优化它们,也能为未来必然面临的其他特定交互做好准备。你可能会发现,在理论上行之有效的东西在实践中可能不起作用。
参见:谷歌“Daydream实验室”构建的60个VR设计原型的亮点
我们还想强调这些练习的次要目标的重要性(对我们来说,这是更熟悉Unity和基本样板环境)。拥有一个具体而可达的目标,以弥补有机探索的未知因素,是非常有价值的。
那么我们的建议是什么呢?我们发现很多东西都取决于体验本身。在许多情况下,我们试图通过模拟重量来施加约束可能是不受欢迎的,因为它们会减慢用户的速度,并将他们的注意力集中到交互本身而不是他们试图执行的动作上。所以,除非你有理由特别关注对象的重量,否则保持简单并使用直接链接更为合理。
也就是说,我们认为使用松散的链接,当张力过大时连接断开,是有潜力的。可以进行很多调整和探索,考虑其他因素:不规则形状或物体的起始位置,或者使用两只手来拿起东西。这只是一个开始,我们对其潜在应用感到兴奋。
亲自尝试并告诉我们您的想法
我们对社区关于这个机制的意见和建议很感兴趣,所以我们已经将我们的Unity项目开源,并发布为可执行文件。您可以在GitHub上找到这两者。
您是否找到了替代解决方案,或者在现有的体验中看到了成功的实例?请在评论中告诉我们!
0