jouer avec le nunchuck de la wii sur PC (excellent)

jouer avec le nunchuck de la wii sur PC (excellent) - Joys - Hardware - Périphériques

Marsh Posté le 27-03-2010 à 10:06:25    

Bonjour, un petit post pour ceux que ça interresse. (et croyais moi ça vaut le coup d'essayer....)  :)  
 
je viens de découvrir qu'on pouvait faire reconnaitre la wiimote et le nunchuck sur PC (avec une simple clé bluetooth) ( + le logiciel bluesoleil (payant ! :fou: )) (pour moi inadmissible pour un simple logiciel de reconnaissance de périphérique bluetooth... mais bon...là n'est pas le sujet...)
 
un ami me parle d'un systeme nunchuck et souris pour xbox360, je me dis, tiens j'ai une wii avec wiimote et nunchuck (qui sert pas souvent  ;) ).. je vais voir si c'est possible de la porter sur PC... et oui... il y a un site pour ça (google est ton ami)
 
j'ai une clé bluetooth, ça tombe bien, prends ma wiimote et nunchuk, installe le logiciel "glovepie", trouve (tant bien que mal) bluesoleil dans une version compatible avec win7 64bits.
 
ok je connecte la wiimote et lance un script de glovepie pour fps que je teste sur crysis, ... hmm c'est rigolo mais pas du tout intuitif... pas vraiment jouable a la wiimote et au nunchuk
 
par contre le déplacement avec le nunchuck au lieu du clavier... ça c'est une façon de jouer plus intéressante... mais tout le monde utilise de façon un peu étrange et toujours avec la wiimote dans les scripts...pas pratique...  
 
je décide donc de mettre les mains dans le camboui.
 
l'idée : se déplacer avec le nunchuck et regarder/tirer avec la souris comme avant.... (wiimote ou on veut... pour les vibrations...  :D lol  )
 
Aprés plein de test et quelque cheveux en moins, j'ai fait ça : (pour le jeu crysis mais peut s'adapter aux autres FPS ou rpg et autres...)
 
faire un copié coller de l'intégralité du texte en rouge dans glovepie :
 
 

 
//déplacement avec le controleur du nunchuk avec gestion des déplacement "pas trop sensible"
 
W = -2 < Wiimote1.Nunchuk.JoyY < -0.5
S = 2 > Wiimote1.Nunchuk.JoyY > 0.5
A = -2 < Wiimote1.Nunchuk.JoyX < -0.5
D = 2 > Wiimote1.Nunchuk.JoyX > 0.5
 
var.chargeforce = Wiimote1.Nunchuk.RawForcez <= - 10000% m per s
 
if  var.xRot > 20 then
var.protect1 = true
else var.protect1 = false
end if
 
// gestion des bouton du nunchuk Z pour courir et C pour se baisser
 
Key.shift = Wiimote.Nunchuk.ZButton
Key.Ctrl = Wiimote.Nunchuk.CButton
 
//gestion de la partie mouvement du nunchuk  
 
//if Wiimote.Nunchuk.RawForceY <- 60 then
  //key.space = true
  //Wiimote.Rumble = true
  //Wiimote.Led3 = true
//else
  //key.space = false
  //Wiimote.Led3 = false
  //Wiimote.Rumble = false
//end if
 
//un petit coup vers le haut ou le bas et le personnage saute et la wiimote vibre (pour le fun)
 
if Wiimote.Nunchuk.RawForceY > 60 then
  key.space = true
  Wiimote.Rumble = true
  Wiimote.Led1 = true
else
  key.space = false
  Wiimote.Led1 = false
  Wiimote.Rumble = false
end if
 
//un petit coup sur la gauche et le personnage recharge
 
if Wiimote.Nunchuk.RawForceX <- 60 then
  key.r = true
  Wiimote.Rumble = true
  Wiimote.Led2 = true
else  
  key.r = false
  Wiimote.Led2 = false
  Wiimote.Rumble = false
end if
 
//un petit coup a droite et le personnage donne un coup de crosse avec l'arme
 
if Wiimote.Nunchuk.RawForceX > 60 then
  key.t = true
  Wiimote.Rumble = true
  Wiimote.Led4 = true
else  
  key.t = false
  Wiimote.Led4 = false
  Wiimote.Rumble = false
end if

 
 
on appuie sur RUN!  et on lance crysis ou counter ... ou just cause2 ... ce que l'on veut...
 
Et franchement ça change le gameplay... c'est super agréable... ma copine qui n'aimait pas jouer au clavier est ravie   :love:  
 
vous pouvez rajouter des sons, des clignotement de led, d'autres actions... y a des tutos sur le net....
 
Essayez... vous adopterez...
 
pour info on trouve des wiimote et nunchuk a 13€ sur ebay... et un clé bluetooth coute 10€... et cette sale bête de bluesoleil 21€ (ça c'est abusé...)
 
 
Ceci est un scipt simple on peut rajouter beaucoup de choses, je cherche un truc du genre: si on appuie un peu il marche si on appuie a fond ... il court...  ;)
 
mais j'ai pas encore trouvé.
 
perso sinon j'ai un tout petit bug. lorsque je suis inactif le perso avance d'un millimetre vers le nord-est ... ????  :??:    pas génant, mais étrange...  on peut voir si on lance l'appli et le bloc note (si on bouge le nunchuk on voit apparaitre les touches appuyée, on voit bien donc mes zsqd puis de temps en temps sans rien faire j'ai du zd qui apparait tout seul ... ???  peut etre quelque chose qui interfère) enfin bon pas trop génant,  
 
mais un plaisir de jeu nouveau....
 
testez et faites des retours    
 
 :)  
 
 

Reply

Marsh Posté le 27-03-2010 à 10:06:25   

Reply

Marsh Posté le 27-03-2010 à 10:15:32    

Ce sujet a été déplacé de la catégorie Hardware vers la categorie Hardware - Périphériques par DraCuLaX


---------------
| Un malentendu du cul | boum boum ! | La roulette
Reply

Marsh Posté le 27-03-2010 à 10:35:34    

oui j'ai vu après que j'étais pas au bon endroit  ^^    merci

Reply

Marsh Posté le 27-03-2010 à 11:26:55    

..perso j'attends toujours des nouvelles des Razer Sixense  :sol: enfin merci pour l'astuce mais j'ai pas la Wii donc..

Reply

Marsh Posté le 27-03-2010 à 16:09:28    

sinon, le logiciel n'est il pas fourni avec l'achat de la clé bluetooo..?
pour ma part c'était le cas (mais j'ai pas non plus de wii :p)
 
même si un peu hs : http://www.dailymotion.com/video/x [...] consol_fun

Reply

Marsh Posté le 14-10-2010 à 15:05:37    

pour quelles raison tu n'utilises pas la wiimote ?
 
tu n'as pas tenté avec la sensor bar ?

Reply

Marsh Posté le 03-11-2010 à 21:59:04    

j'ai continuer à expérimenter, mais avec wiimote et nunchuck et j'arrive à un résultat sympa sur left4dead 2
 
j'utilise le gyroscope du wiimotion plus
la sensor ne sert qu'a récalibrer le gyroscope qui a tendance à "perdre le nord"
La wiimote sert donc à viser et controler la vue
 
Quand on appuye pas sur le bouton A, la wiimote se comporte comme une souris soulevé de la table, donc qui n'agit pas sur les mouvements.
L'intérêt est de pouvoir pivoter et recentrer la wiimote, ça se fait en fait aussi naturellement qu'avec une souris.
 
Je trouve que ce sujet aurait bien plus sa place dans la section jeux vidéos PC, d'autant plus que la configuration est surtout logicielle par script.

Reply

Marsh Posté le 09-11-2010 à 00:08:32    

Je trouve que le script de bysty sors des sentiers battu, je m'intéresse aussi depuis peu a GlovePIE il est vrai que jouer avec le combo manette de nintendo apporte de bonne sensation de jeu...
 
Je vous propose celui de James Bond 007 - Blood Stone assemblé par mes soins.
 
Comme basketor63 j'ai préféré choisir la visée a l'aide du motion plus car a 120 Hz cela est bien plus précis, sensible et semblable a une souris que la visée infrarouge qui deviens donc inutile avec l'utilisation de ce script.
 
Lorsque le script est lancé il sera nécessaire de ne pas bouger la wiimote pour son calibrage cela prend généralement 5 secondes en cas d'échec un message s'affichera dans GlovePIE il suffira juste de relancer le script.
 
J'ai utilisé les touches par défaut du jeu pour les faire correspondre aux manettes.
 
Un coups de nunchuck vers le haut fera passé 007 par dessus les obstacles, un coup vers l'avant ou l'arrière le fera courir.
 
Un coups de wiimote vers l'avant déclenchera l'élimination au corps a corps.
 
Le script est a amélioré de plus les phases en véhicule sont une catastrophe pour gardé le contrôle avec le nunchuck ce n'est pas évident.
 
/*
Profil GlovePIE - James Bond 007(TM) Blood Stone
*/
 
key.W = Wiimote.Nunchuk.JoyY < -0.6 // Avancer
key.A = Wiimote.Nunchuk.JoyX < -0.6 // Aller à gauche
key.S = Wiimote.Nunchuk.JoyY > 0.6 // Reculer
key.D = Wiimote.Nunchuk.JoyX > 0.6 // Aller à droite
//key.F = Wiimote.Nunchuk.ZButton // Élimination (par bouton)
var.Elimination = wiimote.RawForceZ // Élimination (par mouvement de wiimote avant)
if var.Elimination < -25 then
var.Elimination = true
Wiimote.Rumble = true
else
var.Elimination = false
Wiimote.Rumble = false
endif
key.F = var.Elimination
 
mouse.RightButton = wiimote.Nunchuk.cButton // Viser
 
if Wiimote.B // Tirer
mouse.LeftButton = true
Wiimote.Rumble = true
else
mouse.LeftButton = false
Wiimote.Rumble = false
end if
 
//key.Q = non utilisé // Échanger arme
 
key.R = wiimote.Minus // Recharger (maintenir pour ramasser une arme)
var.Sauter = wiimote.nunchuk.rawforceY // Mouvement contextuel (par mouvement de nunchuck haut)
if var.Sauter < 75 then
var.Sauter = true
else
var.Sauter = false
endif
key.E = var.Sauter
 
key.space = Wiimote.Nunchuk.ZButton // S'abriter
key.Z = Wiimote.Up // Regler la lunette
 
 
//key.LeftShift = Wiimote.Nunchuk.ZButton // Courir (par bouton)
var.Courir = wiimote.nunchuk.rawforceZ // Courir (par mouvement de wiimote avant)
if var.Courir < 75 then
var.Courir = true
else
var.Courir = false
endif
key.LeftShift = var.Courir
 
 
key.LeftControl = Wiimote.Down // Tir ajusté
key.One = wiimote.One // Activer le téléphone
key.Three = Wiimote.Right // Arme principale
key.Two = Wiimote.Left // Arme secondaire
key.E = Wiimote.Plus // Utiliser le téléphone
 
key.escape = Wiimote.Home // Menu
 
/*
    WiiMotion Plus Mouse                                         v 2010.01.08
    by lednerg
 
    Emulates the basic functionality of a Gyration Air Mouse.
    Requires GlovePIE version .40 or higher.
 
    Leave the Wiimote on your desk when starting so it can calibrate.
    Hold B to move, A = Left-Click, + = Right-Click, Down = Middle-Click.
    Minus re-calibrates, just in case you need it.
*/
 
 
 
//var.CalibrateButton = wiimote.Home  // Calibration wiimote (bouton home non temporisé)
 
if wiimote.Home = true then           // Calibration wiimote (bouton home temporisé)
   wait 3 seconds
   var.CalibrateButton = true
else
   var.CalibrateButton = false
endif
 
//var.MoveButton = wiimote.A            // Camera manuelle (par defaut)
 
var.MoveButton = var.MoveButton XOR pressed (wiimote.A) // Camera semi-automatique
 
 
var.Speed = 75   // 0 to 100
 
PIE.FrameRate = 120hz
if wiimote.HasMotionPlus = false then debug = "WiiMotion Plus NON DETECTE !"
if var.init = false and wiimote.HasMotionPlus = true {
   debug = "Poser la wiimote a l'envers - " + int(EnsureMapRange(RemoveUnits(abs(Delta(Smooth(wiimote.MotionPlus.YawSpeed, 60)))), 1, .005, 0, 100)) + "%"
   if abs(Delta(Smooth(wiimote.MotionPlus.YawSpeed, 60))) < .005 then var.CalibYaw = smooth(wiimote.MotionPlus.YawSpeed, 60)
   if abs(Delta(Smooth(wiimote.MotionPlus.PitchSpeed, 60))) < .005 then var.CalibPitch = smooth(wiimote.MotionPlus.PitchSpeed, 60)
   if abs(var.CalibYaw) > 0 and abs(var.CalibPitch) > 0 then var.init = true
}
if var.init = true and var.MoveButton = true {
   var.YawSpeed = wiimote.MotionPlus.YawSpeed - var.CalibYaw
   var.PitchSpeed = wiimote.MotionPlus.PitchSpeed - var.CalibPitch
   if SameValue( Smooth(wiimote.SmoothRoll, 10), wiimote.SmoothRoll, 10) then var.Roll = Smooth(wiimote.SmoothRoll, 10) else var.Roll = wiimote.SmoothRoll
   if var.Roll < 0 and var.Roll >= -90 {
      var.XYswap = 1 - EnsureMapRange(var.Roll, -90, 0, 0, 1)
      var.RightDown = -1
      var.TopUp = 1
   }
   if var.Roll <= 90 and var.Roll >= 0 {
      var.XYswap = 1 - EnsureMapRange(var.Roll, 90, 0, 0, 1)
      var.RightDown = 1
      var.TopUp = 1
   }
   if var.Roll > 90 and var.Roll <= 180 {
      var.XYswap = 1 - EnsureMapRange(var.Roll, 90, 180, 0, 1)
      var.RightDown = 1
      var.TopUp = -1
   }
   if var.Roll < -90 and var.Roll >= -180 {
      var.XYswap = 1 - EnsureMapRange(var.Roll, -90, -180, 0, 1)
      var.RightDown = -1
      var.TopUp = -1
   }
   var.SpeedX = var.TopUp * var.YawSpeed - ( var.TopUp * var.YawSpeed * var.XYswap ) + ( var.RightDown * var.PitchSpeed * var.XYswap )
   var.SpeedY = var.TopUp * var.PitchSpeed - ( var.TopUp * var.PitchSpeed * var.XYswap) + ( -var.RightDown * var.YawSpeed * var.XYswap )
   mouse.DirectInputX = int(var.MouseX)
   mouse.DirectInputY = int(var.MouseY)
   var.MouseX = var.MouseX + ( var.SpeedX / (10500000 - EnsureMapRange(var.Speed, 0, 100, 0, 10000000) ) )
   var.MouseY = var.MouseY - ( var.SpeedY / (10500000 - EnsureMapRange(var.Speed, 0, 100, 0, 10000000) ) )
/* // for mouse.x and mouse.y instead
   mouse.x = var.MouseX
   mouse.y = var.MouseY
   var.MouseX = var.MouseX + ( var.SpeedX / (20500 - EnsureMapRange(var.Speed, 0, 100, 0, 20000) ) )
   var.MouseY = var.MouseY - ( var.SpeedY / (20500 - EnsureMapRange(var.Speed, 0, 100, 0, 20000) ) )
*/
}
if var.MoveButton = false {
   var.MouseX = mouse.DirectInputX
   var.MouseY = mouse.DirectInputY
/* // for mouse.x and mouse.y instead
   var.MouseX = mouse.x
   var.MouseY = mouse.y
*/
}
if var.init = true and var.CalibrateButton = false {
   debug = "Calibration terminée !"
}
if var.init != false and var.CalibrateButton = true {
   var.init = "Veuillez patienter"
   debug = "Calibration en cours..."
   var.CalibYaw = 0
   var.CalibPitch = 0
   wait 5 seconds
   var.init = false
}
 
Edit:
 
Ajout:  
Calibration (appuie 3s sur bouton Home)
Camera semi-automatique (bouton A)


Message édité par fiocco le 13-11-2010 à 10:57:45
Reply

Marsh Posté le 09-11-2010 à 10:46:38    

il faudra que je teste le script de bysty que j'avais déjà vu sur un site wiimote

 

Sur mon script j'utilise l'angle wiimote.MotionPlus.Yaw plutot que la vitesse angulaire wiimote.MotionPlus.YawSpeed

 

J'avais déjà un peu tenté de jouer avec le yawspeed par la suite mais ce que je voyais comme intérêt dans l'angle c'est que couplé à la sensor bar on peut savoir l'angle que fait la wiimote avec l'écran.

 

En utilisant la tangeante de l'angle, ça permet d'avoir un curseur de souris qui va se déplacer de façon plus importante lorsque l'on va s'éloigner du centre de l'écran
ce qui donne une meilleur impression de pointage, car si on se base juste sur la valeur de l'angle sans passer par une fonction trigonométrique ça revient à avoir un rapport linéaire entre l'angle et la distance, et c'est pas top


Message édité par basketor63 le 09-11-2010 à 10:54:56
Reply

Marsh Posté le 09-11-2010 à 22:01:03    

Mon but etait de me passé de la sensor bar j'avais oublié de le précisé puis je n'arrive pas a faire détecté les wiimotes par wiimote Commander 2.0 c'est dommage car le programme est très bien conçu, en flash et en français.
 
Lien:
http://wiimotecommande.sourceforge [...] ex_fr.html


Message édité par fiocco le 09-11-2010 à 22:09:31
Reply

Marsh Posté le 09-11-2010 à 22:01:03   

Reply

Marsh Posté le 09-11-2010 à 23:28:55    

c'est sur que c'est mieux sans sensor bar, mais pour ce que je veux faire, il faut que la wiimote connaisse son orientation
 
si le psmove permet de le faire et que des drivers moins pourris existent un jour je serais bien tenté

Reply

Marsh Posté le 09-11-2010 à 23:34:15    

Je t'invite a aller visité ce lien très instructif pour le calibrage infrarouge et capteur des manettes wii.
 
http://www.siteduzero.com/tutoriel [...] teurs.html
 
Je vais m'en servir pour ajouter le controle des véhicules dans 007 Blood stone avec la wiimote car au nunchuck c'est horrible.


Message édité par fiocco le 09-11-2010 à 23:34:49
Reply

Marsh Posté le 10-11-2010 à 11:42:12    

en fait on a déjà accès a tout ça avec glovepie

Reply

Marsh Posté le 10-11-2010 à 12:00:08    

Oui mais comme je débute toute info est bonne a prendre comme a donner par contre saurais tu faire fonctionne Wiimote Commander 2.0 ?


Message édité par fiocco le 10-11-2010 à 12:01:53
Reply

Marsh Posté le 10-11-2010 à 12:43:42    

non j'utilise que glovepie pour le moment car c'est le plus adapté pour bricoler des algorithmes vu que c'est du script interprété que nombre de fonctions sont déjà fournies et qu'il y a pas besoin de compiler

 

pour le nunchuck j'aurais bien aimé que left4dead puisse utiliser les valeurs analogiques, car la je bricole un truc avec les touches zqsd et shift qui s'actionne dans une certaine plage.

 

Mais je crois pas que left4dead authorise une configuration hybride manette/souris, pourtant ça pourrait résoudre ce problème.


Message édité par basketor63 le 10-11-2010 à 12:46:14
Reply

Marsh Posté le 11-11-2010 à 06:38:30    

Ca tombe bien justement j'ai vu un suget qui en parle a priori il suffirait de rajouter un petit module dans le nunchuck tu peux toujours essayer de rencontrer en contact avec cette personne.
 
Lien:
http://fbmfbm.wordpress.com/2008/0 [...] re-3-axes/


Message édité par fiocco le 11-11-2010 à 06:40:00
Reply

Marsh Posté le 11-11-2010 à 22:56:22    

Tu as une lecture étrange des choses :D

 

Il y a pas besoin de découpler physiquement le nunchuck de la wiimote

 

C'est juste au niveau de la configuration de left4dead que la question se pose
par exemple un jeu comme BFBC2 on peut jouer en même temps à la manette, clavier et souris

 

Ce qui veut dire qu'il suffit avec glovepie de dire que le stick du nunchuck correspond au stick de déplacement du pad, pendant qu'on émule l'entrée souris avec la wiimote

 

avec left4dead l'activation de la manette désactive complètement la souris


Message édité par basketor63 le 11-11-2010 à 22:57:31
Reply

Marsh Posté le 11-11-2010 à 23:02:23    

Non c'est juste que certain préfèrerais viser avec le nunchuck car plus léger que la wiimote qui a tendance a rapidement fatigué le poignet de par son poids non négligeable.


Message édité par fiocco le 11-11-2010 à 23:03:04
Reply

Marsh Posté le 11-11-2010 à 23:34:59    

c'est pas faux pour le poids
surtout le probleme c'est qu'elle est pas ergonomique, et que la tenir à plat en visé à l'écran est en fait fatiguant pour le poignet, alors que la position est naturelle pour le nunchuck

 

il faudrait que la wiimote aie une poignée comme un flingue en fait

 

mais faut voir que le nunchuck a les mêmes accelérometres que la wiimote, mais n'a pas l'infrarouge, ni le gyroscope, donc je vois pas comment on peut l'utiliser pour viser, c'est pas assez précis


Message édité par basketor63 le 11-11-2010 à 23:36:21
Reply

Marsh Posté le 12-11-2010 à 18:50:45    

Dans le lien que j'avais donné il serait possible de rajouter un module gyro dans le nunchuck mais comme j'ai une lecture étrange des choses j'ai surement du rêvé.


Message édité par fiocco le 12-11-2010 à 18:52:07
Reply

Marsh Posté le 12-11-2010 à 19:31:18    

dans ce que je comprends sur le lien que tu donnes sont objectif est plutôt de démantibuler le nunchuck afin d'utiliser l'accéléromètre sur un robot ou du modélisme


Message édité par basketor63 le 12-11-2010 à 19:32:41
Reply

Marsh Posté le 12-11-2010 à 21:58:29    

Non pas l'accéléromètre la fonction gyroscopique il veut ajouter bref passons.


Message édité par fiocco le 12-11-2010 à 21:58:44
Reply

Marsh Posté le 12-11-2010 à 22:55:50    

le nunchuck n'a pas de gyroscope, seulement des accelerometres, tout comme la wiimote en fait.
Il veut émuler un gyroscope avec les accelerometres, ce qui est possible pour les axes x pour le pitch et z pour le roll même si c'est pas aussi précis qu'un vrai gyro, mais c'est pas possible du tout pour l'axe y (yaw), c'est pour ça qu'il parle d'y adjoindre une gyroscope basique pour gérer cet axe
 
Cet article c'est pour utiliser avec l'arduino qui semble être une carte mère pour la robotique le modelisme etcetera.
 

Reply

Marsh Posté le 16-11-2010 à 01:03:03    

left4dead 2 avec la wiimote le nunchuck et wiimotion plus http://www.youtube.com/watch?v=2agnxFkKov0
 
 
j'avais pas joué depuis 6 mois et ça se voit :o

Reply

Marsh Posté le    

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed