可交互对象

Interactible objects

长期以来,按钮的隐含意义都是用于在 2D 抽象世界中触发事件。 在三维混合现实世界中,我们不必再局限于这个抽象的世界。 任何东西都可以是触发事件的“可交互对象”。 可交互对象可以是任何东西,无论是桌上的咖啡杯还是半空中的气球。 在某些情况下,我们仍然使用传统按钮,例如在对话框 UI 中。 按钮的视觉表示形式取决于上下文。



可交互对象的重要属性

视觉提示

视觉提示是来自光线的感官提示,由眼睛接收,在视觉感知期间由视觉系统处理。 由于视觉系统在许多物种(尤其是人类)中占主导地位,视觉提示是感知世界的重要信息来源。

由于全息对象与混合现实中的现实世界环境混合,因此可能很难理解你可以与哪些对象进行交互。 对于体验中的任何可交互对象,重要的是为每个输入状态提供不同的视觉提示。 这有助于用户了解你的体验的哪一部分是可交互的,并通过使用一致的交互方法使用户充满信心。



远距离交互

对于用户可以与凝视、手部射线和运动控制器的射线交互的任何对象,我们建议为这三种输入状态使用不同的视觉提示:

Interactable object with default state
“默认(观察)状态”
对象的默认空闲状态。 光标不在对象上。 未检测到手。

Interactable object with target and hover state
“目标(悬停)状态”
当使用凝视光标、手指接近程度或运动控制器指针定位对象时。 光标在对象上。 检测到手,准备就绪。

Interactable object with pressed state
“按下状态”
当使用隔空敲击手势、手指按下或运动控制器选择按钮按下对象时。 光标在对象上。 检测到手,进行了隔空敲击。



可以使用突出显示或缩放等技术为用户的输入状态提供视觉提示。 在混合现实中,可以在“开始”菜单和应用栏按钮上找到可视化不同输入状态的示例。

在全息按钮上,这些状态如下所示:

Holographic button in default state
“默认(观察)状态”

Holographic button in target and hover state
“目标(悬停)状态”

Holographic button in pressed state
“按下状态”



近距离交互(直接)

HoloLens 2 支持关节手部跟踪输入,让你能够与对象进行交互。 如果没有触觉反馈和完美的深度感知,就很难判断你的手离物体有多远,或者你是否在触摸它。 重要的是提供足够的视觉提示来传达对象的状态,尤其是基于该对象的手的状态。

使用视觉反馈传达以下状态:

  • “默认(观察)”:对象的默认空闲状态。
  • “悬停”:当手接近全息影像时,更改视觉效果以传达手的目标是全息影响。 
  • “距离和交互点”:当手接近全息影像时,设计反馈来传达预测的交互点,以及手指与对象的距离
  • “触摸开始”:更改视觉效果(光、颜色)以传达触摸发生
  • “已抓取”:抓取对象后,更改视觉效果(光、颜色)
  • “触摸结束”:触摸结束后,更改视觉效果(光、颜色)


Hover (Far)
“悬停(远)”
根据手的接近程度突出显示。

Hover (Near)
“悬停(近)”
根据与手的距离突出显示大小更改。

Touch / press
“触摸/按下”
视觉加音频反馈。

Grasp
“抓取”
视觉加音频反馈。




HoloLens 2 上的按钮就是如何可视化不同输入交互状态的一个示例:

Default
默认

Hover
悬停
根据接近程度显示光线效果。

Touch
触控
显示波纹效果。

Press
请按
移动前板。



HoloLens 2 上的“环”视觉提示

在 HoloLens 2 上,有一个额外的视觉提示,可以帮助用户感知深度。 当指尖接近对象时,指尖附近会出现一个环,且该环会随着距离的接近而缩小。 环最终会在手指按到对象时聚成一个点。 这种视觉可视效果可以帮助用户理解自己与对象之间的距离。

视频循环:基于对边界框的接近程度的视觉反馈示例

space
Visual feedback on hand proximity



音频提示

对于直接的手部交互,适当的音频反馈可以显著改善用户体验。 使用音频反馈传达以下提示:

  • “触摸开始”:触摸开始时播放声音
  • “触摸结束”:触摸结束时播放声音
  • “抓取开始”:抓取开始时播放声音
  • “抓取结束”:抓取结束时播放声音


语音命令

对于任何可交互对象,重要的是支持替代交互选项。 默认情况下,我们建议任何可交互的对象都支持语音命令。 为了提高可发现性,你还可以在悬停状态期间提供工具提示。

图片:语音命令的工具提示

voice commanding



重设大小建议

为确保所有可交互对象都可以轻松触摸,建议确保可交互对象满足基于它与用户的距离的最小大小。 视角通常以视弧度数来衡量。视角基于用户眼睛与对象之间的距离并保持不变,而目标的物理大小可能会随着与用户距离的变化而变化。 要根据与用户的距离确定对象的必要物理大小,请尝试使用视角计算器,例如这个

可交互内容的最小大小建议如下。

直接手动交互的目标大小

距离 视角 大小
45 cm 不小于 2° 1.6 x 1.6 cm

Target size for direct hand interaction
直接手动交互的目标大小


手部射线或凝视交互的目标大小

距离 视角 大小
2 m 不小于 1° 3.5 x 3.5 cm

Target size for hand ray or gaze interaction
“手部射线或凝视交互的目标大小”



用于 Unity 的 MRTK(混合现实工具包)中的可交互对象

MRTK 中,可以使用脚本 Interactable 使对象响应各种类型的输入交互状态。 它支持各种类型的主题,允许通过控制对象属性(如颜色、大小、材质和着色器)来定义视觉状态。

MixedRealityToolkit 的标准着色器提供了各种选项,例如帮助你创建视觉和音频提示的“接近程度光线”。

  • MRTK 标准着色器


请参阅