Hello !
--- EN CONSTRUCTION --- --- et complété en fonction de vos questions ---J'en parle, mais effectivement ça amène des questions, et les réponses ne sont pas toujours évidentes.
Voici donc un modeste Tuto pour pouvoir utiliser le face-tracking BAM sous VPX.
Pour info, j'utilise une Kinect v2, c'est a priori ce qu'il y a de plus fiable pour le fonctionnement.
A - Les prérequis matériels
B - Les prérequis logiciels
C - La mise en place
1 - installation de BAM dans Future Pinball
2 - positionnement de la cam
3 - Vérification du BAM-tracker
D - Paramétrage dans VPX
E - Réglage des tables
F - Adaptation du launcher
...
--- EN CONSTRUCTION ---A - Les prérequis matériels
Une caméra ! Plusieurs solutions possible pour le BAM : Une webcam USB, un Kinect v1 ou v2.
Le but de la caméra est de pouvoir positionner le joueur par rapport à la table, le capteur de profondeur est le "+" des Kinect qui les rends particulièrement adapté a cet usage.
La Kinect v2 semble la mieux armée pour cela : un capteur video avec un champ plus large (utile pour le cadrage), et de meilleurs capteur de mouvement (profondeur).
Perso j'utilise une Kinect v2 avec son adaptateur Xbox one/PC, qui permet de la brancher nativement sans modifications sur un port
USB 3.0 de votre PC.
Il y a la possibilité de modifier les Kinect V2 pour les brancher sans l'adaptateur.
Il faudra également prévoir la place pour positionner et caler la caméra. Idéalement au dessus du fronton.
B - Les prérequis logiciels
Installer le driver les runtimes microsoft pour la kinect
Installer Future Pinball avec BAM (j'ai pris la version 2 en 1 )
( si vous aviez déjà FP, il faut juste installer BAM )
Installer une version "GL" de VPX. (a partir de 10.7.3) En sachant que l'intégration est meilleure avec les dernières version 10.8.0 beta 8 par exemple ou la dernière 10.8 RC.
Petit conseil: pour éviter des soucis de version dans les scripts prenez la même version que votre version principale.C - La mise en place
1 - installation de BAM dans Future Pinball
Une fois l'installeur 2 en 1 lancé, pas grand chose à dire car, dans la cas qui nous intéresse, pas d'utilisation de Future Pinball pour autre chose que le paramétrage de BAM. Récupérez quand même au moins une table pour pouvoir avec quelque chose a lancer ^^.
Tout est détaillé en anglais ICI.
Vous allez donc lancer FP avec l'exe "FPLoader.exe", puis ouvrir une table et lancer le paramétrage (touhe "Q").
-->vous allez pouvoir sélectionner votre Kinect v2 (ou Kinect ou webcam).
C'est ici qu'il faut soigner le cadrage et trouver la position idéale de la cam.
2 - positionnement de la cam
Les différents retours que j'ai pu lire indiquent que cela fonctionne mieux avec un placement en hauteur (ça tombe bien, c'est plus discret, et pas envi de faire de nouveaux trous dans le flip).
Il faudra donc faire en sorte que le joueur soit au milieu du cadrage, avec sur le bas de l'écran sur 30-40% de la hauteur, une vision de la table.
Vous allez aussi pouvoir en profiter pour ajuster un petit cache physique au niveau de la lentille de la cam afin de restreindre la vision au seul joueur.
Le cadrage n'est pas si simple car les proportions de vision de la table et avoir le joueur en entiers ne sont pas toujours possible. (par exemple j'ai du reculer et surélever un peu la kinect pour réussir a tout rentrer dans la hauteur)
lorsque le cadrage vous semble Ok --> lancer la fonction "calibrate" des menus.
Comme vous avez bien travaillé, le calibrage se termine par un message en vert, et vous devriez pouvoir observer un point rouge en vous penchant au dessus de la table.
Si la position du point rouge correspond bien au placement de votre tête lorsque vous vous avancé au dessus du flip (jusqu'à la moitié au max),
alors le calibrage est bon. Si c'est décalé ou exagéré, revoir le placement de la cam ou le cadrage.
Il faut ensuite enregistrer le paramétrage dans les menus de FP en tant paramétrage par défaut "Save as default".
ça c'est fait, vous pouvez quitter FP
VOICI UNE VIDEO EXEMPLE SUR LE CADRAGE
**A noter qu'il faudra refaire la configuration si vous déplacez la cam, sous peine d'un suivi aléatoire.** 3 - Vérification du BAM-tracker
Vous trouverez dans le dossier d'installation de BAM un fichier "BAM-Tracker.exe". C'est l'exécutable qui devra être lancé avant VPX pour le fonctionnement de BAM.
Lancer le et sélectionnez votre type de caméra.
Les valeurs player position et counter doivent bouger.
D - Paramétrage dans VPX
1 - Préparation d'un fichier ini alternatif et d'un lanceur rapide
Vous avez donc récupéré et installé les versions GL de VPX dans votre installation (tous dans le dossier d'installation par défaut). Mais lorsque vous lancerez VPX le fichier de paramétrage sera le même entre les différentes version, ce qui pourrai poser des soucis.
Après avoir dupliqué le fichier .ini originel (situé généralement dans C:\Users\Pinball\AppData\Roaming\VPinballX\ ) dans un sous-dossier "BAM", je vous conseille de lancer VPX_GL avec un fichier de lancement alternatif VPinballX_GL.bat
A noter également que le BAM tracker doit être lancé avant chaque lancement de VPX
ET SURTOUT fermé ensuite (le relancer à chaque fois) sous peine de plein de bug de suivi.
--> voir dans le script coté launcher plus bas
Avec une pause de quelques seconde entre les deux.
(perso ça passe sans soucis avec 2 secondes chez moi, mais j'ai lu des personnes mettant jusqu'a 10 ... ça dois dépendre du PC peut-être ??)
Voici donc des exemples, tout d'abord mon fichier de lancement rapide de mon fichier "VPinballX BAM.bat" (x86):
- Code:
-
cd C:\Future Pinball\BAM\
START BAM-Tracker.exe
timeout 2
cd C:\Visual Pinball\
START vpinballx_gl.exe "C:\Visual Pinball\" -ini "C:\Users\Pinball\AppData\Roaming\VPinballX\BAM\VPinballX.ini"
la version x64 "VPinballX BAM x64":
- Code:
-
cd C:\Future Pinball\BAM\
START BAM-Tracker.exe
timeout 2
cd C:\Visual Pinball\
START vpinballx_gl64.exe "C:\Visual Pinball\" -ini "C:\Users\Pinball\AppData\Roaming\VPinballX\BAM\VPinballX.ini"
et le kill du tracker :
- Code:
-
taskkill /f /im "BAM-Tracker.exe"
--- EN CONSTRUCTION --- 2 - Réglages Vidéo dans VPX
Cocher BAM tracking
Dimension de la table
position de la tête du joueur
--- EN CONSTRUCTION ---E - Réglage des tables
Ca y est vous lancez une table avec BAM ... bon c'est pas forcément waouh tout de suite, il est même certain que la première vision sera assez moche.
Vous allez donc commencer par mettre un réglage par défaut.
La touche "A" ou "Echap" fait apparaître le menu dans le quel vous trouverez le bouton Ajust "HeadTracking".
Dans ce menu vous trouverez l'ajustement des dimensions, tout d'abord dans les décalages en largeur Y, longueur X et hauteur Z, et en dessous les proportions Y / X et Z, et enfin l'ajustement de l'angle de la table.
1 - définir le réglage par défaut (à ne faire qu'une seule fois)
Celui-ci sera appliqué a défaut de personnalisation à chaque ouverture de table. Ne mettez que les proportions.
Je vous propose 4.00 en Y, 1.05 en X, 1.9 en Z et 6 degrés d'inclinaison.
Puis enregistrez avec le bouton "Save as defaut"
2 - Personnaliser pour la table en cours
Vous observerez vite en manipulant qu'en changeant un réglage cela impact souvent rapidement les autres, et afin d'éviter les aller retour et être efficace, il y a un ordre à respecter.
Lorsque vous réglez une table, soyez mobile devant le flipper en vous décalant dans tout les sens de façon à vérifier les effets des paramétrages. (Oui, vous aurez l'air vraiment malin
)
Tout ces réglages sont
indicatifs et
variables en fonction de vos configurations, dimensions de flippers et de vos gouts. Pour l'expérience la plus immersive possible, il faut essayer de coller au mieux avec des perspectives "réelles".
En premier lieu, commencez par l'inclinaison de la table. Celle-ci varie en fonction de l'age des flippers, des marques et de la récréation. Dans la cadre de MA configuration (donc ça peut varier bcp, c'est juste une indication) c'est entre 0 et 2° pour tables des 70s , entre 3 et 4° pour les tables des années 80, 5° pour celle des 90°, et souvent au dessus pour les tables plus récentes.
Astuce : Si le flipper a été modélisé avec les sides, diminuez la largeur pour les voir, et ajuster l'angle pour les rendre parallèles a votre écran : ce sera surement très proche de l'angle optimal.Ensuite, faire le réglage du décalage de hauteur Z, de façon à ce que lorsque vous avanciez ou reculez, le bas du flipper (repérer les cards) soit à peu près immobile, tout comme haut du fond du flipper. Cette valeur est très variable d'un flipper a l'autre (entre -100 et 100 environ). Vous jouerez avec longueur X en même temps pour vérifier la cohérence
Puis ajustez l'échelle des hauteurs Z ( aux alentours de entre 1, si votre BAM est bien réglé)
Ensuite, vous allez ajuster la longueur de la table (X) d'abord en proportion, puis en décalage.
Enfin terminez par la largeur Y, en proportion, puis décalage.
Vous allez faire des tas d'aller retour, dans les réglages, c'est normal. mais lorsque vous trouvé ce qui rend le mieux pour votre configuration physique de pincab, vous irez de plus en, plus vite.
--- EN CONSTRUCTION ---F - Adaptation du launcher
C'est pas forcement simple de prime abord, mais ça marche pas mal une fois que l'on a trouvé la bonne formule.
Je vous propose mon script sous pinup (qui n'est surement pas parfait mais) qui fait le job :
- Code:
-
START "" "[STARTDIR]Launch\VPXSTARTER.exe" 30 10 60 “Visual Pinball Player” 2
cd /d "[DIREMU]"
if "[RECMODE]"=="1" (
if "[ALTEXE]" == "" (
START /min "" VPinballX.exe "[DIREMU]" -DisableTrueFullscreen -minimized -play "[GAMEFULLNAME]%ALTPARAM%"
)
if "[ALTEXE]" == "VPinballX-x64.exe" (
START /min "" VPinballX-x64.exe "[DIREMU]" -DisableTrueFullscreen -minimized -play "[GAMEFULLNAME]%ALTPARAM%"
)
) else (
if "[ALTEXE]" == "" (
if "[ALTMODE]"=="3D" (
START "" /min "C:\Future Pinball\BAM\BAM-Tracker.exe"
timeout 2
START /min "" vpinballx_gl.exe "[DIREMU]" -play "[GAMEFULLNAME]" -ini "C:\Users\Pinball\AppData\Roaming\VPinballX\BAM\VPinballX.ini"
) else (
START /min "" VPinballX.exe "[DIREMU]" -play "[GAMEFULLNAME]%ALTPARAM%"
)
)
if "[ALTEXE]" == "VPinballX-x64.exe" (
if "[ALTMODE]"=="3D" (
START "" /min "C:\Future Pinball\BAM\BAM-Tracker.exe"
timeout 2
START /min "" vpinballx_gl64.exe "[DIREMU]" -play "[GAMEFULLNAME]" -ini "C:\Users\Pinball\AppData\Roaming\VPinballX\BAM\VPinballX.ini"
) else (
START /min "" VPinballX-x64.exe "[DIREMU]" -play "[GAMEFULLNAME]%ALTPARAM%"
)
)
)
et d'ajouter à la fermeture des tables un kill du BAM tracker :
- Code:
-
taskkill /f /im "BAM-Tracker.exe"
Quelques remarques :
Personnellement, je ne lance plus VPX en mode "-minimized", je préfère tuer le process de l'explorateur de fichier au lancement de Pinup (il se relance si je quitte).
Cela permet de pouvoir utiliser la touche echap ou a afin d'avoir accès au menu de réglage, même si j'ai lancé via pinup.
Je ne ferai pas machine arrière tellement cela me fait gagner du temps.
Ressortir du launcher pour faire ses réglages est parfois une contrainte qui fait ... qu'on ne fait pas les petits coup de réglages qui vont bien ^^
( C'est la tendance d'ailleurs, comme avec les nouveaux réglages directement en jeu avec la touche F12, c'est génial )
--- EN CONSTRUCTION ---