Bien démarrer avec le suivi oculaire dans MRTK2

Cette page explique comment configurer votre scène Unity MRTK pour utiliser le suivi oculaire dans votre application. Le document suivant suppose que vous commencez avec une nouvelle scène. Vous pouvez également case activée nos exemples de suivi oculaire MRTK déjà configurés avec des tonnes d’excellents exemples sur lesquels vous pouvez directement vous appuyer.

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 ne connaissez pas du tout le suivi des yeux sur HoloLens 2 et sa configuration dans MRTK, pas de panique ! Nous allons examiner en détail comment traiter chacun d’eux plus en détail dans les sections suivantes.

  1. Un « fournisseur de données Eye Gaze » doit être ajouté au système d’entrée. Ce fournisseur de données fournit des données de suivi oculaire à partir de la plateforme.
  2. La fonctionnalité « GazeInput » doit être activée dans le manifeste de l’application. Cette fonctionnalité peut être définie dans Unity 2019, mais dans Unity 2018 et les versions antérieures, cette fonctionnalité n’est disponible que dans Visual Studio et via l’outil de génération MRTK.
  3. L’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 (Mixed Reality Toolkit -> Utilitaires -> Fenêtre de génération) peuvent activer automatiquement la fonctionnalité GazeInput pour vous. Pour effectuer cette étape, vous devez vous assurer que l’option « Capacité d’entrée de regard » est cochée sous l’onglet « Options de génération Appx » :

Outils de génération MRTK

Ces outils trouveront le manifeste AppX une fois la build Unity terminée et ajouteront manuellement la fonctionnalité GazeInput. Avant Unity 2019, ces outils ne sont PAS actifs lors de l’utilisation de la fenêtre build intégrée d’Unity (Fichier -> Paramètres de build).

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 », case activée que votre système remplit les conditions préalables à l’utilisation de MRTK (en particulier la version du Kit de développement logiciel (SDK) Windows.

Note: Vous n’avez à effectuer cette opération que si vous créez un nouveau dossier de build. Vous n’aurez pas besoin de réappliquer vos modifications si vous aviez déjà créé votre projet Unity et configuré l’appxmanifest avant et maintenant à nouveau cibler le même dossier.

Configuration du suivi oculaire pas à pas

Configuration de la scène

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

Configuration MRTK

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 sélectionner DefaultMixedRealityToolkitConfigurationProfile, puis sélectionner l’option « Copier & Personnaliser ».

Profil MRTK

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 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 un fournisseur de données ».
  • Ajoutez le fournisseur de données approprié :
    • Pour les Windows Mixed Reality hérités
      • Sous Type , sélectionnez « Microsoft.MixedReality.Toolkit.WindowsMixedReality.Input » ->'WindowsMixedRealityEyeGazeDataProvider'
    • Pour le plug-in XR Windows
      • Sous Type , sélectionnez « Microsoft.MixedReality.Toolkit.XRSDK.WindowsMixedReality » ->'WindowsMixedRealityEyeGazeDataProvider'
    • Pour OpenXR
      • Sous Type , sélectionnez « Microsoft.MixedReality.Toolkit.XRSDK.OpenXR » ->'OpenXREyeGazeDataProvider'

Fournisseur de données MRTK

Activer « Utiliser les données de suivi oculaire »

  • Accédez à votre profil de configuration MRTK ->'Input' ->'Pointers'
    • Clonez le fichier « DefaultMixedRealityInputPointerProfile » pour y apporter des modifications.
  • Recherchez « Utiliser les données de suivi oculaire » dans les paramètres et activez-le.
  • Vous pouvez voir un bouton « Définir la fonctionnalité GazeInput » maintenant et devez appuyer dessus pour activer la fonctionnalité UWP.

MRTK utilise des données de suivi oculaire

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 l’emplacement de la caméra comme origine du regard et le vecteur avant de la caméra comme direction du regard. Bien que ce soit idéal pour les tests initiaux, notez que ce 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 « DefaultMixedRealityInputSimulationProfile » pour y apporter des modifications.
    • Sélectionnez le paramètre « Mode de simulation du regard par défaut ».

    Les yeux MRTK simulent

  2. Désactiver le curseur de regard de la tête par défaut : en général, nous vous recommandons d’éviter d’afficher un curseur de regard ou, si cela est absolument nécessaire, de 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 des « Paramètres du pointeur », vous devez affecter un préfabriqué de curseur invisible au « Préfab du curseur de regard ». 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 la 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 appareil photo, vous pouvez utiliser le regard visuel à 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 basé sur les yeux et le regard basé sur la tête 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, voyons comment y accéder dans vos scripts : Accès aux données de suivi oculaire via EyeGazeProvider et les 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 le suivi oculaire doit être similaire à la façon dont vous compileriez d’autres applications HoloLens 2 MRTK. Assurez-vous d’avoir 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 à considérer :

  • Passez en revue les paramètres des clés dans la fenêtre Paramètres du projet .
    • Vérifiez 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

N’oubliez pas d’effectuer 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’obtenir l’étalonnage consiste à retourner la visière vers le haut, puis à reculer. Une notification système doit apparaître qui vous accueille en tant que nouvel utilisateur et vous demande de passer par l’étalonnage des yeux. Vous pouvez également trouver l’étalonnage des yeux dans les paramètres système : Paramètres > Étalonnage > du système > Exécuter l’étalonnage des yeux.

Autorisation de suivi oculaire

Lorsque vous démarrez 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. Si l’invite ne s’affiche 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 plus automatiquement. Si vous avez « refusé l’autorisation de suivi oculaire », vous pouvez la réinitialiser dans Paramètres -> Confidentialité -> Applications.


Cela devrait vous aider à commencer à utiliser le suivi oculaire dans votre application MRTK Unity. N’oubliez pas de case activée nos tutoriels et exemples de suivi oculaire MRTK qui montrent comment utiliser l’entrée de suivi oculaire et fournissent facilement des scripts que vous pouvez réutiliser dans vos projets.


Retour à « Suivi des yeux dans mixedRealityToolkit »