Acceso a los datos de seguimiento ocular en el script de Unity: MRTK2
En este artículo se da por supuesto que uno tiene conocimientos para configurar el seguimiento ocular en una escena de MRTK (consulte Configuración básica de MRTK para usar el seguimiento ocular). Acceder a los datos de seguimiento ocular en un script monoBehaviour es fácil. Simplemente use CoreServices.InputSystem.EyeGazeProvider.
IMixedRealityEyeGazeProvider
La configuración de seguimiento ocular en MRTK se configura a través de la IMixedRealityEyeGazeProvider
interfaz . El uso de CoreServices.InputSystem.EyeGazeProvider proporciona la implementación predeterminada del proveedor de mirada registrada en el kit de herramientas en tiempo de ejecución.
A continuación se describen las propiedades útiles de .EyeGazeProvider
IsEyeTrackingEnabled: True si el usuario ha seleccionado usar el seguimiento ocular para la mirada.
IsEyeCalibrationValid: indica si la calibración del seguimiento ocular del usuario es válida o no. Devuelve "null", si el valor aún no ha recibido datos del sistema de seguimiento ocular. Puede no ser válido, porque el usuario omitió la calibración del seguimiento ocular.
IsEyeTrackingEnabledAndValid: indica si los datos actuales de seguimiento ocular se usan actualmente para la mirada.
IsEyeTrackingDataValid: True si hay datos de seguimiento ocular disponibles. Puede que no esté disponible debido a un tiempo de espera superado (debe ser sólido para que el usuario parpadee) o la falta de hardware o permisos de seguimiento. Consulte nuestra muestra de notificación de calibración ocular que explica cómo detectar si un usuario está calibrado ocularmente y mostrar una notificación adecuada.
GazeOrigin: Origen del rayo de mirada. Tenga en cuenta que esto devolverá el origen de la mirada en la cabeza si "IsEyeGazeValid" es false.
GazeDirection: dirección del rayo de mirada. Esto devolverá la dirección de la mirada de la cabeza si 'IsEyeGazeValid' es false.
HitInfo, HitPosition, HitNormal, etc.: información sobre el objeto que se observa actualmente en el destino. De nuevo, si
IsEyeGazeValid
es false, esto se basará en la mirada de la cabeza del usuario.
Ejemplos de uso de CoreServices.InputSystem.EyeGazeProvider
Este es un ejemplo de FollowEyeGaze.cs:
- Obtenga el punto de un holograma que el usuario está examinando:
// Show the object at the hit position of the user's eye gaze ray with the target.
gameObject.transform.position = CoreServices.InputSystem.EyeGazeProvider.HitPosition;
- Mostrar un recurso visual a una distancia fija desde donde el usuario está buscando actualmente:
// If no target is hit, show the object at a default distance along the gaze ray.
gameObject.transform.position =
CoreServices.InputSystem.EyeGazeProvider.GazeOrigin +
CoreServices.InputSystem.EyeGazeProvider.GazeDirection.normalized * defaultDistanceInMeters;