眼睛和手 - MRTK2
如何支持“查看 + 手部运动”(眼部凝视和手势)
本页介绍如何结合手部运动使用视觉定位作为主要指针。 MRTK 眼部跟踪演示中介绍了几个眼部 + 手部使用示例,例如:
- 选择:查看远处的全息按钮,只需使用捏合手势就能快速选择它。
- 定位(本文):只需查看某个全息影像,将食指和拇指捏合抓取它,然后用手移动它,便可在场景中流畅地移动全息影像。
- 导航:只需查看要放大的位置,将食指和拇指捏合,然后把手拉向自己,便可放大。
请注意,在目前的 MRTK 设计中,远距离的手部射线会优先充当焦点指针。 这意味着一旦检测到手,头部和眼部凝视指针将自动抑制,并在说出“选择”后再次显示。 但是,这可能不是你想要的远距离交互方式,你可能更喜欢“凝视并提交”的简单交互方式,视野中是否出现手部对它不会产生影响。
如何禁用手部射线
若要禁用手部射线指针,只需在 MRTK 配置设置的“输入”->“指针”中删除“DefaultControllerPointer”即可。 若要在应用中如上所述使用眼睛和手,还要确保满足所有使用眼部跟踪的要求。
还可以查看如何将眼部跟踪示例包中的输入配置文件 EyeTrackingDemoPointerProfile 设置为引用项。
如何保持凝视指针始终打开
若要避免检测到手后自动抑制头部或眼部凝视指针,可以指定凝视 PointerBehavior
来控制是应打开还是关闭它。
// Turn on gaze pointer
PointerUtils.SetGazePointerBehavior(PointerBehavior.AlwaysOn);
请参阅 Controllers Pointers and Focus