La manipulation du virtuel est à la portée des gants

De nos jours, il existe bien des technologies de Réalité Virtuelle qui permettent de nous immerger complètement. Que ce soit le fameux casque de Réalité Virtuelle ou bien le Virtualizer, découvert dans un autre article, ces dernières sont bien avancées et peuvent même se coupler entre elles pour augmenter la sensation d’immersion. Ainsi, la simulation sera très proche de la réalité.

Dans cette optique, il existe une technologie qui permet d’utiliser nos gestes de la main avec précision. On appelle cela des “Datagloves” ou bien en français, des gants de données.

De quoi est constitué le gant ? Et surtout… Comment cette technologie fonctionne ?


Dans le cas des Manus Prime II Haptics Edition, la base est bien évidemment une paire de gants. Cependant, sur cette dernière, on va y retrouver des emplacements à scratch où l’on peut coller des capteurs, et comme vous l’avez deviné, ils vont permettre d’acquérir les positions et les mouvements des doigts, et donc des gestes. Il y a également une petite architecture cachée dans le gant lui-même.

Ces capteurs, qui sont reliés par fil, vont être liés à une batterie également que l’on pourra insérer et décrocher sur le gant.

Une autre fonctionnalité du gant est qu’on peut accrocher par-dessus un tracker par exemple. On se servira d’un Vive Tracker plus tard pour pouvoir capter la position du gant dans l’environnement virtuel et ainsi le poser au même endroit que dans le cas réel.


Pour notre expérience, de quoi avons-nous besoin ?

Au niveau matériel, on va avoir besoin de plusieurs choses :

  • D’un casque VR. Dans notre cas, nous allons utiliser un casque Vive Pro.

  • D’une paire de gants Manus VR Prime II Haptics Version et du dongle Manus.

Au niveau des logiciels, on aura recours à :

Démarrons l’expérience !

Partie I - Mise en place des gants : installation, calibrage..

Tout d’abord, nous allons avoir besoin de connecter les gants et vérifier s'ils fonctionnent bien.

Pour cela, la première étape sera de brancher le dongle Manus sur un port USB.

La seconde étape sera d’utiliser Manus Core et son Manus Dashboard. Téléchargez-le sur les liens en haut, puis lancez-le en ayant les gants à votre disposition et rechargés. Il faudra ensuite mettre en relation les gants et le dongle en réalisant un “pairing”. Activez la liaison sur les gants (la lueur bleue doit clignoter) puis sélectionnez les deux gants dans le Dashboard, dans l’onglet “Gloves”. Vous pourrez ainsi cocher en bas à droite “Pair”. Note: les gants non liés sont listés en tant qu’unpaired.


À partir de cette étape, si vous enfilez les gants, vous pourrez mouvoir les modèles virtuels des gants sur l'écran. Ces derniers vont prendre en compte l’orientation du gant lui-même ainsi que les doigts pliés, tendus… Nous vous invitons à réaliser un calibrage des gants en cliquant sur “Calibrate Glove”. Vous devrez refaire les gestes à l'écran avec la main.


Répétez cette opération pour l’autre gant, et vous aurez donc les gants prêts à être utilisés.


Partie II - Utilisation sur un moteur de jeu: Unity

Maintenant, nous allons utiliser les gants dans Unity. Il s’agira ici, de les implanter, pour pouvoir les utiliser, aussi bien pour animer un personnage, que pour appuyer sur des boutons ou attraper des objets.

Tout d’abord, réalisez un nouveau projet, dans lequel vous allez mettre toutes vos scènes avec les gants, et n’oubliez pas d’importer les packages SteamVR et Manus. Vous devrez avoir votre dossier composé de cette manière :


Faire bouger les mains d’un modèle 3D

Pour cela, dans une scène vide, vous pourrez importer un modèle 3D que vous avez réalisé sur MakeHuman ou un autre modèle 3D qui va comporter un squelette, afin de le rendre articulable. (il devra y avoir les os pour les doigts ainsi).

Ensuite, importer le modèle 3D sur Unity en tant que nouvel asset (dans notre cas, le modèle 3D sera un fichier d’extension .fbx).

À ce niveau, vous aurez une hierarchie de cette forme :

Et un écran de cette forme:




C’est à partir de ce moment, que nous allons utiliser le package Manus.

Développez votre modèle 3D et plus particulièrement son squelette pour atteindre les parties du squelette qui sont liées aux mains.


Dans la capture d'écran, les deux surlignées correspondent aux poignets. En les développant, on retrouve les os des doigts. On clique sur un des deux poignets, sachant que la manipulation est la même à faire pour les deux.

Dessus, on rajoutera un component “Hand” ( Add Component → Hand ) puis on spécifiera de quelle main s’agit-il. Si on prend le wrist.L, ca sera la main gauche (L pour Left, R pour Right).


Puis on ajoutera le component Hand Animator à la suite de Hand, et on spécifiera une fois encore la main utilisée.

À ce moment-là, dépliez la catégorie “Setup” de ce component pour trouver différents boutons qui vont nous permettre d’assigner les os des doigts automatiquement.



Tout d’abord, on clique sur Index. Si cela ne marche pas, il faut cliquer sur Names pour qu’il trouve les os par leurs noms. S'il ne trouve toujours pas, ca sera à vous de les assigner manuellement en cliquant sur “Manual”.



On doit obtenir une configuration comme celle-ci. Une fois tous les os assignés, on pourra cliquer sur “Calculate Axes” et “Set Default Limits” pour que les pliages de doigts soient réalistes et conformes.

Vous pourrez sauvegarder puis lancer la scène quand les deux mains auront été configurés et si tout marche bien, les doigts seront capables de bouger selon vos pliages et de la manière que vous les aurez pliés.

De notre côté, nous sommes tombés sur un petit problème, c’est que les mouvements des doigts sont bien fonctionnels mais le modèle 3D se déforme au niveau de l’avant-bras… C’est le seul point négatif de cette manipulation.

– Prendre des objets, appuyer sur des boutons dans un environnement interactif

Pour cette partie, il faudra utiliser des trackers pour pouvoir avoir la position des gants. Nous utiliserons les Vive Trackers, et un par gant. D’ailleurs, il faudra également les lier au SteamVR.


Allez dans les paramètres SteamVR, dans les contrôleurs, et cliquez sur “Gérer les Vive Trackers”. Vous pourrez configurer les trackers pour la main gauche et la main droite.


De cette manière, vous aurez les Trackers configurés et parés pour les placer dans Unity.

Pour les manipulations suivantes, on utilisera une scène qui est déjà incluse dans le dossier Manus. C’est la scène InteractionScene. Pour implanter le SteamVR, et donc les trackers dans la scène, il faudra réaliser les modifications suivantes pour avoir une hiérarchie de la forme suivante :


Avec CameraRig qui est le prefab de SteamVR et ManusHand_L et ManusHand_R les prefabs de Manus.

Pour finir cet article, nous vous proposons une petite liste non-exhaustive de points positifs et négatifs de la technologie des datagloves ainsi qu’une conclusion.

Maintenant, il faut configurer les mains pour qu’elles suivent bien la position des trackers. Il faut cliquer sur ManusHand_L et R pour ajouter un component “SteamVR_Tracked_Object”


Il faut remplir l’index. Cela va correspondre aux nombres d’objets connectés. Le numérotage typique correspond à:

Device n°1 : Station de base 1, n°2 : station de base 2, n°3: Contrôleur Gauche, n°4: Contrôleur Droite, et les n°5, 6, 7 et ainsi de suite correspondent aux Trackers. Ainsi, dans notre cas, pour la main droite, on a le device 7 et la main gauche, le device 6. Testez pour trouver le bon device pour chaque main. Une fois les mains qui suivent les trackers, il faudra les tourner et les positionner en dessous des trackers, pour qu’ils aient le bon sens. Pour modifier le positionnement et l’orientation des mains, il faut développer les Manus_Hands, et dans l’objet SK_Hand, modifier les coordonnées du component Transform, jusqu'à que cela convienne à peu près.


Cette configuration de Transform nous satisfaisait, mais peut-être que ce ne sera pas les même coordonnées nécessaires dans un autre cas.

Ainsi, maintenant, les mains devraient suivre les mouvements des gants dans le cas réel. Il suffit donc d’appuyer sur Play et d’interagir avec les boutons et les objets présents sur la scène.


Si le gant vibre, c’est pour avertir que la main entre en collision avec un objet dans la scène. Il se peut aussi que lorsque le jeu est lancé, cela ne marche pas. Il faudra quitter la fenêtre SteamVR dans le casque VR à l’aide d’un contrôleur quelconque et s’assurer que de base, les mains ne sont pas déjà en collision avec un objet.

Aussi, si le gant vibre sans arrêt, vous pourrez l'éteindre puis le rallumer, mais il faudra redémarrer le jeu.

Et voilà ! C’est comme ça, qu’on arrive à implanter les gants dans une scène sur Unity, où l’on peut appuyer, soulever des objets! Sympa, non ?

– Quelques avantages de ces gants, et surtout d’une telle technologie :

  • Possibilité de reproduire fidèlement les gestes des mains et des doigts, et de même pouvoir interagir avec des objets : prendre des objets en les attrapant dans la main, appuyer sur un bouton avec un doigt, la main…

  • Possibilité d’animer les mains d’un modèle 3D. Il est également possible de réaliser du full body tracking avec les gants utilisés dans cette expérience, et en utilisant des trackers (voir ouverture pour en savoir plus)

  • Le gant lui-même est modulable et permet d’accrocher des capteurs, trackers de différents types. De plus, ce dernier exploite le sans-fil, fini les problèmes de noeuds !

  • Technologie qu’on peut coupler avec de la VR mais aussi de la RA.

– Quelques points négatifs :

  • Étant donné que les capteurs sur la main sont accrochés via des scratchs, il arrive qu’ils se décrochent beaucoup si on agite un peu trop la main, ou bien quand on retire/met le gant. Si plusieurs se décrochent, il faudra les remettre au bon endroit.

  • Il faut avoir les moyens pour une telle technologie.

  • Quelques problèmes au niveau de l’implantation des mains sur Unity. Il faudra parfois rechanger les coordonnées des mains (SK_Hand) pour qu’elles soient bien tournées et bien en dessous des trackers.

Conclusion et ouverture :

Nous avons donc vu, qu’il est bien possible de faire de belles choses avec des datagloves. Ils nous permettent d’interagir avec des objets qui ne sont pourtant pas présents physiquement, mais bien virtuellement. Cette technologie nous rapproche une fois de plus vers une immersion totale. D’ailleurs, il est possible de réaliser du full body tracking avec les gants. Pour cela, il faut utiliser les gants, mais aussi 5 trackers (un pour chaque pied, un pour chaque gant, et un à mettre sur une ceinture pour le ventre). On utilisera cependant Polygon qui est inclus dans Manus Dashboard, et dont il faut une licence, incluse si vous avez acheté les gants. Ainsi, le full body tracking peut être utilisé pour animer un personnage en 3D et bien plus encore.


Article réalisé par ANCILLON Nicolas

62 vues0 commentaire

Posts récents

Voir tout