Prise en main du suivi oculaire dans MRTK2

Cette page explique comment configurer votre scène Unity MRTK pour utiliser le suivi oculaire dans votre application. L’exemple suivant part du principe que vous commencez par une nouvelle scène. Vous pouvez également consulter nos exemples de suivi oculaire MRTK déjà configurés avec des tonnes d’excellents exemples que vous pouvez générer directement.

Liste de contrôle des exigences de suivi oculaire

Pour que le suivi des yeux fonctionne correctement, les exigences suivantes doivent être remplies. Si vous débutez avec le suivi oculaire sur HoloLens 2 et comment le suivi oculaire est configuré dans MRTK, ne vous inquiétez pas! Nous allons traiter ces questions plus en détail ci-dessous.

  1. Un « regard de regard Fournisseur de données » doit être ajouté au système d’entrée. Celui-ci permet de fournir les données de suivi des yeux issues de la plateforme.
  2. La fonctionnalité « GazeInput » doit être activée dans le manifeste de l’application. Vous pouvez définir cette fonctionnalité dans Unity 2019, mais dans Unity 2018 et ses versions antérieures, elle est uniquement disponible dans Visual Studio et par le biais de l’outil de génération MRTK.
  3. Le HoloLens doit être étalonné pour l’utilisateur actuel. Consultez notre exemple pour détecter si l’œil d’un utilisateur est calibré ou non.

Remarque sur la fonctionnalité GazeInput

Les outils de génération fournis par MRTK (par exemple, Mixed Reality Toolkit -> Utilities -> Build Window) peuvent activer automatiquement la fonctionnalité GazeInput pour vous. Pour ce faire, vous devez vous assurer que la fonctionnalité d’entrée de regard est cochée sous l’onglet « Options de build Appx » :

MRTK Build Tools

Cet outil recherche le manifeste AppX une fois la build Unity terminée et ajoute manuellement la fonctionnalité GazeInput. Avant Unity 2019, cet outil n’est pas actif lors de l’utilisation de la fenêtre de build intégrée d’Unity (par exemple, Fichier -> Build Paramètres).

Avant Unity 2019, lors de l’utilisation de la fenêtre de génération d’Unity, la fonctionnalité doit être ajoutée manuellement après la build Unity, comme suit :

  1. Ouvrez votre projet Visual Studio compilé, puis ouvrez le fichier « Package.appxmanifest » dans votre solution.
  2. Veillez à cocher la case « GazeInput » sous Fonctionnalités. Si vous ne voyez pas de fonctionnalité « GazeInput », vérifiez que votre système répond aux conditions préalables à l’utilisation de MRTK (en particulier la version Windows SDK).

Veuillez noter : Vous n’avez à effectuer cette opération que si vous générez dans un nouveau dossier de build. Cela signifie que si vous avez déjà créé votre projet Unity et configuré appxmanifest avant et maintenant ciblez à nouveau le même dossier, vous n’aurez pas besoin de réappliquer vos modifications.

Configuration pas à pas du suivi oculaire

Configuration de la scène

Configurez MixedRealityToolkit en cliquant simplement sur « Mixed Reality Toolkit -> Configurer... » dans la barre de menus.

MRTK configure

Configuration des profils MRTK requis pour le suivi oculaire

Après avoir configuré votre scène MRTK, vous êtes invité à choisir un profil pour MRTK. Vous pouvez simplement sélectionner DefaultMixedRealityToolkitConfigurationProfile, puis sélectionner l’option « Copier & personnaliser ».

MRTK profile

Créer un « fournisseur de données de regard »

  • Cliquez sur l’onglet « Entrée » dans votre profil MRTK.
  • Pour modifier la valeur par défaut ( « DefaultMixedRealityInputSystemProfile »), cliquez sur le bouton « Cloner » en regard de celui-ci. Un menu « Cloner le profil » s’affiche. Cliquez simplement sur « Cloner » en bas de ce menu.
  • Double-cliquez sur votre nouveau profil d’entrée, développez « Fournisseurs de données d’entrée », puis sélectionnez « + Ajouter Fournisseur de données ».
  • Créez un fournisseur de données :
    • Sous Type, sélectionnez « Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input » ->« WindowsMixedRealityEyeGazeDataProvider »
    • Pour la ou les plateformes, sélectionnez « Windows universel ».

MRTK data provider

Simulation du suivi oculaire dans l’éditeur Unity

Vous pouvez simuler une entrée de suivi oculaire dans l’Éditeur Unity pour vous assurer que les événements sont correctement déclenchés avant de déployer l’application sur votre HoloLens 2. Le signal du regard est simulé en utilisant simplement l’emplacement de la caméra comme origine du regard et le vecteur avant de la caméra comme direction du regard. Bien que cela soit parfait pour les tests initiaux, veuillez noter qu’il n’est pas une bonne imitation pour les mouvements oculaires rapides. Pour cela, il est préférable de garantir des tests fréquents de vos interactions oculaires sur le HoloLens 2.

  1. Activez le suivi oculaire simulé :

    • Cliquez sur l’onglet « Entrée » dans votre profil de configuration MRTK.
    • À partir de là, accédez à « Fournisseurs de données d’entrée » ->« Service de simulation d’entrée ».
    • Clonez le fichier « DefaultMixedRealityInputSimpulationProfile » pour y apporter des modifications.
    • Cochez la case « Simuler la position des yeux ».

    MRTK eyes simulate

  2. Désactiver le curseur de regard de tête par défaut : en général, il est recommandé d’éviter d’afficher un curseur de regard oculaire ou, si absolument nécessaire, pour le rendre très subtil. Nous vous recommandons de masquer le curseur de regard de tête par défaut attaché au profil de pointeur de regard MRTK par défaut.

    • Accédez à votre profil de configuration MRTK ->'Input' ->'Pointers'
    • Clonez le fichier « DefaultMixedRealityInputPointerProfile » pour y apporter des modifications.
    • En haut du « Pointeur Paramètres », vous devez affecter un préfabriqué de curseur invisible au « GazeCursor ». Pour ce faire, sélectionnez le préfabriqué « EyeGazeCursor » de la Fondation MRTK.

Activation du regard dans le fournisseur de regard

Dans HoloLens v1, le regard de tête a été utilisé comme technique de pointage principale. Bien que le regard de la tête soit toujours disponible via le gazeProvider dans MRTK qui est attaché à votre Caméra, vous pouvez vérifier d’utiliser le regard à la place en cochant la case « IsEyeTrackingEnabled » dans les paramètres de regard du profil de pointeur d’entrée.

Notes

Les développeurs peuvent basculer entre le regard et le regard dans le code en modifiant la propriété « IsEyeTrackingEnabled » de « GazeProvider ».

Important

Si l’une des exigences de suivi oculaire n’est pas remplie, l’application revient automatiquement au regard de la tête.

Accès aux données du regard

Maintenant que votre scène est configurée pour utiliser le suivi oculaire, examinons comment y accéder dans vos scripts : accès aux données de suivi oculaire via EyeGazeProvider et sélections cibles prises en charge par les yeux.

Test de votre application Unity sur un HoloLens 2

La création de votre application avec suivi oculaire doit être similaire à la façon dont vous compileriez d’autres applications HoloLens 2 MRTK. Assurez-vous que vous avez activé la fonctionnalité « Entrée de regard », comme décrit ci-dessus dans la section A, note sur la fonctionnalité GazeInput.

Vérifiez que le projet est configuré pour HoloLens 2

Vérifiez que vous avez correctement configuré votre projet en examinant les étapes de configuration décrites dans Configurer un projet OpenXR avec MRTK.

Points clés à prendre en compte :

  • Passez en revue les paramètres clés dans la fenêtre Project Paramètres.
    • Vérifier que les fournisseurs de plug-ins sont correctement définis
  • Résolvez les triangles d’avertissement.
    • Les profils d’interaction doivent être définis
    • Les groupes de fonctionnalités OpenXR doivent être correctement sélectionnés

Étalonnage oculaire

Enfin, n’oubliez pas de passer par l’étalonnage des yeux sur votre HoloLens 2. Le système de suivi oculaire ne retourne aucune entrée si l’utilisateur n’est pas étalonné. Le moyen le plus simple d’accéder à l’étalonnage consiste à retourner la visière et à revenir en arrière. Une notification système doit vous accueillir en tant que nouvel utilisateur et vous demander de passer par l’étalonnage oculaire. Vous pouvez également trouver l’étalonnage oculaire dans les paramètres système : Paramètres > étalonnage de l’œil d’étalonnage > du système>.

Autorisation de suivi oculaire

Lors du démarrage de l’application sur votre HoloLens 2 pour la première fois, une invite doit s’afficher pour demander à l’utilisateur l’autorisation d’utiliser le suivi oculaire. S’il n’apparaît pas, cela indique généralement que la fonctionnalité « GazeInput » n’a pas été définie.

Une fois l’invite d’autorisation affichée, elle ne s’affiche pas automatiquement. Si vous « refusez l’autorisation de suivi oculaire », vous pouvez le réinitialiser dans Paramètres -> Confidentialité -> Applications.


Vous devez commencer à utiliser le suivi oculaire dans votre application MRTK Unity. N’oubliez pas de consulter nos didacticiels et exemples de suivi oculaire MRTK montrant comment utiliser l’entrée de suivi oculaire et fournir facilement des scripts que vous pouvez réutiliser dans vos projets.


Retour à « Suivi oculaire dans MixedRealityToolkit »