Fabriquez un dispositif de head tracking grâce à une Kinect !

Le head tracking est une technologie utilisable dans certains jeux vidéos permettant de découvrir une nouvelle dimension de gameplay. C’est très similaire à ce que l’on peut trouver dans un casque de réalité virtuelle.  Ce type de technologie permet de repérer les mouvements de la tête sur 3 (translations) ou 6 (translations + rotation) degrés de liberté.


Grâce à un logiciel, l’input raw est transformé en périphérique utilisable en jeu, évidemment la transition n’est pas linéaire, c’est-à-dire qu’on peut regarder à 90° en jeu sans pour autant avoir notre tête tournée à 90°.

Bien, maintenant venons en à la pratique : Comment obtenir du head tracking ?
La solution canonique, la plus connue, mais aussi la plus chère est le Track IR de Natural Point. Seulement, le prix avec TrackClip Pro monte jusqu’à 200€..

https://www.naturalpoint.com/trackir/trackir5/

Néanmoins il existe plusieurs alternatives permettant de faire drastiquement baisser le budget nécessaire pour profiter du head tracking. Ici je vais vous expliquer comment utiliser une kinect avec un TrackClip Pro homemade en tant que dispositif de head tracking.

Création du Track Clip Pro

Il vous faudra :

  • 3 LEDs infrarouges avec l’angle de diffusion le plus large possible et une longueur d’onde de 830nm ( idéalement, des LEDs infrarouges normales feront l’affaire )
  • Un vieux chargeur de téléphone
  • Une résistance choisie de sorte que l’intensité au niveau des LEDs soit de l’ordre de 50-70 mA
  • De l’imagination pour l’armature du TrackClip Pro homemade

Vous aurez peut être besoin de rajouter de la pâte à fixe sur les LEDs si celles ci sont trop lumineuses.
L’armature du Clip doit avoir cette forme approximative (on peut modifier les dimensions dans le logiciel):

Vous pouvez aussi commander directement un Delan Clip. Qui vous reviendra plus cher mais peut être moins prise de tête.
http://www.delanengineering.com/shop/#!/DelanClip-Starter/p/49740923/category=0

Installation de la kinect sous Windows

Je vous conseille d’installer la Kinect face à vous, si possible au-dessus de l’écran. Et d’obstruer l’émetteur IR (la lentille la plus à gauche) avec par exemple du scotch d’électricien mat.
Si vous disposez d’une Kinect v1 (Xbox 360) vous aurez besoin d’installer ces drivers :
https://www.microsoft.com/en-us/download/details.aspx?id=40277
Pour la Kinect v2 (xbox one) :
https://www.microsoft.com/en-us/download/details.aspx?id=44559
Il vous faudra aussi un adaptateur PC pour la kinect V2.

Il faut maintenant installer OpenNI Virtual Webcam qui vous permettra de transformer votre Kinect en webcam, mais aussi en webcam infrarouge !
https://falahati.net/my-projects/95-openni-2-virtual-webcam-v0-9-directshow-filter-for-openni

Configuration de FaceTrackNoIR

Vous disposez à présent d’un Track Clip Pro homemade et d’une kinect faisant office de caméra infrarouge fonctionnelle sous Windows.
Il ne reste plus qu’à utiliser un logiciel transformant les points infrarouges du clip captés par la kinect en périphérique compréhensible par les jeux. Ce logiciel se nomme FaceTrackNoIR (FTNOIR) et est téléchargeable pour 2.85€ ici :
http://facetracknoir.sourceforge.net/information_links/download.htm
La version 1.7 était gratuite, mais ils ont décidé de passer payant pour la v2.00 (largement plus efficace), ce qui est légitime en mon sens vu le travail effectué et le prix risible.
Bien, venons-en à la configuration du logiciel.

Toute la partie située à gauche vous permet de visualiser la caméra et le tracking en cours.

La partie « Profile » vous permet de gérer vos différents profils de configuration.

Sous « Tracker Source(1st = Master) » vous devez sélectionner PointTracker 1.1 (tracker infrarouge).
Cliquez sur settings maintenant.

Dans le premier onglet sous « Tracker Thread » je vous conseille de régler les mêmes options.
Vous pourrez aussi désactiver certains axes (par exemple on peut ne pas vouloir de translations ou de Roll).

Cet onglet vous permettra de bien sélectionner votre kinect et régler les caractéristiques. (encore une fois rentrez les mêmes données sous Camera Settings).
Avec Camera Orientation vous pouvez indiquer au logiciel l’angle d’inclinaison de votre Kinect, par exemple si elle est posée sous l’écran inclinez vers votre tête il vous faudra entrer le bon angle en Pitch.
Le réglage du Treshold est très important et dépendra de la luminosité de vos LEDs et de votre pièce, celui ci influe sur le niveau de luminosité à partir du quel le logiciel considère qu’il doit tracker le point lumineux.
On peut aussi régler la largeur minimale et maximale de ces points.

 

Enfin l’onglet Model est là pour gérer les dimensions de votre Clip et de le calibrer. Faites bien attention à rentrer les dimensions du votre en millimètre.
Vous pouvez fermer cette petite fenêtre.

De retour sur la partie principale du logiciel vous pourrez noter que l’on peut sélectionner une deuxième source de tracking, laissez « None » dans le champ, on n’utilisera que tracking 3 points infrarouges de votre Clip.

Dans « Global Settings » vous pourrez inverser les différents axes (si le jeu les reconnait dans le mauvais sens) mais aussi régler un paramètre assez important, le smoothing.
Ce paramètre ajoute un filtre donnant de l’inertie à vos mouvements, un peu comme un mode « caméra de film », personnellement je préfère le baisser au minimum pour augmenter la réactivité.

Dans « Filter » je vous conseille le filtre Accela Filter Mk2 que l’on peut paramétrer :

 

Vous pouvez toucher aux courbes du filtre, néanmoins je trouve celles de base convenable, ici aussi je vous conseille de baisser le Reduction factor au minimum pour être le plus réactif possible.
De retour sur la partie principale du logiciel, dans Game protocol sélectionnez FreeTrack 2.1 et n’en rajoutez pas de second.

Il ne reste plus qu’à s’occuper des raccourcis et des courbes de mouvements.
Allez dans Shortkeys :

Ici vous pourrez assigner différentes touches avec différents modificateurs, les touches utiles à paramétrer sont Center qui vous permet de reset la position de votre tête et Start/stop qui permet de démarrer le tracking. Vous pouvez ajouter les autres raccourcis, mais leur intérêt et plus limité.

Enfin, venons-en aux courbes de mouvements dans Curves :

Il vous faudra les régler avec le jeu en fenêtré à côté (bien plus simple) jusqu’à ce que cela vous convienne.

Le Pitch représente la rotation de la tête vers le haut et le bas. Le Yaw représente le fait de tourner la tête à droite ou à gauche, le roll est l’inclinaison de la tête sur les côtés. Enfin les trois translations sont très parlantes.
Pour le réglage le mieux reste de le faire soit même sachant que ça dépend pas mal des jeux et des gouts. Néanmoins un truc intéressant à faire est de rajouter des deadzones (des zones plates au début) qui permettent d’avoir la vue fixe tant que l’on ne dépasse pas un certain stade d’input. Cela permet d’avoir une vue très stable ou de retrouver facilement le centre de visée par exemple. Sur ArmA3 ça peut être intéressant de mettre une deadzone par exemple, tandis que sur DCS je préfère ne pas en avoir, encore une fois c’est subjectif.

Une fois que vous aurez réglé vos courbes, sauvegardez votre profile et lancer le tracking !
Une petite liste loin d’être exhaustive de jeux compatibles où il est très intéressant d’avoir un head tracking :

  • ArmA3
  • Digital Combat Simulator
  • Star Citizen
  • Elite Dangerous
  • War Thunder
  • Project Cars
  • Les Euro Truck
  • Asseto Corsa
  • Les Dirt

Et j’en passe plein d’autres, vous aurez une liste plus complète ici :
https://www.naturalpoint.com/trackir/games/

Vous pouvez maintenant découvrir une toute nouvelle manière de jouer vraiment appréciable qui est par ailleurs totalement indispensable sur certains jeux avec le bon matériel une fois qu’on y a goûté, tel que les simulations auto avec un volant, les simulations de vol ou jeux dans l’espace avec un HOTAS.

ESPACE COMMENTAIRE

avatar
wpDiscuz
Hardwakening
Création de compte
Bienvenue sur Hardwakening.fr !
Réinitialiser le mot de passe
Advertisment ad adsense adlogger