练习 - 使用目视跟踪

已完成

在本练习中,您将学习如何为 HoloLens 2 启动眼动跟踪功能,并在用户注视对象时,通过启用对象上的眼动跟踪功能来触发相应动作。

确保已启用眼睛凝视输入功能

  • 在 Unity 菜单中,选择“ 编辑>项目设置”。 展开 XR 插件管理,然后选择 OpenXR 并确保已将 眼动交互配置文件 添加到交互配置文件中。

    OpenXR 菜单中眼睛注视交互配置文件的屏幕截图。

为 Unity 编辑器启用模拟眼动跟踪

  • 上一模块中,场景中应已具有 MRTK XR Rig。 凝视输入包含在此 prefab 中,因此无需添加任何额外的组件。

    用于注视控制器的 MRTK XR Rig prefab 屏幕截图。

向对象添加眼动跟踪

  1. 在“层次结构”窗口中,展开“RoverExplorer”“按钮”>“提示”>。 右键单击 提示 游戏对象,然后选择 3D 对象>文本 - TextMeshPro。 将新创建的游戏对象重命名为 ButtonText

    Unity 的屏幕截图,其中选择了“提示按钮”文本对象并配置了 EyeTrackingTarget 组件。

  2. 在“层次结构”窗口中,选择 “RoverExplorer>按钮>提示>按钮文本”。 将其“文本输入”更改为“提示”,将“字号”更改为 2,将“位置 X”更改为 9.75,将“位置 Y”更改为 -1.50,将“位置 Z”更改为 -0.3

    Unity 的屏幕截图,其中配置了 Hints Button 文本对象配置和 EyeTrackingTarget 组件。

  3. 在“层次结构”窗口中,展开 RoverExplorer>按钮>提示>ButtonText。 然后,在“层次结构”窗口中,选择 “提示 ”按钮对象,并按如下所示配置 PressableButton 组件:

    • 在“XRI 可交互事件”下的“悬停时输入”部分

      1. 选择小 + 图标以添加另一个事件。
      2. ButtonText 对象从 “提示 ”按钮分配给 “无”(对象) 字段。
      3. “无函数 ”下拉列表中,选择 TextMeshPro>float fontSize 以在触发事件时更新此属性值。
      4. 将参数设置为 3 ,将当前字号增加到 3。
    • 在“悬停时退出”部分中

      1. 选择小 + 图标以添加另一个事件。
      2. ButtonText 对象从 “提示 ”按钮分配给 “无”(对象) 字段。
      3. “无函数 ”下拉列表中,选择 TextMeshPro>float fontSize 以在触发事件时更新此属性值。
      4. 将参数设置为 2 以将字号重置回 2。

    Unity 的屏幕截图,其中选择了 Hints TextMeshPro 对象并配置了 EyeTrackingTarget 组件。

  4. “爆炸 ”和 “重置” 按钮对象重复上述步骤,为剩余按钮配置眼动跟踪。 如果你现在进入游戏模式,按住鼠标右键,同时移动鼠标,直到视线对准其中一个按钮,你会看到文本的字号增大,然后在你移开视线时,它会重置到原始大小。

    Unity 的屏幕截图,其中配置了所有按钮文本和 EyeTrackingTarget 组件。