本主题介绍如何在 MRTK 眼动跟踪示例 (Assets/MRTK/Examples/Demos/EyeTracking) 的基础上快速开始使用 MRTK 中的眼动跟踪。 这些示例让你体验我们新的神奇输入功能之一: 眼动跟踪! 该演示包括各种用例,从基于眼睛的隐式激活到如何使用 语音 和 手 部输入无缝地合并有关你正在查看的内容的信息。 这使用户只需查看目标并说 出“选择” 或执行手势,即可在视图中快速轻松地选择和移动全息内容。 这些演示还包括一个示例,用于通过眼睛凝视滚动、平移和缩放石板上的文本和图像。 最后,提供了一个示例,用于在 2D 平板电脑上记录和可视化用户的视觉焦点。 在以下部分中,你将找到有关 MRTK 眼动跟踪示例包中每个不同示例的更多详细信息, (Assets/MRTK/Examples/Demos/EyeTracking) 包括:
以下部分简要概述了各个目视跟踪演示场景的内容。 MRTK 眼动跟踪演示场景是 累加加载的,下面将说明如何设置。
目视跟踪演示示例概述
目视支持的目标选择
本教程演示了如何轻松访问眼睛凝视数据以选择目标。 它包括一个示例,用于提供微妙而强大的反馈,让用户确信目标是专注的,而不会压倒性。 此外,还有一个简单的智能通知示例,这些通知在阅读后会自动消失。
摘要:使用眼睛、语音和手部输入的组合进行快速、轻松的目标选择。
目视支持的导航
假设你正在远程显示器或电子阅读器上阅读一些信息,当到达所显示文本的末尾时,文本会自动向上滚动以显示更多内容。 或者,如何神奇地直接缩放到你正在查看的位置? 以下是本教程中介绍的一些有关目视支持导航的示例。 此外,还有一个示例,通过根据当前焦点自动旋转 3D 全息影像,实现 3D 全息影像的免手动旋转。
摘要:使用眼睛、语音和手部输入的组合进行滚动、平移、缩放、3D 旋转。
支持眼睛的定位
本教程演示了一个名为 Put-That 的 输入方案,该场景可追溯到 20 世纪 80 年代初 MIT 媒体实验室使用眼睛、手部和语音输入进行的研究。 想法很简单:从你的眼睛快速选择和定位目标中受益。 只需看一个全息影像,说 '放这个',看看你想要放置它的位置,然后说 '那里!'。 若要更精确地定位全息影像,可以使用来自双手、语音或控制器的其他输入。
摘要:使用眼睛、语音和手部输入 (拖放) 定位全息影像。 使用眼睛 + 手的护眼滑块。
视觉关注的可视化效果
基于用户外观的数据是一个非常强大的工具,用于评估设计的可用性,并确定高效工作流中的问题。 本教程讨论不同的眼动跟踪可视化效果,以及它们如何满足不同的需求。 我们提供了有关记录和加载眼动跟踪数据的基本示例,以及如何可视化它们的示例。
摘要:在石板上) (热度地图的二维关注地图。 录制 & 重播眼动跟踪数据。
设置 MRTK 眼动跟踪示例
先决条件
请注意,在设备上使用眼动跟踪样本需要一个HoloLens 2和一个示例应用包,该包在包的 AppXManifest 上构建了“凝视输入”功能。
若要在设备上使用这些眼动跟踪示例,请确保在 Visual Studio 中生成应用之前 执行以下步骤 。
1. 加载 EyeTrackingDemo-00-RootScene.unity
EyeTrackingDemo-00-RootScene 是基础 (根) 场景,其中包含所有核心 MRTK 组件。 这是需要首先加载的场景,你将从中运行眼动跟踪演示。 它具有图形场景菜单,使你能够在将 累加加载的不同眼动跟踪样本之间轻松切换。
根场景包括一些核心组件,这些组件将保留在累加加载的场景中,例如 MRTK 配置的配置文件和场景相机。 MixedRealityBasicSceneSetup (请参阅下面的屏幕截图,) 包含一个脚本,该脚本将在启动时自动加载引用的场景。 默认情况下,这是 EyeTrackingDemo-02-TargetSelection。
2. 向生成菜单添加场景
若要在运行时加载累加场景,必须先将这些场景添加到 “生成设置 -> 生成”菜单中的场景 。 根场景应显示为列表中的第一个场景,这一点很重要:
3. 在Unity编辑器中播放眼动跟踪示例
将眼动跟踪场景添加到“生成设置”并加载 EyeTrackingDemo-00-RootScene 后,你可能最不想检查一件事:附加到 MixedRealityBasicSceneSetup GameObject 的“OnLoadStartScene”脚本是否已启用? 这是为了让根场景知道要首先加载哪个演示场景。
让我们滚! 点击 “播放”! 你应该会看到几个宝石出现,场景菜单显示在顶部。
你还应该注意到游戏视图的中心有一个小的半透明圆圈。 这充当 模拟眼睛凝视 (光标) 的指示器:只需按下 鼠标右键 并移动鼠标即可更改其位置。 当光标悬停在宝石上时,你会注意到它将与当前查看的宝石中心对齐。 这是测试在 “查看” 目标时是否按预期触发事件的好方法。 请注意,通过鼠标控制 模拟的眼睛凝视 对我们的快速和无意的眼动是一个相当糟糕的补充。 但是,它非常适合在迭代设计之前测试基本功能,方法是将其部署到HoloLens 2设备。 返回到我们的眼动跟踪示例场景:只要被观察,宝石就会旋转,可以通过“看”它和...
- 按 Enter (模拟说“select”)
- 在麦克风中说“选择”
- 按 空格 键显示模拟手部输入时,单击鼠标左键以执行模拟捏合
在 目视支持的目标选择 教程中,我们更详细地介绍了如何实现这些交互。
将光标向上移动到场景中的顶部菜单栏时,你会注意到,当前悬停的项将巧妙地突出显示。 可以使用上述提交方法之一 (选择当前突出显示的项,例如,按 Enter) 。 这样,就可以在不同的目视跟踪示例场景之间切换。
4. 如何测试特定子场景
处理特定方案时,可能不希望每次都浏览场景菜单。 相反,在按下“ 播放 ”按钮时,你可能希望直接从当前正在处理的场景开始。 没问题! 下面是你可以执行的作:
加载 根 场景
在 根 场景中,禁用 “OnLoadStartScene” 脚本
将 下面所述的目视跟踪测试场景之一 (或任何其他场景) 拖放到 层次结构 视图中,如以下屏幕截图所示。
按 “播放”
请注意,像这样加载子场景并不持久:这意味着,如果将应用部署到HoloLens 2设备,则只会加载根场景 (假设它出现在生成设置) 的顶部。 此外,当你与他人共享项目时,子场景不会自动加载。
了解如何使 MRTK 眼动跟踪示例场景正常工作后,让我们继续深入探讨如何使用眼睛选择全息影像: 眼睛支持的目标选择。