是否可以访问 hololens 2 上的瞳孔直径等眼动追踪数据?
Is it possible to access eye tracking data like pupil diameter on hololens 2?
有没有办法存储和查看用户瞳孔大小或眼球运动速度等眼动数据?
我目前正在使用 MRTK 统一构建一个 hololens 2 应用程序。现在我想“记录”、存储和查看用户的眼动数据。
我不相信你可以获得瞳孔直径,但看起来你可以通过测量帧之间注视方向的变化来估计 angular 速度:
Vector3 previousGazeDir;
// ...
Vector3 newGazeDir = CoreServices.InputSystem.EyeGazeProvider.GazeDirection;
if (previousGazeDir != Vector3.zero)
{
float gazeAngle = Vector3.Angle(previousGazeDir, newGazeDir);
float gazeAngularVelocity = gazeAngle/Time.deltaTime;
// .. do stuff with gazeAngularVelocity
}
previousGazeDir = newGazeDir;
根据您的具体用例,您可能需要考虑头部朝向的变化。
Hololens 2 似乎确实支持眼动追踪,而且 appears to integrate with Unity 通过混合现实工具包。虽然我没有为 Hololens 使用眼动追踪工具,但我可以说通过逐帧跟踪注视方向可以收集“眼动速度”。瞳孔大小我没有在我使用的眼动追踪 API 中看到,我也没有在链接的文档中看到它。
几乎所有您可以在代码中跟踪的内容都可以被“记录”。
有没有办法存储和查看用户瞳孔大小或眼球运动速度等眼动数据?
我目前正在使用 MRTK 统一构建一个 hololens 2 应用程序。现在我想“记录”、存储和查看用户的眼动数据。
我不相信你可以获得瞳孔直径,但看起来你可以通过测量帧之间注视方向的变化来估计 angular 速度:
Vector3 previousGazeDir;
// ...
Vector3 newGazeDir = CoreServices.InputSystem.EyeGazeProvider.GazeDirection;
if (previousGazeDir != Vector3.zero)
{
float gazeAngle = Vector3.Angle(previousGazeDir, newGazeDir);
float gazeAngularVelocity = gazeAngle/Time.deltaTime;
// .. do stuff with gazeAngularVelocity
}
previousGazeDir = newGazeDir;
根据您的具体用例,您可能需要考虑头部朝向的变化。
Hololens 2 似乎确实支持眼动追踪,而且 appears to integrate with Unity 通过混合现实工具包。虽然我没有为 Hololens 使用眼动追踪工具,但我可以说通过逐帧跟踪注视方向可以收集“眼动速度”。瞳孔大小我没有在我使用的眼动追踪 API 中看到,我也没有在链接的文档中看到它。
几乎所有您可以在代码中跟踪的内容都可以被“记录”。