查看
合理调整交互容忍度
(FacebookRealityLabs的开发者关系工程师泰德·迪诺拉(TedDiNola)专注于游戏编程和设计工作已有超过10年时间,而他目前主要的工作是通过与双向沟通公司和开发者,并帮助创造一个充满活力的开发者生态系统。日前,迪诺拉为开发者社区撰文介绍了用于减少玩家挫败感的设计建议。下面是映维网的具体整理:
我给开发者的最常见的反馈之一是:在交互方面要更加“慷慨”。来自PC、主机、甚至移动环境的开发工作室已经习惯于支持离散交互,且具有高精度和完全可见性界面的平台。
对于虚拟现实应用,用户拥有更大的空间和更广泛的位置来进行交互。这意味着精确度通常较低,尤其是对于较新用户而言。另外,交互可能发生在视场边缘,甚至视场之外。
实时应用中的交互慷慨性并不是一个新概念。我们的目标是为交互提供适当的范围和缓冲,从而提供一种“差不多就行”的实现。在更复杂的实现中,你可以预测玩家的意图,以避免执行期望之外的交互。
一个常见的例子:跳跃。任何玩过《波斯王子》的人都清楚成功跳跃所需要的精度。跳得太早,你就无法跳过去;跳得太迟,你就会掉下去。现代的平台游戏增加了一定的“容忍度”,在双脚蹬地起跳时提供额外数帧。这有助于补偿显示刷新时间,允许玩家“预测”跳跃。同时,以及抵消神经信号传播所需的时间。
有些游戏会更进一步,并根据情景考虑玩家的意图。如果玩家起跳过早,但其意图是跳到另一个平台,你可以稍微调整一下轨迹以确保玩家能够平稳落地。对于重点不是精确跳跃过程的游戏而言,这种行为尤其重要。
1.增加容忍度
在虚拟现实中,用户可以在一个360度的空间里与臂展之内的对象进行交互,甚至是更远范围的对象。如果你的大多数交互发生在彼此相距很远的位置,你可以采取的第一步就是增加用户交互发生的区域。当用户尝试与不直接眼看的对象进行交互时,这一点尤其重要。你在用户左侧皮带挂着一个工具吗?不要仅仅因为手没有碰到就忽略任何交互。如果玩家手臂放下并且检测到抓取输入,就让玩家拿起工具。在某些情况下,这种类型的交互可以是纯指向性。如果对象在3D空间中,特别是如果它没有锚定到玩家,增加“选择用于交互”触发空间可以达到相同的效果。
请注意,尽管这同时适合基于距离的交互,但如果你添加了离散的固定交互视觉效果(如指针“激光束”),你会希望确保触发空间足够紧凑,因为精度已经提升。然而,如果你允许在远距离进行“灵活”选择,它可以具有与近场交互相同的好处。
2.“粘性”
假设有几个用户希望与之交互的对象,无论是近场还是远处,而它们都相对靠近。
重要的是要确保用户不会意外地偏离预期选择。为了实现这一点,你可以给用户当前的交互空间更多的“权重”,直到其清楚地选择了一个对象。所述对象将成为新的选定对象,并且权重要大于其他任何交互空间。只有在明显看出用户正尝试与另一个对象交互时才进行切换。
对于额外的打磨优化,你同时可以根据手或控制器的movementdelta触发更改。如果选择了一个对象,并且delta看起来很小,请停留在选定的对象。若看到一个很大的delta,这可能是用户尝试选择其他内容,这时你可以减少应用的额外权重。
4.整合所有
假设我们有一款包含沉浸式交互的第一人称射游戏。库存需要手动管理,武器需要手动装载和准备。接下来,我们分析一下玩家的交互尝试及其结果,并将交互慷慨性应用于两秒钟的“开火并重新装弹”顺序中。如果没有交互慷慨性,这种常见的“开火和重新装弹”顺序对玩家来说可能非常困难和令人沮丧,尤其是在战斗非常紧张激烈的时候。在应用交互慷慨性后,玩家可以更成功地执行一次又一次的“开火和重新装弹”过程,并且可以将注意力集中在来袭的目标。
- 在某些情况下,严格要求精准的交互可以加强体验。如果这是应用的一个关键支柱,玩家将期待着显著的协调性和精确性。如果某个特定的操作存在糟糕的后果,比如太空船自毁按钮或者结束会话的UI元素,降低它们的权重可以帮助防止意外事故的发生。运用你最好的判断,并根据情况恰当地利用交互慷慨性,将其可以调整到对体验有意义的程度。
- 让交互慷慨性变成可选的选项。特别是在拥有一系列的交互精度并不会极大地改变体验质量的情况下,允许用户选择所需的精度非常有价值。这在基于技巧的体验中尤其如此,因为要求更高的技巧性会增加游戏的挑战性或沉浸感。让用户在第一次会话中进行选择,你可以筛选喜欢高精度要求交互的用户,以及不太可能将体验失败归咎于不精确操作的用户。但请记住,对于多人游戏体验,重要的是要,确保这不会为一部分玩家提供竞争优势并减损另一部分玩家的竞争优势。对于这方面的示例,你可以参照同时支持控制器和键盘的游戏平衡。
- 不要太过火。容忍度太高可能会造成更多意想不到的交互。留出时间来迭代任何动态加权逻辑,并以对体验有意义的方式调整容忍度。
- 当使用任何类型的交互辅助时,总是有可能会出现误报。记住要全面考虑用户需要执行什么交互以及何时执行,并确保相应地布置交互空间。预测玩家意图的任何尝试都不会完美,但通过测试和调优,你可以显著降低用户执行非预期操作的可能性。
- 在实现慷慨交互时,你可以采取的另一个步骤是支持多种交互方法。例如,你可以提供完全沉浸式的模式,比方说需要手动重新装填子弹和手动管理库存。然后,你同时可以提供一个基于按钮的模式,遵循PC或主机的方法,允许玩家在第一次会话中选择自己喜欢的选项,并随时进行切换。另外,这种方法增加了玩家包容性,例如移动能力有限,游戏空间小,或者是刚刚接触虚拟现实的用户。
我们期待着看到你是如何为了避免玩家挫败感而实现慷慨的交互设计,并创造更令人满意的体验。