Accès aux données de suivi oculaire dans votre script Unity

Cet article suppose que vous disposez d’une compréhension de la configuration du suivi des yeux dans une scène MRTK (consultez configuration de base MRTK pour utiliser le suivi oculaire). L’accès aux données de suivi oculaire dans un script monocomportement est simple ! Utilisez simplement CoreServices. InputSystem. EyeGazeProvider.

IMixedRealityEyeGazeProvider

La configuration du suivi des yeux dans MRTK est configurée via l' IMixedRealityEyeGazeProvider interface. L’utilisation de CoreServices. InputSystem. EyeGazeProvider fournit l’implémentation par défaut du fournisseur de regard inscrite dans la boîte à outils au moment de l’exécution. Les propriétés utiles du EyeGazeProvider sont présentées ci-dessous.

  • IsEyeTrackingEnabled: true si l’utilisateur a choisi d’utiliser le suivi oculaire pour le point de vue du regard.

  • IsEyeCalibrationValid: indique si l’étalonnage du suivi oculaire de l’utilisateur est valide ou non. Elle retourne’null', si la valeur n’a pas encore reçu de données du système de suivi visuel. Elle n’est peut-être pas valide, car l’utilisateur a ignoré l’étalonnage du suivi oculaire.

  • IsEyeTrackingEnabledAndValid: indique si les données de suivi visuel en cours sont actuellement utilisées pour le point de regard.

  • IsEyeTrackingDataValid: true si les données de suivi visuel sont disponibles. Il est possible qu’il ne soit pas disponible en raison d’un dépassement du délai d’attente (doit être robuste pour le clignotement de l’utilisateur) ou d’un manque de matériel ou d’autorisations de suivi. Consultez notre exemple de notification d’étalonnage oculaire manquant qui explique comment détecter si un utilisateur est étalonné par un œil et pour afficher une notification appropriée.

  • GazeOrigin: origine du point de regard. Notez que cette opération renvoie l’origine du point d’entrée de la tête si « IsEyeGazeValid » a la valeur false.

  • GazeDirection: direction du point de regard. Le sens du regard de la tête est retourné si « IsEyeGazeValid » a la valeur false.

  • HitInfo, HitPosition, HitNormal, etc. : informations sur la cible actuellement en regard. Là encore, si IsEyeGazeValid a la valeur false, il sera basé sur le point de regard de l’utilisateur.

Exemples d’utilisation de CoreServices. InputSystem. EyeGazeProvider

Voici un exemple de FollowEyeGaze. cs:

  • Obtenir le point d’un hologramme que l’utilisateur examine :
// Show the object at the hit position of the user's eye gaze ray with the target.
gameObject.transform.position = CoreServices.InputSystem.EyeGazeProvider.HitPosition;
  • Montrer une ressource visuelle à une distance fixe à partir de laquelle l’utilisateur recherche actuellement :
// 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;

Voir aussi