headtracking English version

Questions et réponses

Les questions fréquentes sur le suivi de tête dans Visual Pinball X avec headtracking. Il en manque une ? Posez-la sur Discord.

headtracking est-il prêt à l'emploi ?

C'est une préversion (preview). Le projet est en début de développement : toute la chaîne, de la caméra jusqu'au point de vue qui suit la tête dans Visual Pinball X, fonctionne sur un vrai pincab sous Linux avec une Kinect v2, une Kinect v1 et une webcam. Des versions Windows et macOS sont publiées, et les retours de ceux qui les utilisent sont exactement ce dont le projet a besoin. Attendez-vous à quelques imperfections, et signalez-les sur Discord.

Est-ce une alternative à BAM ?

Oui : headtracking est une alternative libre et multiplateforme à BAM pour Visual Pinball X. Il fonctionne avec une simple webcam ou une Kinect v1 ou v2, n'a pas besoin du SDK Kinect de Microsoft, et trouve tout seul la position de la caméra grâce à la lockbar et aux rails latéraux. Voir le fonctionnement.

Puis-je garder BAM sur le même pincab Windows avec une Kinect ?

Non. Pour accéder à la Kinect, l'installation de pilote fournie avec headtracking remplace le pilote Kinect officiel de Microsoft par un pilote WinUSB générique. Cela casse tout ce qui repose sur le SDK Kinect de Microsoft, y compris le head tracking de BAM, jusqu'à ce que vous remettiez le pilote d'origine (Gestionnaire de périphériques, périphériques « Xbox NUI » : désinstaller le pilote puis rechercher les modifications matérielles, ou réinstaller le SDK/runtime Kinect). Il n'y a pas de retour arrière automatique. Les utilisateurs de webcam ne sont pas concernés.

Faut-il une Kinect ?

Non. Une simple webcam fonctionne : la calibration automatique en fait un suivi de tête en 3D. Une Kinect mesure directement la distance de votre tête et suit en infrarouge, elle continue donc de fonctionner dans une salle de jeu sombre où une webcam peine. Voir choisir une caméra.

Quelle version de Visual Pinball faut-il ?

Visual Pinball X 10.8.1 ou plus récent : headtracking est un plugin pour le système de plugins de VPX 10.8.1. Il ne fonctionne qu'avec Visual Pinball X.

Faut-il calibrer quelque chose ?

Il n'y a pas de procédure de calibration : pas de damier, pas de « regardez ici et appuyez sur une touche ». Le plugin trouve la position de la caméra grâce à la lockbar et aux rails latéraux visibles dans l'image. Il faut en revanche saisir deux mesures dans VPX (F12 → Cabinet Settings) : la largeur de la lockbar et l'inclinaison de l'écran. Voir le réglage de la vue.

La perspective est trop forte, trop faible, ou dérive en diagonale.

Vérifiez d'abord ces deux mesures. Une largeur de lockbar fausse applique la même erreur d'échelle à toutes les distances : l'effet paraît partout trop fort ou trop faible. Une inclinaison d'écran absente ou fausse mélange le haut/bas avec le proche/loin : la vue dérive en diagonale quand vous bougez. Ensuite seulement, ajustez le gain et le lissage dans les réglages du plugin.

Comment recentrer la vue ?

Maintenez le bouton de la lockbar enfoncé 2 secondes pendant une partie : le plugin prend la position actuelle de votre tête comme nouvelle position neutre et affiche « Head tracking recentered ». Au début de chaque partie, la première position stable est capturée : tenez-vous donc à votre place de jeu habituelle pendant le chargement de la table.

Rien ne se passe et aucune notification de head tracking n'apparaît au lancement de la table.

Quand le plugin tourne, il affiche au début de la partie une notification avec la caméra détectée, et le journal de VPX reçoit des lignes HeadTracking. S'il ne trouve aucune caméra, le plugin l'indique à l'écran. L'absence totale de notification vient en général d'un problème de pilote ou d'autorisation : sous Linux la Kinect demande des règles udev, sous Windows le pilote WinUSB, et sous macOS VPX doit avoir le droit d'utiliser la caméra. Voir les étapes par système.

Ma Kinect v2 n'est pas détectée.

La Kinect v2 a besoin de son adaptateur secteur (le Kinect Adapter) et d'un port USB 3.0 dédié à l'arrière de la carte mère. Elle transmet en même temps la couleur, l'infrarouge et la profondeur, soit presque tout ce qu'un lien USB 3.0 peut faire passer : pas de hub, pas de port en façade, pas de rallonge douteuse.

Le plugin indique que le flux infrarouge de la Kinect est déjà utilisé.

Un autre programme occupe la Kinect, par exemple la démo headtracking ou un outil de capture. Fermez-le et relancez la table.

L'image de la Kinect v2 se fige dans la démo au bout de quelques secondes.

Lancez la démo avec la variable d'environnement HT_DEPTH_PIPELINE=cpu. Si le gel disparaît, c'est le calcul de la profondeur sur la carte graphique qui pose problème sur votre machine. C'est un diagnostic, pas un réglage à conserver : envoyez les deux journaux sur Discord.

Est-ce que ça marche sur un Mac Intel ou sous Windows ARM ?

Pas pour l'instant. Les versions sont compilées pour Linux (x86_64 et ARM 64 bits), Windows (x86 64 bits) et macOS sur Apple silicon. Les versions Mac Intel et Windows ARM sont désactivées dans la chaîne de publication, à cause de problèmes dans les bibliothèques d'apprentissage automatique.

Est-ce que ça marche sur un minicab ?

Oui, mais la faible distance entre le joueur et la caméra décide du choix de la caméra. Voir les notes sur les minicabs.

Est-ce gratuit ?

Oui. headtracking est un logiciel libre sous licence GNU GPL v3 ou ultérieure. Le code source est sur GitHub.

Où trouver de l'aide ?

Les signalements de bugs, l'aide et les tests des bêtas se passent sur Discord. Vous pouvez aussi ouvrir un ticket sur GitHub. Le guide d'installation détaillé (en anglais et en français) est docs/INSTALL.md.