如何在Hololens2的MRTK3中通过编程获取头部凝视位置与方向
在MRTK3中获取Hololens 2的凝视方向与原点
MRTK3的输入系统架构相比MRTK2有调整,获取凝视数据的方式也有所变化,以下是具体实现方案:
实现代码
先引用必要的命名空间,再通过InputSystem提供的凝视接口读取数据:
using Microsoft.MixedReality.Toolkit.Input; using UnityEngine; public class GazeDataLogger : MonoBehaviour { private void Update() { // 获取当前凝视提供者实例 IGazeProvider gazeProvider = InputSystem.GazeProvider; if (gazeProvider != null) { // 读取凝视方向与原点 Vector3 gazeDirection = gazeProvider.GazeDirection; Vector3 gazeOrigin = gazeProvider.GazeOrigin; Debug.Log($"凝视方向: {gazeDirection}"); Debug.Log($"凝视原点: {gazeOrigin}"); } } }
关键注意事项
- 确保项目已启用Unity 新输入系统(MRTK3依赖该系统,可在
Edit > Project Settings > Player > Active Input Handling中设置) - 在MRTK的输入配置文件中,确认已启用Gaze输入源(默认开启头部凝视,若需眼动凝视需额外配置设备权限与功能)
- 若需高精度眼动凝视数据,可改用
EyeGazeProvider,前提是Hololens 2设备已开启眼动跟踪并完成授权
内容的提问来源于stack exchange,提问作者kratos12
相关产品推荐
相关产品推荐

