Coach de mainHand coach

Exemple : autocar

L’autocar déclenche des mains modélisées 3D lorsque le système ne détecte pas les mains de l’utilisateur.Hand coach triggers 3D modeled hands when the system doesn't detect the user’s hands. Cette fonctionnalité est un composant « d’apprentissage » qui aide à guider l’utilisateur quand le geste n’a pas été enseigné.This feature is a “teaching” component that helps guide the user when the gesture hasn't been taught. Si les utilisateurs n’ont pas effectué le mouvement spécifié pour un point, les mains sont en boucle avec un délai.If users haven't done the specified gesture for a period, the hands will loop with a delay. L’entraîneur peut être utilisé pour représenter un bouton ou un hologramme.The Hand coach could be used to represent pressing a button or picking up a hologram.

Autocar fourniHand coach provided

Le modèle d’interaction actuel représente un large éventail de contrôles de mouvement, tels que le défilement, l’amplitude de sélection et le TAP.The current interaction model represents a wide variety of gesture controls such as scrolling, far select, and near tap. Vous trouverez ci-dessous une liste complète des gestes existants disponibles dans MRTK:Below is a full list of existing hand gestures provided in MRTK:

Exemple de Near SelectExample of Near Select
Exemple de près de Select-used montre comment sélectionner des boutons ou fermer des objets interactifsExample of Near Select - Used show how to select buttons or close interactable objects

Exemple de robinet d’airExample of Air Tap
Exemple de robinet d’air-utilisé pour montrer comment sélectionner des objets éloignésExample of Air Tap - Used to show how to select objects that are far away

Exemple de déplacementExample of Move
Exemple de déplacement d’un objet dans l’espace utilisé pour montrer comment déplacer un hologramme dans l’espaceExample of Moving an object in space-Used to show how to move a hologram in space

Exemple de rotationExample of Rotate
Exemple de Rotate-Used pour montrer comment faire pivoter des hologrammes ou des objetsExample of Rotate-Used to show how to rotate holograms or objects

Exemple de mise à l’échelleExample of Scale
Exemple de mise à l’échelle : utilisé pour montrer comment manipuler les hologrammes pour qu’ils soient plus grands ou plus petitsExample of Scale- Used to show how to manipulate holograms to be bigger or smaller

Exemple de paumeExample of Palm Up
Exemple de Palm up – utilisation suggérée pour afficher les menus de la mainExample of Palm up – Suggested use, to bring up hand menus

Exemple de HandFlipExample of HandFlip
Tour de main : un autre moyen d’afficher des menus manuelsExmaple of Hand Flip – Another way to bring up Hand Menus

Exemple de défilementExample of Scroll
Exemple de défilement : utilisé pour faire défiler une liste ou un document longExample of Scroll – Used for scrolling a list or a long document

Principes de conceptionDesign concepts

Pour Hololens2, nous avons conçu des interactions de handles basées sur les gestes instinctual et Natural main.For Hololens2, we designed out hand interactions based on instinctual and natural hand gestures. Nous pensons que ceux-ci sont intuitifs pour la plupart des utilisateurs, nous n’avons donc pas créé de moments d’apprentissage de geste dédiés.We believe these to be intuitive to most users, so we didn't create dedicated gesture learning moments. Au lieu de cela, nous avons créé le coach pour aider les utilisateurs à se familiariser avec ces gestes s’ils se bloquent ou s’ils ne sont pas familiers avec les interactions d’hologramme.Instead, we created the hand coach to help users learn about these gestures if they get stuck or are unfamiliar with hologram interactions. Sans un moment d’apprentissage, nous avons pensé que les utilisateurs indiquent comment effectuer une action en montrant qu’il s’agit de la meilleure option.Without a learning moment, we felt that showing users how to perform an action by demonstrating it would be the best option. Nous avons découvert que les utilisateurs étaient en mesure de déterminer le geste, mais ont besoin d’un peu de conseils.We found that users were able to figure out the gesture but needed a little guidance. Si nous détectons qu’un utilisateur n’interagit pas avec un objet pendant un certain laps de temps, un autocar manuel sera déclenché pour illustrer la main correcte et le positionnement des doigts.If we detect a user doesn't interact with an object for a period, a Hand coach would be triggered demonstrating the correct hand and finger placement.

PeuIntuitive

Quand vous animez des mains, elle doit être évidente et ne pas causer de confusion.When animating hands, it should be obvious and shouldn't cause any confusion. L’animation manuelle est une représentation du geste que vous essayez d’inviter l’utilisateur à comprendre.The hand animation is a representation of the gesture you're trying to prompt the user to understand.

Par exemple, si vous souhaitez qu’un utilisateur appuie sur un bouton, une main appuyant sur un bouton est déclenchée.For example, if you wish a user to press a button, a hand pressing a button would be triggered.

Exemple : faire un autocar proche du robinetExample: Hand coach Near Tap
Autocar montrant un témoin proche d’une gemmeHand Coach demonstrating Near Tapping a Gem

Mise à l’échelle manuelleHand scale

Nous avons testé différentes tailles de main avec les menus de l’interface utilisateur et j’ai pensé que si la main était vraie, elle donnait un sentiment de menaçant.We tested various hand sizes with the UI menus and felt that if the hands were true to size, it gave a menacing feeling. S’ils étaient trop petits, il était difficile de voir et de comprendre le geste.If they were too small, it was hard to see and understand the gesture.

Voix et mainsVoice over and hands

Ne vous attendez pas à ce que les utilisateurs puissent écouter un ensemble d’instructions via la voix et regarder différentes instructions via la main.Don’t expect users can listen to one set of instructions via voice over and watch different instructions via Hand coach. Séquencez vos instructions pour aider les utilisateurs à se concentrer sur leur attention et à réduire la surcharge sensorielle.Sequence your instructions to help users focus versus compete for their attention to reduce sensory overload.

Puis-je créer mon propre ?Can I create my own?

Oui !Yes! Nous vous encourageons à créer votre propre geste unique pour votre jeu et à contribuer à la communauté !We encourage you to create your own unique gesture for your game and contribute back to the community! Nous avons fourni un fichier maya d’une main qui peut être utilisée pour votre application, qui peut être téléchargée ici : télécharger HandCoach_MRTK.zip We've provided a Maya file of a Rigged hand that can be used for your app, which can be downloaded here: Download HandCoach_MRTK.zip

Exemple de mains animées dans des MayaExample of Animated Hands in Maya
Exemple de la main animée d’une boîte dans MayaExample of animated Hand Poking a box in Maya

Outil de création recommandéRecommended authoring tool

Parmi les artistes en 3D, beaucoup choisissent d’utiliser les Maya de Autodesk, qui peuvent utiliser HoloLens pour transformer la façon dont les ressources sont créées.Among 3D artists, many choose to use Autodesk’s Maya, which can use HoloLens to transform the way assets are created. Le fichier mains fourni est un fichier binaire Maya. il est donc recommandé d’utiliser Maya pour animer et exporter les mains.The hands file provided is a Maya Binary File, so it's recommended to use Maya to animate and export the hands. Si vous préférez utiliser un autre programme 3D, voici un . FBX: Téléchargez HandCoachMRTK_FBX.zip pour créer votre propre configuration de contrôleur.If you prefer to use another 3D program, here's a .FBX: Download HandCoachMRTK_FBX.zip to create your own controller setup.

Si vous utilisez le fichier. Maya téléchargeable fourni, nous vous suggérons de réduire les mains dans Unity à 0,6.If using the downloadable maya Hand File provided, it's suggested to scale down the hands in unity to 0.6.

Exemple : une plate-forme de autocar dans MayaExample: Hand coach rig in Maya
MainsRigged Hands

Caractéristiques techniquesTechnical Specs

  • Deux fichiers droitier sont disponibles au format ASCII MayaTwo handed File is available in Maya Ascii format
  • La partie droite et la main gauche sont disponibles au format binaire MayaRight and Left Hand is available in Maya Binary format
  • Définir votre fichier maya sur 24 ipsSet your Maya file to 24 FPS
  • Dans le fichier, il y a un à gauche et une main droite, qui peuvent être utilisés pour deux gestes droitiers ou à sens unique.Within the file, there's a left and right hand, which can be used for two handed or single-handed gestures. La main droite est visible uniquement par défaut.The right hand will only be visible by default.
  • Il est suggéré de conserver une mémoire tampon d’environ 10 frames au début et à la fin des disparitionsIt's suggested to leave a buffer of about 10 frames at the beginning and end for fades
  • En cas d’animation d’un objet avec une cible spécifiée, il est recommandé d’animer une case par défaut ou une valeur null.If animating an object with a specified target, its best practice to animate to a Default box or Null.
  • Si la main anime un objet physique tel qu’une zone, il est recommandé de ne pas animer la translation dans Maya, mais d’en faire une animation dans Unity ou dans le code.If the hand is animating a physical object such as a box, its best practice to not animate the translation in Maya but wait to animate it in Unity or in Code.
  • L’animation visible doit être de 1,5 secondes pour que toutes les informations significatives soient transmisesVisible Animation should be 1.5 secs for any meaningful information to be conveyed
  • Quand vous êtes satisfait de votre animation :When you feel satisfied with your animation:

Exportation à partir de MayaExporting from Maya

Une fois que vous êtes satisfait de votre animationAfter you're satisfied with your animation

  • Sélectionner tous les jointures : sélectionnez > hiérarchieSelect all joints: Select > Hierarchy

    Exemple : hiérarchie dans le menu

  • Intégrer votre animation : basculer vers l’animation > touche > animation de cuissonBake out your animation: Switch to Animation > Key > Bake Animation

    Exemple : emplacement du menu d’animation de cuisson

  • Supprimer la plate-forme de contrôleur : > MainR_Grp ou MainL_GrpDelete the Controller Rig: Outliner > MainR_Grp or MainL_Grp

    Exemple : emplacement du menu de la plate-forme Controller

  • Exporter en tant que FBX : sélectionnez JNT + maille : fichier > exporter la sélection (case d’option) > exporter la sélectionExport as FBX: Select JNT + Mesh: File > Export Selection (option box) > Export Selection

    Exemple : exporter l’emplacement du menu de sélection

    Exemple : emplacement du menu

    Exemple : emplacement du menu options d’exportation

Lorsque vous exportez en tant que FBX et que vous mettez sous Unity, mettez à l’échelle les mains jusqu’à 0,6.When exporting as an FBX and brought into Unity, scale the hands down to 0.6. Nous avons découvert que ce fut parfait pour l’affichage des mains.We found that this was perfect balance for displaying the hands.

Exemple : paramètres UnityExample: Unity Settings
Paramètres Unity pour HandCoach_R Prefab trouvés dans MRTKUnity Settings for HandCoach_R prefab found in MRTK

Implémentation des mains dans votre projet UnityImplementing Hands into your Unity project

Meilleures pratiquesBest practices

  • Il est suggéré de réduire les mains d’Unity à 0,6It's suggested to scale down the hands in unity to 0.6

  • Les mains doivent être jouées deux fois et si elles ne sont pas terminées, puis en boucle jusqu’à ce que le geste soit terminé.Hands should be played twice and if not completed then continuously looped until gesture is completed. Les mains doivent être bouclées deux fois pour garantir que l’utilisateur avait le temps de s’inscrire et de voir le mouvement.The hands should be looped twice to ensure the user had time to register and see the gesture. Les mains doivent apparaître et disparaître entre les boucles.The hands should fade in and out between loops.

  • Si les mains de l’utilisateur sont visibles par les appareils photo HL2, mais que les utilisateurs n’effectuent pas l’interaction dont ils ont besoin, les mains s’affichent au bout de 10 secondes.If user’s hands are visible by HL2 cameras but users aren't doing the interaction needed of them the hands will appear after 10 seconds.

  • Si les mains de l’utilisateur ne sont pas visibles par les appareils photo HL2, les mains s’affichent au bout de 5 secondes.If user’s hands are NOT visible by HL2 cameras, the hands will appear after 5 seconds.

  • Si les mains de l’utilisateur sont visibles par les appareils photo HL2 au milieu de l’animation, l’animation se termine et disparaît en fondu.If user’s hands are visibly tracked by HL2 cameras in the middle of the animation, the animation will complete and fade out.

  • Si vous incluez la voix, nous suggérons qu’elle corresponde au geste de la main.If you're including voice over, we suggest that it corresponds to the gesture of the hand.

  • Si vous avez enseigné les mains au moins une fois, répétez uniquement le mouvement s’il est détecté que l’utilisateur est bloqué.If you've taught the hands at least once, only repeat the gesture if it's detected that the user is stuck.

  • Si les positions de doigt/main spécifiques sont critiques, assurez-vous que les utilisateurs peuvent voir clairement ces nuances dans l’animation.If specific finger/hand positions are critical, ensure users can clearly see these nuances in the animation. Essayez droite les mains pour que les parties les plus importantes soient clairement visibles.Try angling the hands so the most important parts are clearly visible.

  • Si vous constatez une distorsion des mains, vous devez accéder aux paramètres de qualité de Unity pour augmenter le nombre d’os.If you notice distortion on the hands, you need to go to Unity's Quality settings increase the number of bones. Accédez à modifier > paramètres du projet > qualité > autres > poids de la fusion.Go to Unity's Edit > Project Settings > Quality > Other > Blend Weights. Assurez-vous que « 4 segments » sont sélectionnés pour afficher des articulations lisses.Make sure "4 bones" are selected to see Smooth Joints.

    Exemple : fenêtre Paramètres du projet

À éviterWhat to avoid

  • Mise à l’échelle des mains trop grandesScaling the Hands too large
  • le placement des mains trop près de l’utilisateurplacing the Hands too close to the user
  • Les mains ne doivent être enseignées qu’une seule fois.Hands should only be taught once. L’apprentissage peut entraîner des confusions et des opérationsOver teaching can cause confusion and messiness
  • En le plaçant dans Unity, téléchargez les MRTK les plus récents ici : https://github.com/microsoft/MixedRealityToolkit-UnityBringing it into Unity, download the latest MRTK here: https://github.com/microsoft/MixedRealityToolkit-Unity
    • Matériel : Teaching_Hand2Material: Teaching_Hand2
    • Scripts : consultez MRTK Guidelines for MRTK main coach Scripts: Refer to MRTK guidelines for MRTK hand coach
    • Paramètre par projetPer- project setting

Voir aussiSee also