Pointer et valider avec les mainsPoint and commit with hands

Curseurs

Le modèle d’entrée Pointer et valider avec les mains permet aux utilisateurs de cibler, sélectionner et manipuler du contenu 2D et 3D hors de portée.Point and commit with hands is an input model that lets users target, select, and manipulate out of reach 2D and 3D content. Cette technique d’interaction « éloignée » est propre à la réalité mixte car les humains n’interagissent pas naturellement de cette manière avec le monde réel.This "far" interaction technique is unique to mixed reality because humans don't naturally interact with the real world that way. Par exemple, dans le film de super-héros X-Men, le personnage Magnéto peut manipuler des objets éloignés avec les mains.For example, in the super hero movie, X-Men, the character Magneto can manipulate far objects in the distance with his hands. Ce n’est pas quelque chose que les humains peuvent faire dans la réalité.This isn't something humans can do in reality. Dans HoloLens (réalité augmentée) et dans la réalité mixte, nous dotons les utilisateurs de ce pouvoir magique, éliminant ainsi les contraintes physiques du monde réel.In both HoloLens (AR) and Mixed Reality (MR), we equip users with this magical power to break the physical constraint of the real world. Cette expérience amusante avec le contenu holographique rend, en outre, les interactions des utilisateurs plus efficaces.Not only is it a fun holographic experience, but it also makes user interactions more effective and efficient.

Prise en charge des appareilsDevice support

Modèle d’entréeInput model HoloLens (1ère génération)HoloLens (1st gen) HoloLens 2HoloLens 2 Casques immersifsImmersive headsets
Pointer et valider avec les mainsPoint and commit with hands ❌ Non pris en charge❌ Not supported ✔️ Recommandé✔️ Recommended ✔️ Recommandé✔️ Recommended

Le modèle d’entrée « Pointer et valider » est l’une des fonctionnalités récemment introduites qui exploitent le nouveau système de suivi des mains articulées."Point and commit with hands" is one of the new features that use the new articulated hand-tracking system. Il constitue également le principal modèle d’entrée sur les casques immersifs à l’aide de contrôleurs de mouvement.This input model is also the primary input model on immersive headsets by using motion controllers.



Rayon émanant de la mainHand rays

Sur HoloLens 2, nous avons créé un rayon qui sort du centre de la paume de la main de l’utilisateur.On HoloLens 2, we created a hand ray that shoots out from the center of the user's palm. Ce rayon est traité comme une extension de la main.This ray is treated as an extension of the hand. Un curseur en forme d’anneau apparaît à l’extrémité du rayon pour indiquer à quel emplacement le rayon croise un objet cible.A donut-shaped cursor is attached to the end of the ray to indicate the location where the ray intersects with a target object. L’objet sur lequel le curseur atterrit peut alors recevoir des commandes gestuelles de la main.The object that the cursor lands on can then receive gestural commands from the hand.

Les commandes gestuelles de base sont déclenchées par un clic dans l’air, effectué avec le pouce et l’index.This basic gestural command is triggered by using the thumb and index finger to do the air-tap action. En utilisant le rayon émanant de la main pour pointer et un clic dans l’air pour valider, les utilisateurs peuvent activer un bouton ou un lien hypertexte.By using the hand ray to point and air tap to commit, users can activate a button or a hyperlink. Des mouvements plus composites permettent aux utilisateurs de naviguer dans le contenu web et de manipuler des objets 3D à distance.With more composite gestures, users can navigating web content and manipulating 3D objects from a distance. La conception visuelle du rayon doit également réagir aux états de pointage et de validation décrits et illustrés ci-dessous :The visual design of the hand ray should also react to these point and commit states, as described and shown below:

rayons émanant de la main en pointagehand rays pointing
État de pointagePointing state
Dans l’état de pointage, le rayon est une ligne en pointillés et le curseur un anneau.In the pointing state, the ray is a dash line and the cursor is a donut shape.

rayons émanant de la main en validationhand rays commit
État de validationCommit state
Dans l’état de validation, le rayon se transforme en ligne continue et le curseur est réduit à un point.In the commit state, the ray turns into a solid line and the cursor shrinks to a dot.



Transition entre le contenu proche et éloignéTransition between near and far

Au lieu d’utiliser des mouvements spécifiques comme « pointer avec l’index » pour diriger le rayon, nous avons conçu celui-ci pour sortir du centre de la paume de la main.Instead of using specific gestures like "pointing with index finger" to direct the ray, we designed the ray to comout out from the center of the users' palm. Nous libérons ainsi les cinq doigts qui peuvent être utilisés pour effectuer d’autres mouvements, comme pincer et saisir.This way, we've released and reserved the Five Fingers for more manipulative gestures like pinch and grab. Cette conception nous permet de créer un seul modèle mental. Le même ensemble de mouvements de la main est utilisé pour les interactions avec du contenu proche ou éloigné.With this design, we create only one mental model - the same set of hand gestures are used for both near and far interaction. Vous pouvez utiliser le même mouvement de saisie pour manipuler des objets à différentes distances.You can use the same grab gesture to manipulate objects at different distances. L’appel des rayons est automatique et basé sur la proximité comme suit :The invocation of the rays is automatic and proximity-based as follows:

Manipulation procheNear manipulation
Manipulation procheNear manipulation
Quand un objet est à portée de main (environ 50 cm), les rayons sont automatiquement désactivés pour encourager l’interaction proche.When an object is within arm's length (roughly 50 cm), the rays are turned off automatically, encouraging near interaction.

Manipulation éloignéeFar manipulation
Manipulation éloignéeFar manipulation
Si l’objet se trouve à plus de 50 cm, les rayons sont activés.When the object is farther than 50 cm, the rays are turned on. La transition doit être fluide et transparente.The transition should be smooth and seamless.



Interaction avec une ardoise 2D2D slate interaction

Une tablette 2D est un conteneur holographique hébergeant le contenu d’applications 2D comme un navigateur web.A 2D slate is a holographic container hosting 2D app contents, such as a web browser. Le concept de l’interaction éloignée avec une ardoise 2D est le suivant : les utilisateurs se servent du rayon émanant de la main pour cibler un objet et effectuent un clic dans l’air pour le sélectionner.The design concept for far interacting with a 2D slate is to use hand rays to target and air tap to select. Après avoir ciblé un élément à l’aide du rayon, ils peuvent cliquer dans l’air pour déclencher un lien hypertexte ou un bouton.After targeting with a hand ray, users can air tap to trigger a hyperlink or a button. D’une main, ils peuvent « cliquer dans l’air et faire glisser » pour faire défiler le contenu de la tablette vers le haut et vers le bas.They can use one hand to "air tap and drag" to scroll slate content up and down. Le mouvement relatif des deux mains pour cliquer dans l’air et faire glisser permet de faire un zoom avant ou arrière sur le contenu de l’ardoise.The relative motion of using two hands to air tap and drag can zoom in and out the slate content.

Le fait de cibler le rayon émanant de la main au niveau des coins et des bords permet de révéler l’affordance de manipulation la plus proche.Targeting the hand ray at the corners and edges reveals the closest manipulation affordance. En « saisissant et en faisant glisser » des affordances de manipulation, les utilisateurs peuvent effectuer une montée en charge uniforme (affordances de coin) et ajuster dynamiquement la tablette (affordances de bord).By "grab and drag" manipulation affordances, users can do uniform scaling through the corner affordances, and can reflow the slate via the edge affordances. Saisir la barre holographique située en haut de la tablette 2D et la faire glisser permet aux utilisateurs de déplacer toute la tablette.Grabbing and dragging the holobar at the top of the 2D slate lets users move the entire slate.

Clic d’interaction avec une tablette 2D2d slate interaction click
ClicClick

Défilement d’interaction avec une tablette 2D2d slate interaction scroll
Faire défilerScroll

Zoom d’interaction avec une tablette 2D2d slate interaction zoom
ZoomZoom


Pour manipuler la tablette 2DFor manipulating the 2D slate

  • Les utilisateurs pointent le rayon émanant de la main au niveau des coins ou des bords pour révéler l’affordance de manipulation la plus proche.Users point the hand ray at the corners or edges to reveal the closest manipulation affordance.
  • En appliquant un mouvement de manipulation sur l’affordance, les utilisateurs peuvent effectuer une montée en charge uniforme (affordance de coin) et ajuster dynamiquement l’ardoise (affordance de bord).By applying a manipulation gesture on the affordance, users can do uniform scaling through the corner affordance, and can reflow the slate via the edge affordance.
  • En appliquant un mouvement de manipulation sur la barre holographique située en haut de la tablette 2D, les utilisateurs peuvent déplacer la tablette entière.By applying a manipulation gesture on the holobar at the top of the 2D slate, users can move the entire slate.


Manipulation d’objets 3D3D object manipulation

En manipulation directe, les utilisateurs ont le choix entre deux méthodes pour manipuler des objets 3D : la manipulation basée sur l’affordance et la manipulation non basée sur l’affordance.In direct manipulation, there are two ways for users to manipulate 3D objects: affordance-based manipulation and non-affordance based manipulation. Dans le modèle Pointer et valider, les utilisateurs peuvent accomplir exactement les mêmes tâches à l’aide du rayon émanant de la main.In the point and commit model, users can achieve exactly the same tasks through the hand rays. Aucune formation supplémentaire n’est requise.No extra learning is needed.

Manipulation basée sur l’affordanceAffordance-based manipulation

Les utilisateurs utilisent le rayon émanant de la main pour pointer sur un objet et faire apparaître le cadre englobant et les affordances de manipulation.Users use hand rays to point and reveal the bounding box and manipulation affordances. Les utilisateurs peuvent appliquer le mouvement de manipulation sur le cadre englobant pour déplacer l’objet entier, sur les affordances de bord pour faire pivoter l’objet et sur les affordances de coin pour effectuer une mise à l’échelle uniforme.Users can apply the manipulation gesture on the bounding box to move the whole object, on the edge affordances to rotate, and on the corner affordances to scale uniformly.

Déplacement éloigné lors d’une manipulation d’objet 3D3d object manipulation far move
DéplacerMove

Rotation éloignée lors d’une manipulation d’objet 3D3d object manipulation far rotate
Faire pivoterRotate

Mise à l’échelle éloignée lors d’une manipulation d’objet 3D3d object manipulation far scale
Mettre à l’échelleScale

Manipulation non basée sur l’affordanceNon-affordance-based manipulation

Les utilisateurs pointent sur un objet à l’aide du rayon émanant de la main pour faire apparaître le cadre englobant, puis appliquent directement des mouvements de manipulation à cet objet.Users point with hand rays to reveal the bounding box then directly apply manipulation gestures on it. Avec une main, la translation et la rotation de l’objet sont associées au mouvement et à l’orientation de la main.With one hand, the translation and rotation of the object are associated to motion and orientation of the hand. Avec les deux mains, les utilisateurs peuvent translater, mettre à l’échelle et faire pivoter l’objet selon les mouvements relatifs des deux mains.With two hands, users can translate, scale, and rotate it according to relative motions of two hands.



Mouvements instinctifsInstinctual gestures

Le concept de mouvements instinctifs pour pointer et valider est similaire à celui de la manipulation directe avec les mains.The concept of instinctual gestures for point and commit is similar to that for direct manipulation with hands. Les mouvements que les utilisateurs effectuent sur un objet 3D sont guidés par la conception des affordances de l’interface utilisateur.The gestures users do on a 3D object are guided by the design of UI affordances. Par exemple, un petit point de contrôle peut inciter les utilisateurs à le pincer avec le pouce et l’index, tandis qu’un utilisateur peut souhaiter utiliser ses cinq doigts pour saisir un objet plus volumineux.For example, a small control point might motivate users to pinch with their thumb and index finger, while a user might want to use all Five Fingers to grab a larger object.

Mouvements instinctifs sur objet éloigné de petite tailleinstinctual gestures far small object
Petit objetSmall object

Mouvements instinctifs sur objet éloigné de taille moyenneinstinctual gestures far medium object
Objet de taille moyenneMedium object

Mouvements instinctifs sur objet éloigné volumineuxinstinctual gestures far large object
Objet volumineuxLarge object



Conception symétrique entre les mains et le contrôleur 6DoFSymmetric design between hands and 6 DoF controller

Le concept Pointer et valider pour l’interaction éloignée a été initialement créé et défini pour le portail de réalité mixte (MRP).The concept of point and commit for far interaction was created and defined for the Mixed Reality Portal (MRP). Dans ce scénario, un utilisateur porte un casque immersif et interagit avec des objets 3D à l’aide de contrôleurs de mouvement.In this scenario, a user wears an immersive headset and interacts with 3D objects via motion controllers. Les contrôleurs de mouvement émettent des rayons pour pointer et manipuler des objets éloignés.The motion controllers shoot out rays for pointing and manipulating far objects. Les contrôleurs sont équipés de boutons pour valider différentes actions.There are buttons on the controllers for further committing different actions. Nous appliquons le modèle d’interaction des rayons et les fixons aux deux mains.We apply the interaction model of rays and attached them to both hands. Grâce à cette conception symétrique, les utilisateurs qui sont familiarisés avec MRP ne sont pas contraints d’apprendre un autre modèle d’interaction pour pointer sur un objet éloigné et le manipuler quand ils utilisent HoloLens 2, et inversement.With this symmetric design, users who are familiar with MRP won't need to learn another interaction model for far pointing and manipulation when they use HoloLens 2, and the other way around.

Conception symétrique pour les rayons avec des contrôleurssymmetric design for rays with controllers
Rayons de contrôleurController rays

Conception symétrique pour les rayons avec les mainssymmetric design for rays with hands
Rayons émanant de la mainHand rays



Rayon émanant de la main dans MRTK (Mixed Reality Toolkit) pour UnityHand ray in MRTK (Mixed Reality Toolkit) for Unity

Par défaut, MRTK fournit un préfabriqué de rayon émanant de la main (DefaultControllerPointer.prefab) qui a le même état visuel que le rayon système du shell.By default, MRTK provides a hand ray prefab (DefaultControllerPointer.prefab) which has the same visual state as the shell's system hand ray. Il est attribué dans le profil d’entrée de MRTK, sous Pointeurs.It's assigned in MRTK's Input profile, under Pointers. Dans le casque immersif, les mêmes rayons sont utilisés pour les contrôleurs de mouvement.In an immersive headset, the same rays are used for the motion controllers.


Voir égalementSee also