Entrée d’un enregistrement d’animation

MRTK comporte un système d’enregistrement par lequel les données de mouvement des têtes et de suivi des mains 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 d’entrée est un outil utile dans différentes situations :

  • Création de tests automatisés pour l’interaction, les manipulations, les solveurs, etc. La création du déplacement des contrôleurs et des mains pour ces tests peut prendre du temps. L’enregistrement d’une entrée directement peut accélérer le processus et fournir des données réelles.
  • Apprentissage de l’utilisation d’éléments UX à travers les animations. Montrer aux utilisateurs comment interagir avec les boutons et d’autres objets peut lisser la courbe d’apprentissage.
  • Débogage d’un comportement inattendu qui peut se produire lors d’une utilisation normale. Le système d’enregistrement prend en charge un concept de « tampon enchaîné » 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 de système d’entrée sont fournis pour enregistrer et lire les entrées respectivement.

Service d’enregistrement d’entrée

InputRecordingService Récupère les données de la transformation principale de la caméra et des contrôleurs de la main active et les stocke dans une mémoire tampon interne. À la demande, ces données sont ensuite sérialisées en fichiers binaires pour le stockage et la relecture ultérieures.

Recording diagram

Pour démarrer l’enregistrement d’entrée StartRecording , appelez la fonction. StopRecording interrompt l’enregistrement (mais ne supprime pas les données enregistrées jusqu’à présent, utilisez DiscardRecordedInput pour effectuer cette opération 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' UseBufferTimeLimit option.

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 de format de fichier d’animation d’entrée.

Service de lecture d’entrée

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

Play Back diagram

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

Appelez Play, Pauseou Stop 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 LocalTime directe de l’animation ou du paramètre en cas de 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 le basculement de commutateurs, ne sont pas réinitialisées. Veillez à recharger la scène si des modifications irréversibles ont été apportées.

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

Un certain nombre d’outils sont disponibles dans l’éditeur Unity pour l’enregistrement et l’examen de l’animation d’entrée. Ces outils sont accessibles dans la fenêtre outils de simulation d’entrée, qui peut être ouverte à partir de la boîte à outils de la réalité mixte > utilitaires > menu simulation d’entrée .

Notes

L’enregistrement et la lecture en entrée ne fonctionnent qu’en mode lecture.

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

  • Enregistrement de l’entrée d’enregistrement en mode lecture et enregistrement de celle-ci dans des fichiers d’animation.

    Lorsque vous activez le bouton enregistrement, le InputRecordingService est activé pour enregistrer l’entrée. Quand vous désactivez le bouton enregistrement, la sélection enregistrer un 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 la mémoire tampon peut également être modifiée dans ce mode.

  • Lecture pour le chargement des fichiers d’animation, puis recréation de l’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 d’une entrée en mode d’enregistrement, l’animation qui en résulte 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 d’heure de gauche à droite sont les suivants :

    • Réinitialisez l’heure de lecture au début de l’animation.
    • Lisez l’animation en continu dans le temps.
    • Étape suivante d' une étape.

    Le curseur peut également être utilisé pour effectuer un nettoyage dans la chronologie d’animation.

Avertissement

L’animation ou la réinitialisation d’une 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 le basculement de commutateurs, ne sont pas réinitialisées. Veillez à recharger la scène si des modifications irréversibles ont été apportées.