Buenas a todos!
Creo que algunos de por aquí ya me conoceis, soy un apasionado de los videojuegos y la RV (como casi todos lo que rondamos por aquí) y desde hace cosa de un año también Ingeniero en Informática así que como os imaginareis llevo un tiempo ya con el tema de desarrollo de juegos para RV en la cabeza. El caso es que como no dispongo de demasiados fondos y lo que tengo prefiero ahorrarlo de momento a la espera del CV1 y actualizar el PC, pues me quedo como muchos sin DKs y sin nada en general para desarrollar y probar la RV.
El caso es que hace tiempo pensando un poco se me ocurrió que quizas era posible "apañar algo" para poder experimentar un poco con el desarrollo de juegos y la RV en general. Miré un poco a ver que tenía por casa y me dio bastante penar tener muertos de risa los mandos de psmove (que no les sacan ni un juego decente aparte de sport championship...) así que se me ocurrió que igual se podía hacer algo con ellos así que pensé en esta solución utilizarlos para emular el razer hydra.
He estado trabajando un poco en ello en mi tiempo libre. Aún está en un estado experimental y hay cosas que se pueden pulir, mejorar etc. Para empezar la preparación necesaria no es muy "user friendly" que se diga, principalmente por que conectar el psmove a windows es un dolor y solo funciona en windows 7 (gracias a la m**rda de stack de bluetooth que tiene güindows xD).
He de decir que esto no es ni mucho menos una alternativa real a usar un verdadero stem ya que es algo meramente experimental así que no recomiendo a nadie que se compre esto como un sustituto de razer hydra o stem, pero bueno, si alguien lo tiene por casa o sólo le falta alguna cosilla podría venirle bien (especialmente por que los psmove y navigation controllers están tirados de precio).
ATENCIÓN - Esta guía y el proyecto son EXPERIMENTALES. Requieren modificar el driver de un receptor bluetooth (como hace MotionInJoy) el cual lo deja "temporalmente" inservible para otras tareas. No me hago responsable de perdidas o averías. Así que si decidís realizarlo será bajo vuestra propia responsabilidad.
MATERIALES
Para empezar necesitareis:
- 2 psmove
- 2 nagivation controllers
- 1 cámara pseye
- 2 receptores bluetooth (vale también uno externo y otro interno)
- 1 cable miniUSB - USB (preferiblemente el del dualshock3)
- Windows 7 o anterior (no vale 8 ni 8.1 por el momento)
- NO TENER INSTALADO "MotionInJoy"
PASO 1 - Emparejar y calibrar los mandos PSMove a Windows
Esta es la parte más pesada del proceso ya que se trata de una cuestión de timing que windows lo reconozca y por desgracia no puedo hacer nada para que sea de otra forma ya que no está en mis manos cambiarla. Este proceso solo hay que realizarlo la primera vez que conectamos los mandos, luego es literalmente cosa de apretar un botón.
Os dejo en este otro post los pasos traducidos para conectar los mandos
LINK --> Instrucciones para emparejar PSMove con bluetooth
PASO 2 - Emparejar los Navigation Controllers
Los navigation controller al igual que los mandos dualshock 3 no tienen drivers para windows oficiales, así aquí la mejor opción es emular mandos de la xbox360 con ellos. El gran problema de conectar estos mandos por el momento es que necesitamos instalar un driver específico en uno de los receptores bluetooth (el cual lo deja inutilizado para otras cosas). Tenemos 2 opciones:
NO Recomentado - Opción 1 (MotionInJoy): Con MIJ (MotionInJoy) el problema que tiene es que no es exactamente de confianza.
Además si no tenemos ya emparejados los psmove cuando los conectemos intentarán usar el driver de motioninjoy en lugar de conectarse por el HID normal y luego hay que desinstalar selectivamente los drivers de motion in joy para los psmove. Si ya tienes los psmove emparejados al PC no hay problema con este software. MotionInJoy parece estar descontinuado y es de código cerrado, así que no hay mucho por donde tocar. Yo es lo que estoy usando por que cuando lo preparé no conocía la segunda opción.
*RECOMENDADO - Opción 2 (SCPDriver): Es una altenativa Open Source, hace exactamente lo mismo que MotionInJoy para nuestro propósito. Os lo recomiendo encarecidamente por encima de MIJ. Yo ahora mismo no es el que tengo instalado, pero por que no lo conocía cuando empecé a prepararme esto y ya tengo MIJ preparado con mods para que no haga cosas raras ni se conecte a servidores ajenos. Con SCPDriver no tendreis este problema.
Os dejo las instrucciones para instalarlo
LINK --> SCP_Driver_Package
PASO 3 - Descargar ÉSTA versión de FreePIE
NO VALE LA VERSIÓN OFICIAL, DESCARGAD ÉSTA
LINK --> FreePIE (modificado para psmove)
Os dejo el instalador preparado ya. Esa es la versión que he modificado yo para que incluya el soporte para psmove, cuando esté estable ya avisaré para incluirlo en el proyecto oficial. Podéis ver y descargar desde el código fuente si quereis desde "https://github.com/NoxWings/FreePIE" (y darle algún votillo positivo también xD)
PASO 4 - Ejecutar el script para emular FreePIE
1) Conectad los 2 receptores bluetooth
2) Conectad ambos psmove (con pulsar el botón PS de cada uno basta) y la cámara PSEye poniendo la lente en el "gran angular" (la de más FOV)
3) Conectad ambos navigation controllers y ponerlos como mandos emulados de la xbox360
4) Ejecutad la versión de FreePIE modificada
5) Cargad y ejecutad el script "HydraEmulation.py"
LINK --> HydraEmulation.py
a) Aseguraos que la cámara puede ver los mandos
b) La bola de luz de uno de los mandos empezará a parpadear. Cuando termine de calibrarla empezará con el otro mando.
c) Ahora cada uno de los psmove se corresponderá a uno de los navigation controller, si en algún momento quereis recalibrar el mando podeis hacerlo con el botón MOVE de cada mando o con la cruceta de abajo de cada navigation controller.
CORRESPONDENCIA DE CONTROLES
Como ya he comentado cada mando navigation se corresponde a un psmove. Cada psmove lo uso solo para el posicionamiento y la orientación y los navigation para tener un joystick en cada mano y para los botones. Cada joystick de navigation es equivalente a cada uno de los del hydra y en cuanto a los botones va así
Hydra Navigation
Botón 1 - Cruceta a la izquierda
Botón 2 - Cruceta a la derecha
Botón 3 - Botón X
Botón 4 - Botón O
Gatillo - Gatillo L2
Bumper (boton encima del gatillo) - L1
Start - Cruceta hacia abajo
Si en alguna demo os piden enganchar los mandos a la base, como con psmove no tenemos base lo que teneis que hacer es mantener apretados los botones de arriba de la cruceta de ambos mandos, eso simula que están anclados a la base.
DESCONECTAR EL MANDO
Para desconectar los mandos hay que mantener apretado durante varios segundos (bastantes) la tecla PS de cada uno hasta que el led deje de lucir. O bien desconectad el receptor bluetooth y volved a conectarlo xD.
[size=150]LA CARCASA[/size]
Otro problema con los mandos de psmove y navigation es que son 2 mandos para cada mano y hay que "unirlos", de momento estoy aún trabajando en ello y pensando cómo solucionarlo y lo que tengo de momento es incómodo y demasiado voluptuoso.
Intentaré hacer algo así
Edit: Corregido el link al ejecutable de FreePIE modificado (añadido un parche para resolver el bug de la orientación)
I7 6700K / MSI 1070 Gaming X / MSI Z170 Gaming M5 / 16GB RAM DDR4 3000Mhz / Aerocool X-Strike 800W Gold