使用全息重塑以固定速率的眼睛凝视数据



我正试图以固定的帧速率(30 Hz,由HoloLens2中的眼动仪提供(获得眼动追踪数据,并且不与Unity的Update()函数绑定,因为我的应用程序的渲染帧速率不稳定。如果我使用EyeGazeProvider,似乎会错过一些凝视样本,因为它不是以固定的速率输出凝视数据,而是取决于渲染帧速率,即使我使用计时器异步(每10ms(检查新的凝视数据。使用Windows.UI.Input.Spatial.SpatialPointerPose,我可以在部署的HL2应用程序上以固定的速率获得凝视样本,但由于我的场景渲染负载很高,我需要使用远程处理。

然而,我对HoloLens 2在全息远程处理(播放模式或独立应用程序(中使用UWP API有点困惑。是否可以使用类SpatialPointerPose通过Remoting获得眼睛跟踪数据?或者,对于非UWP应用程序(编辑器或独立应用程序(,如全息远程处理,是否必须使用MRTK接口EyeGazeProvider

从非UWP应用程序(编辑器或独立应用程序(以固定速率获取眼睛凝视数据的最简单方法是使用混合现实OpenXR插件。该代码将类似于FollowEyeGaze.cs;Update(("方法,我们可以使用计时器以固定的速率获取数据。

在使用Unity OpenXR插件时,我们可以使用InputDevice.TryGetFeatureUsages方法来获取设备提供的每个InputFeatureUsage的列表。对于EyeTracking设备,没有与时间相关的功能使用。因此,OpenXR插件也无法提供眼睛凝视样本的时间戳。

最新更新