HoloLens2开发:使用MRTK并且模拟眼动追踪

注:如何导入MRTK可以见我的前一篇文章:
HoloLens2开发:使用MRTK并在Unity中模拟手势输入

示例在 Assets\MixedRealityToolkit.Examples\Demos\EyeTracking\Scenes 文件夹下,打开第一个场景
在这里插入图片描述
由于MRTK中不能真正使用类似HoloLens 2 的眼球追踪,所以会默认把画面中心视为眼球焦点
下面是示例运行图片:
图中的白点即是眼球的焦点,而且HoloLens 2 中 只给出一个焦点(根据左右眼球的组合)
眼睛注视小球即会旋转,手势点击即会消失。
在这里插入图片描述
使用眼动进行阅读(由于30帧录制gif过大,所以只能采用5帧版)
在这里插入图片描述
眼动HeatMap(指示了眼睛聚焦处和聚焦时长):
在这里插入图片描述
一个非常精妙的眼动旋转(随视线而旋转)
在这里插入图片描述

  • 4
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
本篇学习笔记将介绍HoloLens 2 的 EyeTracking(眼动跟踪)和语音识别功能,以及如何在MRTK(Mixed Reality Toolkit)中进行开发。 EyeTracking HoloLens 2 的 EyeTracking 功能可以让用户通过视线在应用程序中进行选择和交互,而无需使用手势或语音命令。在MRTK中,我们可以使用EyeTrackingProvider来获取眼动跟踪数据。 首先,我们需要在MRTK中启用EyeTrackingProvider。在Unity中打开MRTK的配置文件,选择Eye Tracking选项卡,勾选Enable Eye Tracking选项,并将Update Interval设置为0.01。 接下来,在我们的场景中添加一个Cube,并将其设置为Interactable,这样用户可以使用眼动跟踪来选择它。然后,我们需要将EyeTrackingTarget组件添加到Cube上,这将使其成为眼动跟踪的目标。 最后,在我们的脚本中,我们可以使用EyeTrackingProvider来获取当前视线所在的位置,并将其用于交互。例如,我们可以在Update函数中检查是否正在注视着目标,并执行相应的操作: ```csharp using UnityEngine; using Microsoft.MixedReality.Toolkit.Input; public class EyeTrackingInteraction : MonoBehaviour { private EyeTrackingTarget target; private void Start() { target = GetComponent<EyeTrackingTarget>(); } private void Update() { if (target.IsBeingLookedAt) { // Do something } } } ``` 语音识别 HoloLens 2 的语音识别功能可以让用户通过语音命令在应用程序中进行选择和交互。在MRTK中,我们可以使用SpeechInputHandler来处理语音输入。 首先,我们需要在MRTK的配置文件中启用语音识别,选择Input选项卡,勾选Enable Speech Input选项,并选择我们要识别的语言。 接下来,在我们的场景中添加一个Cube,并将其设置为Interactable,这样用户可以使用语音命令来选择它。然后,我们需要将SpeechInputHandler组件添加到Cube上,这将使其能够接收语音输入。 最后,在我们的脚本中,我们可以使用SpeechInputHandler来处理语音输入,并将其用于交互。例如,我们可以在OnSpeechKeywordRecognized函数中检查识别到的关键字,并执行相应的操作: ```csharp using UnityEngine; using Microsoft.MixedReality.Toolkit.Input; public class SpeechInteraction : MonoBehaviour { private void Start() { var speechInputHandler = GetComponent<SpeechInputHandler>(); speechInputHandler.OnSpeechKeywordRecognized += OnSpeechKeywordRecognized; } private void OnSpeechKeywordRecognized(SpeechEventData eventData) { if (eventData.Command.Keyword == "select") { // Do something } } } ``` 总结 HoloLens 2 的 EyeTracking 和语音识别功能可以使用户更加方便地与应用程序交互。在MRTK中,我们可以使用EyeTrackingProvider和SpeechInputHandler来处理眼动跟踪和语音输入。
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值