Réalité virtuelle Sports (6 / 8 étapes)

Étape 6: Ordinateur trucs

Pour ce faire vous aurez besoin de la dernière version de GlovePIE (ici), le logiciel arduino si vous avez choisi l’option 1 (ici) et un jeu à utiliser le programme d’installation avec.
Tout d’abord, connecter une wiimote à l’ordinateur en utilisant soit construit en bluetooth ou un dongle bluetooth.
Ensuite, Télécharger GlovePIE et créez un nouveau fichier appelé IRloc.PIE
Entrez le code suivant :
si var.loopUntil=0 {}
var.startX=wiimote1. PointerX
var.startY=wiimote1. PointerY
var.SBD=wiimote1.z
var. ButtonFreezeTime = 250 ms

var. PointerBump = KeepDown (Pressed (wiimote1. A), var. ButtonFreezeTime) ou KeepDown (Pressed (wiimote1. B), var. ButtonFreezeTime)
Wiimote1.LED1 = true
Wiimote1.LED2 = true
Wiimote1.Led3 = true
Wiimote1.Led4 = true
Wait(10ms)
var.difX= (wiimote1. PointerX-var.startX)
var.difY= (wiimote1. PointerY-var.startY)
var.err = 15

Si wiimote.dot1vis et wiimote.dot2vis et pas de var. {IgnoreSensorBar}
Si var. UsedIR = {faux
[var. Hold_x, var. Hold_y] = [0, 0]
[var. Recenter_x, var. Recenter_y] = [0, 0]
var. UsedIR = true
}
var.irDot1_xy = [(512 - wiimote.dot1x) / 1024, (wiimote.dot1y - 384) / 768]
var.irDot2_xy = [(512 - wiimote.dot2x) / 1024, (wiimote.dot2y - 384) / 768]
[var.irMid_x, var.irMid_y] = (var.irDot1_xy + var.irDot2_xy) / 2
var.irMid_angle = atan2 (var.irMid_x, var.irMid_y)
var.irMid_length = [var.irMid_x, var.irMid_y]
var.irNew_angle = var.irMid_angle - var. Rouleau
var.irNew_xy = [sin(var.irNew_angle), cos(var.irNew_angle)] * |var.irMid_length|
[var.ir_x, var.ir_y] = var.irNew_xy + [.5,.5]
var.irSpeed_x = var.irSpeed_x * 8 + abs(delta(var.ir_x)) * 1000
var.irSpeed_y = var.irSpeed_y * 8 + abs(delta(var.ir_y)) * 1000
var.irSpeed_xy = [var.irSpeed_x, var.irSpeed_y]
Si (var.irSpeed_x < 40 et var.wmSpeed_x < 40) {}
Si ((var.ir_x < var.irMin_x) ou (var. MinMax_x = 2 et (var.irMax_x - var.ir_x) > = 15.)) et ((var.wmMax_x-var.wm_x) >.075) {}
[var.wmMin_x, var.irMin_x] = [var.wm_x, var.ir_x]
var. MinMax_x = 1
}
Si ((var.ir_x > var.irMax_x) ou (var. MinMax_x = 1 et (var.ir_x - var.irMin_x) > = 15.)) et ((var.wm_x-var.wmMin_x) >.075) {}
[var.wmMax_x, var.irMax_x] = [var.wm_x, var.ir_x]
var. MinMax_x = 2
}
}
Si (var.irSpeed_y < 40 et var.wmSpeed_y < 40) {}
Si ((var.ir_y < var.irMin_y) ou (var. MinMax_y = 2 et (var.irMax_y - var.ir_y) > = 15.)) et ((var.wmMax_y-var.wm_y) >.075) {}
[var.wmMin_y, var.irMin_y] = [var.wm_y, var.ir_y]
var. MinMax_y = 1
}
Si ((var.ir_y > var.irMax_y) ou (var. MinMax_y = 1 et (var.ir_y - var.irMin_y) > = 15.)) et ((var.wm_y-var.wmMin_y) >.075) {}
[var.wmMax_y, var.irMax_y] = [var.wm_y, var.ir_y]
var. MinMax_y = 2
}
}
Si var. WMIR_switch = {1}
[var. IR_adj_x, var. IR_adj_y] = [var. Old_WM_x, var. Old_WM_y] - [var.ir_x, var.ir_y]
var. WMIR_switch = 0
}
Si var. WMIR_switch = {0}
[var. Rough_x, var. Rough_y] = ([var.ir_x, var.ir_y] + [var. IR_adj_x, var. IR_adj_y] - [.5,.5]) * var. NewZoom + [.5,.5]
[var. WMIR_x, var. WMIR_y] = [var.wmNew_x, var.wmNew_y] - [var.ir_x, var.ir_y]
var. WMIR_xy = [var. WMIR_x, var. WMIR_y]
var. IR_adj_c = 1 - EnsureRange (|var. WMIR_xy|, 0, 5) / 5
[var. IR_adj_x, var. IR_adj_y] = [var. IR_adj_x, var. IR_adj_y] * var. IR_adj_c
}
[var. WMIR_cal_x, var. WMIR_cal_y] = [var.wm_x, var.wm_y] - [var.ir_x, var.ir_y]
d’autre
[var. Rough_x, var. Rough_y] = ([var.wmNew_x, var.wmNew_y] - [var. WMIR_x, var. WMIR_y] + [var. IR_adj_x, var. IR_adj_y] - [.5,.5]) * var. NewZoom + [.5,.5]
[var. Old_WM_x, var. Old_WM_y] = ([var. Rough_x, var. Rough_y] - [.5,.5]) / var. NewZoom + [.5,.5]
var. WMIR_switch = 1
var. WMIR_xy = [0, 0]
Si var.started = true et var.wmCalON = false alors [var.ir_x, var.ir_y] = ([var. Smooth_x, var. Smooth_y] - [.5,.5]) / var. NewZoom + [.5,.5]
}
if(var.LoopCount<10) {}
var.XS=var. StartX
var.ys=var. StartY
}
var.totalDistX=(var.xs-var.StartX) * 10
var.totalDistY=(var.ys-var.StartY) * 10
var. TDXS = 0
var. TDYS = 0
var.TX=var. TDXS-var.totalDistX
var.Ty=var. TDYS-var.totalDistY
Debug = "XDist: « + var.tx+ » YDist: « + var.ty+ » BDist:" + wiimote. PointerVisible
var.loopCount=var.loopCount+1
Si wiimote. PointerVisible = {0}
var.inC=var.inC+1
}
Si var.inC > {30
var.loopUntil=.01
}
}
}

var.LR=0
Si var.tx > {1,75
var.LR=1
}
Si var.tx <-1.75 {}
var.LR=-1
}
var.ud=-1
Si var.ty > 1.6
var.ud=0
}
Si var.ty > 2.6
var.ud=1
}
Si {var.loopUntil!=0}
Debug = "LR: « + var.lr+ » UD: » +var.ud
var.loopUntil=0
}

Si {var.inC=31}
Si var.lr=-1 et var.ud=1 {}
Pavnum1 de presse
attendre 1 ms
Communiqué de Pavnum1
}
Si var.lr=-1 et var.ud=0 {}
Pavnum2 de presse
attendre 1 ms
Communiqué de Pavnum2
}
Si {var.lr=-1 et var.ud=-1
numpad3 de presse
attendre 1 ms
Communiqué de numpad3
}
Si var.lr=0 et var.ud=1 {}
numpad4 de presse
attendre 1 ms
Communiqué de numpad4
}
Si var.lr=0 et var.ud=0 {}
numpad5 de presse
attendre 1 ms
Communiqué de numpad5
}
Si var.lr=0 et var.ud=-1 {}
numpad6 de presse
attendre 1 ms
numpad6 de libération
}
Si var.lr=1 et var.ud=1 {}
numpad7 de presse
attendre 1 ms
Communiqué de numpad7
}
Si var.lr=1 et var.ud=0 {}
numpad8 de presse
attendre 1 ms
Communiqué de numpad8
}
Si var.lr=1 et var.ud=-1 {}
numpad9 de presse
attendre 1 ms
Communiqué de numpad9
Appuyez sur Maj
}
}
Si {pressed(key.enter)}
var.loopUntil=0
var.inC=0
}

Voici une explication rapide du programme et comment l’utiliser :
Lorsque vous exécutez tout d’abord le programme, assurez-vous que le capteur infrarouge peut « voir » les LEDs infrarouges émettant de la lumière. Il commence par un affichage dans le panneau de débogage ci-dessus qui lit "XDist : 0.00 YDist : 0.00 BDist : 1.00"
Si la valeur double 1,00 pour BDist montre 0,00 le capteur infrarouge ne peut pas détecter la source de lumière infrarouge. Après que qu’une source est détectée, il sera calibrer le mouvement de la balle et sortie clavier valeurs 1-9 selon positionnement 3D calculée. Lorsque la source de lumière ne peut plus être vu par le capteur infrarouge, le débogage s’affichera « LR: valeur UD : valeur » où la valeur est remplacée par un entier compris entre -1 et 1.
Cela montre le positionnement global de la « boule » dans une grille carrée de 3 x 3 comme celui montré dans le diagramme.

Après cela, il est facile de contrôler le logiciel glovePIE. Lorsque vous exécutez le logiciel, attendre que le BDist est à 1 et puis frappez le ballon passé le capteur infrarouge. Cela se déclenche un positionnement de débogage et puis à son tour déclencher une sortie de clavier numérique de 1 à 9 selon la position calculée. Vous pouvez maintenant intégrer cela dans un environnement de jeu en créant un jeu qui utilise une entrée de 9 valeur, ou vous pouvez m’envoyer un message pour un jeu que j’ai créé spécialement pour ce projet en cliquant ici.

Articles Liés

Casque de réalité virtuelle sécurité

Casque de réalité virtuelle sécurité

Porter un casque de réalité virtuelle peut être extrêmement dangereux, surtout si vous êtes à pied (ou en cours d'exécution) à travers des mondes virtuels. Courir dans les murs ou autres objets peut être évité si ce casque de sécurité est usé.En fonc
Expérience de réalité virtuelle multi-sensorielle

Expérience de réalité virtuelle multi-sensorielle

À l'aide d'invention de 1957 de Morton Heilig, « Sensorama, » comme une source d'inspiration, j'ai développé une plateforme de réalité virtuelle DIY.L'occasion pour 360 degrés d'exploration, il peut sembler étrange au design autour d'une position fix
Devenir Tony Stark : Réalité virtuelle Mobile installation avec mouvement de saut

Devenir Tony Stark : Réalité virtuelle Mobile installation avec mouvement de saut

Combien d'entre vous ont voulu utiliser vos mains et regardez autour naturellement sans avoir à utiliser votre souris, le clavier et l'écran ? Eh bien, aujourd'hui je vais vous montrer comment utiliser un téléphone, Bond en mouvement, et des lunettes
DIY vous réalité virtuelle casque - carton de Google

DIY vous réalité virtuelle casque - carton de Google

À partir du Google i/o admises le carton de Google , j'ai toujours envie pour en obtenir un, à cause de cela est une réalité virtuelle de prix bas appareil sensation. Malheureusement, faute d'acheter un carton de google me rendait fou. J'ai donc déci
Initial des réglages de configuration pour casque de réalité virtuelle (VR)

Initial des réglages de configuration pour casque de réalité virtuelle (VR)

J'ai récemment acheté un des nombreux casques de carton de Google « améliorés » peu coûteux. Sur eBay, ces dispositifs ont le prix indiqués dans la même gamme que le véritable carton de Google mais offrent une qualité de construction plus robuste et
Afficher tout contenu Web comme réalité virtuelle

Afficher tout contenu Web comme réalité virtuelle

Il y a eu récemment beaucoup d'excitation autour de la réalité virtuelle et c'est tout car grandes entreprises comme Oculus Rift et périphériques d'entrée comme la tige de Leap Motion, PrioVR, Sixense, ont été la conception de nouveaux et d'expérienc
Réalité virtuelle bricolage Skateboard expérience avec Arduino et Google carton

Réalité virtuelle bricolage Skateboard expérience avec Arduino et Google carton

Il s'agit d'un projet vraiment amusant et facile qui peut être fait en environ une heure. Sur la partie inférieure de la planche à roulettes est un accéléromètre/gyroscope avec une carte Arduino qui transmet le mouvement angulaire du Conseil via blue
Dispositif de réalité virtuelle téléconférence avec un carton de Google

Dispositif de réalité virtuelle téléconférence avec un carton de Google

Dispositif de réalité virtuelle téléconférence avec un carton de GoogleCréé par John Choi | 2015Ce projet est un dispositif de vidéoconférence avec deux webcams de vision stéréoscopique, placé sur une plateforme motorisée 3 axes, contrôlée par un écr
Sculpturales machines pour accéder à la réalité virtuelle

Sculpturales machines pour accéder à la réalité virtuelle

Dans ce Instructable que je partagerai une progression des étapes qui ont conduit à la création d'un sculptures fonctionnelles semi pour la visualisation de réalité virtuelle, dont la forme est conçue pour prendre différents rôles selon sa taille exé
Comment faire un écouteur de suivi 3D de réalité virtuelle pour moins de 10$

Comment faire un écouteur de suivi 3D de réalité virtuelle pour moins de 10$

De ces 5 dernières années, les dispositifs de réalité virtuelle plus en plus populaires comme Oculus Rift, carton de Google, Microsoft HoloLens, dominent actuellement le secteur de l'électronique consommateur à tel point qu'ils saisir bien souvent un
Flux de bureau de PC à téléphone pour la réalité virtuelle (maintenant avec tête suivi!)

Flux de bureau de PC à téléphone pour la réalité virtuelle (maintenant avec tête suivi!)

J'ai aimé la réalité virtuelle pendant une longue période. Bien que vous n'aurez pas besoin de l'un, j'ai finalement eu mes mains sur une imprimante 3D et a été en mesure d'imprimer un casque VR.Malheureusement, cela ne vient pas avec toute l'électro
Environnements interactifs de prototypage en réalité virtuelle avec Google carton, l’unité et Hotline Bling (TfCD)

Environnements interactifs de prototypage en réalité virtuelle avec Google carton, l’unité et Hotline Bling (TfCD)

Ces jours-ci, (captivants) sont prioritaires sur la fonctionnalité pure et specs sur papier. Ce changement d'orientation a influé sur le processus de conception des designers industriels, architectes, développeurs d'applications et artistes, s'efforç
Jeux de réalité virtuelle et de ce qui rend votre corps un contrôleur ! (L’unité + Visual Studio + Kinect + Oculus)

Jeux de réalité virtuelle et de ce qui rend votre corps un contrôleur ! (L’unité + Visual Studio + Kinect + Oculus)

Immersive Runner infinieAllez-y et lancez-vous.Fournitures· Microsoft Account – https://www.microsoft.com/en-us/account/default.aspx· Visual Studio Community Edition 2013 ou 2015 – https://www.visualstudio.com/· Visual Studio Unity Plugin-http://unit
Visionneuse de réalité virtuelle DODOcase portable

Visionneuse de réalité virtuelle DODOcase portable

Nous avons pris notre DODOcase à une école voisine demander aux autres élèves ce qu'ils pensaient pourrait être amélioré sur le modèle de base «; » et la grande majorité des étudiants ont indiqué qu'ils voulaient une visionneuse de réalité virtuelle,