Tout d'abord, je calibre correctement les lunettes via le iWearCalibrator. Tu dois les tenir à bout de bras, lancer la calibration, les tourner dans tous les sens selon les 3 axes (Yaw, Roll, Pitch), une fois que les barres de calibration ne bougent plus, tu coupes la calibration (Lock Calibration), et tu mets les lunettes sur ton nez et là, tu fais "Set Zero" afin de positionner ta tête.
Si l'angle affiché sur le calibrateur correspond à celui que tu fais dans la réalité, c'est ok, sinon, recommence. Des fois, ça peut être chiant, car l'axe Yaw est magnétique et donc, très sensible aux perturbations extérieurs (portable, télé, chien qui pète)...et c'est ce qui m'ennuie le plus sur ce casque d'ailleurs.
Une fois que tout est ok, on passe à la partie compliquée. Tu installes GlovePIE 0.3. Si tu ne l'as pas, je pourrais te fournir ma version, car l'auteur ne le distribue plus depuis quelques temps à cause d'une erreur dans ces scripts Wiimote....du coup, il n'y a plus de version pour le VR920 en attendant, qu'il trouve une solution.
Une fois fait, tu peux lancer ce script là (tu peux le créer, moi il s'appelle LockOn.PIE).
Code : Tout sélectionner
// Script frameRate
PIE.FrameRate = 120Hz
//if FakeTrackIR.ProfileID=3EAH then
//Lock on 1.12b
//Configuration
// Variable
var.deadzone = 2
var.no_active_zone = 0 // (mettre 2 ou 3 au lieu de 0, ça va limiter les tremblements..c'est la zone de non detection)
var.yaw_sensibility = 1
var.pitch_sensibility = 1.5
if (Keyboard.NUMPAD4 && Keyboard.Ctrl) then
var.zero_yaw_axis = vr920.Yaw
end if
if (Keyboard.NUMPAD5 && Keyboard.Ctrl) then
var.zero_pitch_axis = vr920.Pitch
end if
var.yaw_axis = vr920.Yaw - var.zero_yaw_axis
var.pitch_axis = vr920.Pitch - var.zero_pitch_axis
// Ignore change in no_active_zone
if ( Abs(var.yaw_axis - var.MoyYaw) > var.no_active_zone ) then
var.MoyYaw = floor(var.yaw_sensibility*(Smooth(var.yaw_axis,10)))
end if
if ( Abs(var.pitch_axis - var.MoyPitch) > var.no_active_zone ) then
var.MoyPitch = floor(var.pitch_sensibility*(Smooth(var.pitch_axis,10)))
end if
// On applique la deadzone
if ( var.MoyYaw > var.deadzone ) then
FakeTrackIR.yaw = var.MoyYaw - var.deadzone
else if (var.MoyYaw < -var.deadzone) then
FakeTrackIR.yaw = var.MoyYaw + var.deadzone
else
FakeTrackIR.yaw = 0
end if
if ( var.MoyPitch > var.deadzone ) then
FakeTrackIR.pitch = var.MoyPitch - var.deadzone
else if (var.MoyPitch < -var.deadzone) then
FakeTrackIR.pitch = var.MoyPitch + var.deadzone
else
FakeTrackIR.pitch = 0
end if
FakeTrackIR.roll = 0
// status display
// debug = VR920('+vr920.Yaw+','+vr920.Pitch+'),Moy('+var.MoyYaw+','+var.MoyPitch+'),FakeTIR('+FakeTrackIR.yaw+','+FakeTrackIR.pitch+','+FakeTrackIR.roll+')'
Ensuite, tu lances le script en cliquant sur RUN. Et tu le réduis dans la barre de tache.
Enfin, tu lances Lock ON, tu lances une mission (attention, les missions rapides ou d'entrainement pose problème avec le faux track IR, il faut lancer une mission via "Ouvrir une mission"). et une fois "Cockpit", tu centres ta tête, et tu appuies sur 4 et 5 afin de recentrer les lunettes....et c'est parti
Le script doit être largement améliorable, et je serais ravi que tu me donnes un retour d'expérience à son sujet. Personnelement, j'ai investi dans un Track IR, et j'espère pouvoir l'interfacer avec les lunettes afin de ne plus avoir ces terribles tremblement quand je vise au centre sur les 30 premiers degrés de rotation de ma tête.
La variable Yaw.sensibility te permettra de donner un rapport entre l'angle réel et l'angle dans le jeu. Pour l'instant, j'ai pas trouvé mieux, désolé
La variable var.no_active_zone = 0 permet justement de dire de combien de degré minimum vous voulez avant que le mouvement soit détecté, ça permet de virer les tremblements. Si vous mettez 2 ou 3 voir 5 6, vous allez voir que ça tremble de moins en moins. Par contre, faut pas dépasser 8 - 10 sinon vous verrez que la tête sera saccadé.
Donc, ceux qui ont pris mon script déjà, modifier la valeur de 0 à 3, ce sera pas mal.
Bon courage !