可交互对象Interactable object

Interactible 对象

"Button" 是一种用于在二维抽象环境中触发事件的比喻。A button has long been a metaphor used for triggering an event in the 2D abstract world. 在这三维混合现实世界中,我们不必再局限于这种抽象领域。In the three-dimensional mixed reality world, we don’t have to be confined to this world of abstraction anymore. 任何内容都可以是触发事件的 种不可交互对象Anything can be an interactable object that triggers an event. 种不可交互对象可以是从表上的咖啡杯到 midair 中的气球的任何内容。An interactable object can be anything from a coffee cup on a table to a balloon in midair. 在某些情况下(例如,在对话框 UI 中),我们仍要使用传统按钮。We still do make use of traditional buttons in certain situation such as in dialog UI. 按钮的可视化表示形式取决于上下文。The visual representation of the button depends on the context.



种不可交互对象的重要属性Important properties of the interactable object

视觉提示Visual cues

视觉提示是传感器的提示,由眼睛接收,由视觉对象系统在视觉对象中进行处理。Visual cues are sensory cues from light, received by the eye, and processed by the visual system during visual perception. 由于视觉对象系统在很多物种中是主导的,尤其是在人们看来,直观提示是了解世界上的信息。Since the visual system is dominant in many species, especially humans, visual cues are a large source of information in how the world is perceived.

由于全息对象与混合现实中的实际环境混合,因此很难理解您可以与哪些对象交互。Since the holographic objects are blended with the real-world environment in mixed reality, it could be difficult to understand which objects you can interact with. 对于你的体验中的任何种不可交互对象,为每个输入状态提供不同的视觉提示非常重要。For any interactable objects in your experience, it's important to provide differentiated visual cues for each input state. 这可以帮助用户了解你的体验的哪个部分是种不可交互的,并通过使用一致的交互方法使用户更自信。This helps the user understand which part of your experience is interactable and makes the user confident by using a consistent interaction method.



远距离交互Far interactions

对于用户可与 "注视"、"手 ray" 和 "运动控制器" 射线交互的任何对象,我们建议为这三个输入状态提供不同的视觉提示:For any objects that user can interact with gaze, hand ray, and motion controller's ray, we recommend having different visual cue for these three input states:

interactibleobject-默认值interactibleobject-states-default
默认 (观察) 状态Default (Observation) state
对象的默认空闲状态。Default idle state of the object. 光标不在对象上。The cursor isn't on the object. 未检测到手写。Hand isn't detected.

interactibleobject-目标interactibleobject-states-targeted
目标 (悬停) 状态Targeted (Hover) state
当对象面向注视光标时,指的是指邻近的或运动控制器的指针。When the object is targeted with gaze cursor, finger proximity or motion controller's pointer. 光标位于对象上。The cursor is on the object. 已检测到手型,准备就绪。Hand is detected, ready.

interactibleobject-按下interactibleobject-states-pressed
按下状态Pressed state
如果按下了按压按钮,请按下或运动控制器的选择按钮。When the object is pressed with an air tap gesture, finger press or motion controller's select button. 光标位于对象上。The cursor is on the object. 检测到手型,并攻丝。Hand is detected, air tapped.



您可以使用诸如突出显示或缩放等方法为用户输入状态提供视觉提示。You can use techniques such as highlighting or scaling to provide visual cues for the user’s input state. 在混合现实中,可以在 "开始" 菜单和应用栏按钮中查找可视化不同输入状态的示例。In mixed reality, you can find examples of visualizing different input states on the Start menu and with app bar buttons.

下面是 全息按钮 上这些状态的外观:Here's what these states look like on a holographic button:

interactibleobject-默认值interactibleobject-states-default
默认 (观察) 状态Default (Observation) state

interactibleobject-目标interactibleobject-states-targeted
目标 (悬停) 状态Targeted (Hover) state

interactibleobject-按下interactibleobject-states-pressed
按下状态Pressed state



接近交互 (直接) Near interactions (direct)

HoloLens 2 支持已表述的手动跟踪输入,这允许您与对象进行交互。HoloLens 2 supports articulated hand tracking input, which allows you to interact with objects. 如果没有 haptic 的反馈和完美的深度认识,则很难判断你手中的距离是从一个对象还是正在触摸。Without haptic feedback and perfect depth perception, it can be hard to tell how far away your hand is from an object or whether you're touching it. 务必提供足够的视觉提示来传达对象的状态,特别是根据对象的状态。It's important to provide enough visual cues to communicate the state of the object, in particular the state of your hands based on that object.

使用视觉反馈传达以下状态:Use visual feedback to communicate the following states:

  • 默认 (观察):对象的默认空闲状态。Default (Observation): Default idle state of the object.
  • 悬停:当手接近全息图时,请更改视觉对象,以便与全息图建立通信。Hover: When a hand is near a hologram, change visuals to communicate that hand is targeting hologram.
  • 距离和交互点:作为一种方法,即使用全息图,设计反馈来传达投影的交互点,以及从对象到手指的距离Distance and point of interaction: As the hand approaches a hologram, design feedback to communicate the projected point of interaction, and how far from the object the finger is
  • 联系人开始:更改视觉对象 (光源、颜色) ,传达触摸已发生的情况Contact begins: Change visuals (light, color) to communicate that a touch has occurred
  • Grasped:在 Grasped 对象时更改视觉对象 (光源、颜色) Grasped: Change visuals (light, color) when the object is grasped
  • 联系人结束:在触摸结束时,更改视觉对象 (光源、颜色) Contact ends: Change visuals (light, color) when touch has ended


悬停 (远处) Hover (Far)
悬停 (远处)Hover (Far)
根据手的邻近性突出显示。Highlighting based on the proximity of the hand.

悬停 (接近) Hover (Near)
悬停 (接近)Hover (Near)
根据与手型的距离突出显示大小变化。Highlight size changes based on the distance to the hand.

触摸/按Touch / press
触摸/按Touch / press
视觉对象和音频反馈。Visual plus audio feedback.

掌握Grasp
掌握Grasp
视觉对象和音频反馈。Visual plus audio feedback.




HoloLens 2 上的按钮是如何可视化不同输入交互状态的示例:A button on HoloLens 2 is an example of how the different input interaction states are visualized:

默认Default
默认Default

悬停Hover
悬停Hover
显示基于近程的照明效果。Reveal a proximity-based lighting effect.

触控Touch
触控Touch
显示波纹效果。Show ripple effect.

请按Press
请按Press
移动前面板。Move the front plate.



HoloLens 2 上的 "环" 视觉提示The "ring" visual cue on HoloLens 2

在 HoloLens 2 上,有一个额外的视觉提示,可帮助用户了解深度。On HoloLens 2, there's an extra visual cue, which can help the user's perception of depth. 当手指更接近对象时,其手指附近的圆圈会显示并缩小。A ring near their fingertip shows up and scales down as the fingertip gets closer to the object. 当达到按下状态时,环最终汇聚为一个点。The ring eventually converges into a dot when the pressed state is reached. 此视觉对象 affordance 可帮助用户了解其在对象中的距离。This visual affordance helps the user understand how far they are from the object.

视频循环:基于与边界框的邻近的视觉反馈示例Video loop: Example of visual feedback based on proximity to a bounding box

spacespace
视觉对象反馈Visual feedback on hand proximity



音频提示Audio cues

对于直接交互,正确的音频反馈可显著改善用户体验。For direct hand interactions, proper audio feedback can dramatically improve the user experience. 使用音频反馈来传达以下提示:Use audio feedback to communicate the following cues:

  • 联系人开始:触控开始时播放声音Contact begins: Play sound when touch begins
  • 联系人结束:在 touch 端上播放声音Contact ends: Play sound on touch end
  • 开始获取:开始播放时播放声音Grab begins: Play sound when grab starts
  • 抓取结束:在抓取结束时播放声音Grab ends: Play sound when grab ends


语音命令Voice commanding

对于任何种不可交互对象,支持替代交互选项非常重要。For any interactable objects, it's important to support alternative interaction options. 默认情况下,我们建议为种不可交互的任何对象支持 语音命令By default, we recommend that voice commanding be supported for any objects that are interactable. 若要改善可发现性,还可以在悬停状态中提供工具提示。To improve discoverability, you can also provide a tooltip during the hover state.

Image:语音命令的工具提示Image: Tooltip for the voice command

语音命令



重设大小建议Sizing recommendations

为了确保可以轻松地接触所有种不可交互对象,我们建议确保种不可交互根据其从用户的距离来确定最小大小。To ensure all interactable objects can easily be touched, we recommend making sure the interactable meets a minimum size based on the distance it's placed from the user. 视觉角度通常以视觉弧的度数来度量。视觉角度基于用户眼睛与对象之间的距离并保持不变,而目标的物理大小可能会随用户更改的距离而更改。The visual angle is often measured in degrees of visual arc. Visual angle is based on the distance between the user's eyes and the object and stays constant, while the physical size of the target may change as the distance from the user changes. 若要根据用户的距离确定对象的必要物理大小,请尝试使用视觉角度计算器(如 类)。To determine the necessary physical size of an object based on the distance from the user, try using a visual angle calculator such as this one.

下面是有关种不可交互内容的最小大小建议。Below are the recommendations for minimum sizes of interactable content.

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

距离Distance 查看角度Viewing angle 大小Size
45厘米45 cm 不小于2°no smaller than 2° 1.6 x 1.6 厘米1.6 x 1.6 cm

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


按钮的目标大小Target size for buttons

创建直接交互的按钮时,建议使用较大的最小 3.2 x 3.2 厘米,以确保有足够的空间来包含图标,并可能有一些文本。When creating buttons for direct interaction, we recommend a larger minimum size of 3.2 x 3.2 cm to ensure that there's enough space to contain an icon and potentially some text.

距离Distance 最小大小Minimum size
45厘米45 cm 3.2 x 3.2 厘米3.2 x 3.2 cm

按钮的目标大小Target size for the buttons
按钮的目标大小Target size for the buttons


手动 ray 或注视交互的目标大小Target size for hand ray or gaze interaction

距离Distance 查看角度Viewing angle 大小Size
2 m2 m 不小于1°no smaller than 1° 3.5 x 3.5 厘米3.5 x 3.5 cm

手动 ray 或注视交互的目标大小Target size for hand ray or gaze interaction
手动 ray 或注视交互的目标大小Target size for hand ray or gaze interaction



MRTK 中的种不可交互对象 (Unity 的混合现实工具包) Interactable object in MRTK (Mixed Reality Toolkit) for Unity

MRTK 中,可以使用脚本 种不可交互 使对象对各种类型的输入交互状态进行响应。In MRTK, you can use the script Interactable to make objects respond to various types of input interaction states. 它支持各种类型的主题,这些主题允许您通过控制对象属性(如颜色、大小、材料和着色器)来定义可视状态。It supports various types of themes that allow you define visual states by controlling object properties such as color, size, material, and shader.

MixedRealityToolkit 的标准着色器提供了各种选项 ,例如,可 帮助您创建视觉对象和音频提示。MixedRealityToolkit's Standard shader provides various options such as proximity light that helps you create visual and audio cues.



另请参阅See also