Enregistrement de l’animation d’entrée — MRTK2

MRTK dispose d’un système d’enregistrement par lequel les données de mouvement de la tête et de suivi de la main peuvent être stockées dans des fichiers d’animation. Les données enregistrées peuvent ensuite être lues à l’aide du système de simulation d’entrée.

L’enregistrement des entrées est un outil utile dans diverses situations :

  • Création de tests automatisés pour l’interaction, les manipulations, les résolveurs, etc. La création du mouvement des contrôleurs et des mains pour ces tests peut prendre du temps. L’enregistrement direct des entrées peut accélérer le processus et fournir des données réelles.
  • Enseigner l’utilisation d’éléments d’expérience utilisateur par le biais d’animations. Montrer aux utilisateurs comment interagir avec des boutons et d’autres objets peut lisser la courbe d’apprentissage.
  • Débogage d’un comportement inattendu qui peut être rencontré lors d’une utilisation régulière. Le système d’enregistrement prend en charge un concept de « mémoire tampon propagée » qui permet d’enregistrer les entrées récentes en arrière-plan. Consultez Service d’enregistrement d’entrée.

Services d’enregistrement et de lecture

Deux services système d’entrée sont fournis pour enregistrer et lire les entrées respectivement.

Service d’enregistrement d’entrée

InputRecordingServiceprend les données de la transformation de la caméra main et des contrôleurs de main actifs et les stocke dans une mémoire tampon interne. Lorsqu’elles sont demandées, ces données sont ensuite sérialisées en fichiers binaires à des fins de stockage et de relecture ultérieure.

Diagramme d’enregistrement

Pour démarrer l’enregistrement de l’entrée, appelez la StartRecording fonction . StopRecording interrompt l’enregistrement (mais n’abandonne pas les données enregistrées jusqu’à présent, utilisez DiscardRecordedInput pour le faire si nécessaire).

Par défaut, la taille de la mémoire tampon d’enregistrement est limitée à 30 secondes. Cela permet au service d’enregistrement de conserver l’enregistrement en arrière-plan sans accumuler trop de données, puis d’enregistrer les 30 dernières secondes si nécessaire. L’intervalle de temps peut être modifié à l’aide de la RecordingBufferTimeLimit propriété ou l’enregistrement peut être illimité à l’aide de l’option UseBufferTimeLimit .

Les données de la mémoire tampon d’enregistrement peuvent être enregistrées dans un fichier binaire à l’aide de la fonction SaveInputAnimation .

Pour plus d’informations sur le format de fichier binaire, consultez Spécification du format de fichier d’animation d’entrée.

Service de lecture d’entrée

InputPlaybackService lit un fichier binaire avec des données d’animation d’entrée, puis applique ces données via InputSimulationService pour recréer les mouvements enregistrés.

diagramme Lire en arrière du

Pour commencer à lire l’animation d’entrée, elle doit être chargée à partir d’un fichier à l’aide de la fonction LoadInputAnimation .

Appelez Lecture, Pause ou Arrêt pour contrôler la lecture de l’animation.

L’heure actuelle de l’animation peut également être contrôlée directement avec la propriété LocalTime .

Avertissement

Le bouclage ou la réinitialisation d’une animation ou d’un paramètre LocalTime d’entrée directement en frottement du chronologie peut produire des résultats inattendus lors de la manipulation de la scène . Seuls les mouvements d’entrée sont enregistrés. Les modifications supplémentaires telles que le déplacement d’objets ou les commutateurs de basculement ne sont pas réinitialisées. Veillez à recharger la scène si des modifications irréversibles ont été apportées.

Outils d’éditeur pour l’enregistrement et la lecture de l’animation d’entrée

Il existe un certain nombre d’outils dans l’éditeur Unity pour enregistrer et examiner l’animation d’entrée. Ces outils sont accessibles dans la fenêtre Outils de simulation d’entrée, qui peut être ouverte à partir du menu Simulation d’entrée Mixed Reality Toolkit > Utilities>.

Notes

L’enregistrement et la lecture d’entrée fonctionnent uniquement en mode lecture.

La fenêtre d’enregistrement d’entrée a deux modes :

  • Enregistrement pour l’enregistrement de l’entrée en mode lecture et son enregistrement dans des fichiers d’animation.

    Lorsque vous basculez sur le bouton d’enregistrement, le est activé pour enregistrer l’entrée InputRecordingService . Lorsque vous désactivez le bouton d’enregistrement, une sélection d’enregistrement de fichier est affichée et l’animation d’entrée enregistrée est enregistrée dans la destination sélectionnée.

    La limite de temps de mémoire tampon peut également être modifiée dans ce mode.

  • Lecture pour le chargement des fichiers d’animation, puis recréation d’entrée via le système de simulation d’entrée.

    Une animation doit d’abord être chargée dans ce mode. Après l’enregistrement de l’entrée en mode enregistrement, l’animation résultante est automatiquement chargée. Vous pouvez également cliquer sur le bouton « Charger » pour sélectionner un fichier d’animation existant.

    Les boutons de contrôle de l’heure de gauche à droite sont les suivants :

    • Réinitialisez le temps de lecture au début de l’animation.
    • Lire l’animation en continu au fil du temps.
    • Avancez d’une seule étape.

    Le curseur peut également être utilisé pour parcourir l’animation chronologie.

Avertissement

Le bouclage ou la réinitialisation de l’animation d’entrée ou le nettoyage de la chronologie peut produire des résultats inattendus lors de la manipulation de la scène ! Seuls les mouvements d’entrée sont enregistrés. Les modifications supplémentaires telles que le déplacement d’objets ou les commutateurs de basculement ne sont pas réinitialisées. Veillez à recharger la scène si des modifications irréversibles ont été apportées.