手动菜单
手动菜单是 HoloLens 2 中最独特的 UX 模式之一。 它让你可以快速调出附加到手的 UI。 它可以随时访问,并且可以轻松显示和隐藏,因此适合快速操作。
你将在下面的列表中找到使用手动菜单时建议采用的最佳做法。 还可以在 MRTK 中找到演示手动菜单的示例场景。
最佳实践
保持较少的按钮数
由于手动锁定菜单和眼睛之间的距离很近,并且用户随时可能会将焦点放在相对较小的可视区域(视觉的注意锥度大约是 10 度),因此建议保持较少的按钮数。 根据我们的探索经验,一列包含三个按钮可以很好地将所有内容保持在视野 (FOV) 中,即使用户将手移到 FOV 中心也是如此。
使用手动菜单快速操作
抬起手臂并保持这个姿势可能很容易导致手臂疲劳。 对需要短时间交互的菜单使用手动锁定方法。 如果菜单很复杂,需要延长交互时间,请考虑改为使用世界锁定或身体锁定。
按钮/面板角度
菜单应朝向对侧肩部和头部中间的位置:这样就可以自然地移动手部,使用另一只手与菜单交互,避免触摸按钮时手处于尴尬或不舒适的位置。
考虑支持单手操作或免手动操作
不要假设用户两只手都始终可用。 要考虑到单手或双手不可用的各种情况,并确保你的设计考虑到这些情况。 为支持单手操作的手动菜单,可以尝试在手部翻转(手掌向下)时将菜单位置从手动锁定转换为世界锁定。 对于免手动场景,请考虑使用语音命令来调用手动菜单。
避免在手腕(系统主页按钮)附近添加按钮
如果手动菜单按钮位置距离主页按钮太近,在与手动菜单交互时,可能会意外触发主页按钮。
包含大型复杂 UI 控件的手动菜单
建议限制手动附加的菜单上的按钮或 UI 控件数目。 这是因为与大量 UI 元素长时间交互可能会导致手臂疲劳。 如果你的体验需要一个大型菜单,请为用户提供一种简单的方式来通过世界锁定菜单。 建议的一种方法是,当手放下或翻转后拿开时,通过世界锁定菜单。 第二种方法是允许用户使用另一只手直接抓取菜单。 当用户释放菜单时,菜单应通过世界进行锁定。 这样一来,用户就可以在很长一段时间内轻松、自信地与各种 UI 元素交互。当菜单被世界锁定后,请确保提供一种方法来移动菜单并在不再需要菜单时关闭菜单。 通过在菜单的两侧或顶部提供手柄,使菜单可移动。 添加关闭按钮,使菜单能够关闭。 当用户的手心对着用户时,允许菜单重新附着在手上。 我们还建议要求用户凝视手部以防止误激活(请见下文)。
显示可用性问题的大型菜单
手放下时通过世界锁定菜单
手动抓取和拉动以通过世界锁定菜单
如何防止误激活
如果只是使用手掌向上作为触发手动菜单的事件,在你不需要手动菜单时,它可能会意外出现(误报),因为用户会有意(用于交流和对象操作)和无意地移动手部。 为了减少误激活,除了手掌向上的事件之外,还要增加一个额外的步骤来调用手动菜单(如完全张开手指,或用户有意凝视手部)。
需要手掌伸平
通过要求平伸手部,可以防止用户在环境中交流期间操作对象或手势时可能发生的误激活。
需要凝视
通过要求用户凝视手部(用眼睛凝视或头部凝视),可以防止误激活,因为用户必须将他们的注意力引导到手上,作为第二个激活步骤(使用一个可调整的距离阈值,让用户感到舒适)。
手动菜单放置最佳做法
在人体解剖学中,尺神经是一条靠近尺骨的神经。 尺骨是前臂上的一根长骨,从肘部一直延伸到最小的手指。
下面是基于探索的两个建议位置:
A. 手掌向上斜伸
这个姿势是可靠的,因为双手不会相互重叠。 这对准确的手部检测和跟踪至关重要。
B. 手掌向上平伸
这个姿势对于用户来说很舒适,因为用户不需要过多地举起手臂来与手动菜单进行交互。 建议将菜单置于手掌上方 13 厘米的位置,将按钮对准尺侧手掌内侧。 详细了解最佳按钮大小
出于技术原因,建议使用一个必需的实现来设置此姿势:一旦用户的另一只手靠近到可与菜单交互的位置,开发人员就需要冻结菜单。 这样可以避免双手重叠时出现抖动,还可以更快地对准按钮目标。
HoloLens 2 相机在双手彼此分开时能准确识别它们。 双手重叠可能导致手动菜单离开定位点位置。
不建议使用的菜单位置
我们已经对不同的菜单布局和位置进行了用户研究,不建议使用以下菜单位置。下面是每项研究发现的缺点:
手臂上方
1 - 难以保持良好的手部跟踪
2 - 由于位置不自然,导致用户感觉疲劳
手指上方
1 - 因为伸手时间太长而导致手部疲劳
2 - 食指和中指出现手部跟踪问题
手掌中心上方
1 - 因为双手重叠而导致手部跟踪问题
2 - 因为长时间伸手与菜单交互而导致手部疲劳
热门指尖
1 - 手部跟踪问题
2 - 手一直高于正常姿势导致手部疲劳
3 - 由于手指间空间有限,会出现其他手指意外按下按钮的问题
手臂背面
1 - 可能会意外触发主页按钮
2 - 不是一个自然或舒适的位置
Unity 的 MRTK(混合现实工具包)中的手动菜单
MRTK 提供了手动菜单的脚本和示例场景。 HandConstraintPalmUp 求解器脚本让你可以使用各种可配置选项将任何对象附加到手上。 MRTK 的手动菜单示例包括一些有用的选项,例如手掌平伸和凝视要求可以防止误激活。
可以使用 MRTK 示例中心应用在 HoloLens 2 中尝试手动菜单示例。