HoloLens 2上的眼动跟踪

MRTK 中的眼动跟踪演示

HoloLens 2允许开发人员使用有关用户正在查看的内容的信息,从而在全息体验中实现上下文和人类理解的新级别。 本页介绍了开发人员如何从各种用例的眼动跟踪中受益,以及设计基于眼睛凝视的用户交互时要查找的内容。

目视跟踪 API 在设计时考虑了用户的隐私;它避免传递任何可识别信息,尤其是任何生物识别。 对于支持眼动跟踪的应用程序,用户需要授予应用使用眼动跟踪信息的权限。

设备支持

功能 HoloLens (第一代) HoloLens 2 沉浸式头戴显示设备
眼睛凝视 ✔️

头部和眼动跟踪设计概念演示

如果想要了解头部和眼动跟踪设计概念,检查下面的设计全息影像 - 头部跟踪和眼动跟踪视频演示。 完成后,请继续深入了解特定主题。

此视频取自“设计全息影像”HoloLens 2应用。 在此处下载并享受完整体验。

校准

若要准确运行眼动跟踪,每个用户都需要完成 眼动跟踪用户校准 ,用户必须查看一组全息目标。 这使设备能够调整系统,从而为用户提供更舒适、更高质量的观看体验,并确保同时进行准确的眼动跟踪。

眼动跟踪应该适用于大多数用户,但在极少数情况下,用户无法成功校准。 校准可能由于各种原因而失败,包括但不限于:

  • 用户之前已选择退出校准过程。
  • 用户分心,没有按照校准目标进行作。
  • 用户具有系统尚不支持的某些类型的隐形眼镜和眼镜。
  • 用户具有某些眼睛生理学或眼部状况或眼部手术,系统尚不支持手术。
  • 外部因素抑制可靠的眼动跟踪,例如 HoloLens 面罩或眼镜上的污点、强烈的直射阳光以及眼睛前头发造成的遮挡。

开发人员应确保为眼动跟踪数据不可用 (无法成功校准) 的用户提供足够的支持。 我们已在本页底部的 部分中提供了回退解决方案的建议。

若要详细了解校准以及如何确保流畅的体验,请参阅 眼动跟踪用户校准 页。


可用的眼动跟踪数据

HoloLens 2上的眼动跟踪使开发人员能够设计自然而直观的输入和交互方案。 眼动跟踪 API 提供有关用户以大约 30 FPS (30 Hz) (凝视原点和方向) 的单眼凝视射线所查看的信息。 若要准确运行眼动跟踪,每个用户都需要完成眼动跟踪用户校准。 有关如何访问眼动跟踪数据的更多详细信息,请参阅有关在 DirectX 中使用眼睛凝视在 Unity 中使用眼睛凝视的开发人员指南。

预测的眼睛凝视大约在 1.5 度以内,围绕实际目标 (见下图) 。 预期会有轻微的不完善,因此开发人员应围绕此下限值 (规划一些边距,例如,2.0-3.0 度可能会导致) 更舒适的体验。 下面将更详细地讨论如何选择小型目标。

2 米距离处的最佳目标大小
2 米距离的最佳目标大小


扩展眼动跟踪数据

扩展的眼动跟踪 API 允许开发人员通过提供有关用户眼睛凝视的更精细的信息来解锁下一级创新方案,例如运行状况评估、监视和治疗。

扩展的眼动跟踪 API 提供对现有眼动跟踪值和新功能的访问,例如单个 (左右) 眼睛凝视矢量、支持的帧速率,以及将眼动跟踪帧速率设置为 30、60 或 90fps 的功能。 若要使用扩展眼动跟踪 API,请参阅我们的开发人员指南,了解如何将扩展眼动跟踪 API 用于本机Unity

用例

目视跟踪使应用程序能够实时跟踪用户正在查看的位置。 以下用例描述了在混合现实中对HoloLens 2进行目视跟踪时可能出现的一些交互。 这些用例还不是全息 Shell 体验的一部分, (启动HoloLens 2) 时看到的界面。 可以在 混合现实 工具包中试用其中一些。 该工具包提供了几个有趣且功能强大的目视跟踪示例,例如快速且毫不费力地选择眼睛支持的目标,以及根据用户查看的内容自动滚动浏览文本。

用户意向

有关用户查看的位置和内容的信息为其他输入(例如语音、手部和控制器)提供了强大的上下文。 这可用于各种任务。 例如,用户可以通过查看全息影像并说出“选择” (还可以看到凝视并提交) 或“放置此...”,然后查看要放置全息影像的位置并说出“...在那里”。 可以在 混合现实 工具包 - 目视支持的目标选择混合现实 工具包 - 眼支持的目标定位中找到这方面的示例。

此外,用户意向的示例可能包括使用有关用户查看的内容的信息,以增强与具体虚拟代理和交互式全息影像的互动。 例如,虚拟代理可能会根据当前查看的内容调整可用选项及其行为。

隐式作

隐式作的类别与用户意向密切相关。 其理念是,全息影像或用户界面元素以本能的方式做出反应,甚至可能感觉用户根本不在与系统交互,而是系统与用户同步。例如 ,基于眼睛凝视的自动滚动 ,用户可以阅读一个长文本,该文本在用户到达文本框底部后自动开始滚动。 这样,用户无需抬起手指即可进行阅读。 其中一个关键方面是滚动速度适应用户的阅读速度。

另一个示例是 支持眼睛的缩放和平移 ,用户可以感觉自己正精确到他们所关注的任何内容。

触发和控制缩放速度可以通过语音或手部输入进行控制,这对于为用户提供控制感,同时避免不知所措非常重要。 我们将在下面更详细地讨论这些设计注意事项。 放大后,用户可以顺利地跟踪街道,例如,使用眼睛凝视来探索他或她的邻里。 可以在 混合现实 工具包 - 目视支持的导航示例中找到这些类型的交互的演示示例。

隐式作的其他用例可能包括:

  • 智能通知: 你是否曾因视图中间弹出的通知而恼火? 可以通过从用户当前凝视位置偏移通知来改善此体验。 这会限制分心,并在用户完成阅读后自动消除干扰。
  • 细心的全息影像: 这些全息影像在凝视时会以微妙的方式做出反应。 这范围从稍微发光的 UI 元素到慢慢绽放的花,到虚拟狗开始回首看用户并摇摆其尾巴。 这种交互可以在应用程序中提供有趣的连接感和满意度。

注意跟踪

有关用户查看的位置或内容的信息可能是一个非常强大的工具。 它可以帮助评估设计的可用性,并确定工作流中的问题,使其更高效。 眼动跟踪可视化和分析是各种应用领域的常见做法。 通过HoloLens 2,我们为这种理解提供了一个新的维度;3D 全息影像可以放置在现实世界的上下文中,并相应地进行评估。

混合现实工具包提供了记录和加载眼动跟踪数据以及如何可视化它们的基本示例。

Microsoft致力于促进创新,同时确保用户在如何使用其眼动跟踪信息方面获得知情且透明的体验。 我们将继续与开发人员和 UX 团队合作,为第三方提供指导,以确保体验以用户为中心。

此领域的其他应用程序可能包括:

  • 远程眼睛凝视可视化: 直观显示远程协作者正在查看的内容。 这可以提供即时反馈,并促进更准确的信息处理。
  • 用户研究: 注意跟踪可以深入了解用户如何在不干扰的情况下感知和参与自然环境。 这可以帮助开发人员设计更多本能的人机交互。 眼动跟踪可以提供研究参与者无法直接表达的信息,研究人员很容易错过这些信息。
  • 训练和性能监视: 通过更有效地识别执行流中的瓶颈来练习和优化任务的执行。 眼动跟踪可以提供自然、实时和客观的信息,以帮助提高工作场所的培训、生产力和安全性。
  • 设计评估、营销和消费者研究: 眼动跟踪使商业公司能够在真实环境中执行营销和消费者研究,或分析吸引用户注意力的内容,以改进产品或空间设计。

其他用例

  • 赌博: 你曾经想过拥有超级大国吗? 机会来了!

你可以通过盯着全息影像来悬浮全息影像。

从眼睛拍摄激光束 -- 在 RoboRaid 中试用HoloLens 2。

把敌人变成石头或冻结他们。

使用 X 射线视觉探索建筑物。

你的想象力就是极限! 不过,请注意不要压倒用户。 若要了解详细信息,请参阅 基于眼睛凝视的输入设计指南

  • 表现式头像: 眼动跟踪通过使用实时眼动跟踪数据对虚拟形象的眼睛进行动画处理,并使其遵循用户正在查看的内容,从而帮助实现更具表现力的 3D 虚拟形象。

  • 文本输入: 眼动跟踪可用作轻松输入文本的替代方法,尤其是在语音或手部不方便使用时。


使用眼睛凝视进行交互

构建利用快速移动的眼部定位的交互可能具有挑战性。 由于眼睛可以快速移动,如果你不小心如何使用眼睛凝视输入,用户可能会发现体验令人不知所措或让人分心。 但这非常值得挑战,因为眼动跟踪可以让你创造真正神奇的体验,让你的用户兴奋不已! 为了帮助你,检查我们概述的关键优势、挑战和设计建议,以便通过眼睛凝视进行交互

眼动跟踪不可用时的回退解决方案

在极少数情况下,眼动跟踪数据可能不可用。 出现这种情况的原因有多种,下面列出了最常见的情况:

  • 系统无法 校准用户
  • 用户跳过了 校准
  • 用户已校准,但决定不向应用授予使用其眼动跟踪数据的权限。
  • 用户具有系统尚不支持的独特眼镜或某些眼部状况。
  • 外部因素抑制可靠的眼动跟踪,例如 HoloLens 面罩或眼镜上的污点、强烈的阳光直射以及眼睛前头发遮挡。

开发人员应确保对这些用户提供适当的回退支持。 在 DirectX 中的眼动跟踪 页上,我们介绍了检测眼动跟踪数据是否可用所需的 API。

某些用户可能会认为,比眼动跟踪可提供的改进体验更重要,因此他们有意撤销对眼动跟踪数据的访问权限。 但是,在某些情况下,这种撤销可能是无意的。 如果你的应用使用眼动跟踪,并且这是体验的重要组成部分,我们建议你清楚地向用户传达这一点。 向用户解释眼动跟踪如何解锁应用程序的全部潜力,可以帮助他们更好地了解他们放弃的内容。 如果眼动跟踪已打开但不起作用,请使用上述清单作为指导来帮助用户识别和解决问题。 例如,如果可以检测到系统支持眼动跟踪,并且用户已校准并已授予其许可,但未收到眼动跟踪数据,则可能表明存在污点或眼睛被遮挡等问题。

在极少数情况下,眼动跟踪对某人不起作用,并且没有明显的原因。 通过允许用户消除或禁用有关在你的应用中启用眼动跟踪的提醒来尊重这一点。

使用眼睛凝视作为主要输入指针的应用回退

如果你的应用使用眼睛凝视作为指针输入来快速选择整个场景中的全息影像,但眼动跟踪数据不可用,我们建议回退到头部凝视并显示头部凝视光标。 建议使用超时 (例如,500-1500 毫秒) 确定是否要切换。 此作可防止光标在每次系统由于快速眼动或眨眼和眨眼而短暂丢失跟踪时出现。 如果你是Unity开发人员,混合现实工具包中已处理自动回退到头部凝视。 如果你是 DirectX 开发人员,则需要自己处理此开关。

其他眼动跟踪特定应用程序的回退

你的应用可能会以专门针对眼睛定制的独特方式使用眼睛凝视,例如,对虚拟形象的眼睛或基于眼睛的注意力热度地图进行动画处理,这些热度图依赖于有关视觉注意力的精确信息。 在这种情况下,没有明确的回退。 如果目视跟踪不可用,可能需要禁用这些功能。 同样,我们建议你明确告知用户,用户可能不知道该功能不起作用。


本页希望为你提供了一个很好的概述,以便你开始了解眼动跟踪和眼球注视输入对HoloLens 2的作用。 若要开始开发,检查有关眼睛凝视与全息影像交互Unity中的眼睛凝视DirectX 中眼睛凝视的作用的信息。

另请参阅