
3 de diciembre, 2013
Ha llegado un paquete…
Después de tres semanas de tensa espera, por fin llegó mi kit de desarrollo para Oculus Rift. Nada más ver el maletín piensas que la cosa empieza bien. Abres, ves un montón de bolsitas y coges la más grande. Lo primero que sorprende es que las gafas pesan muy poco. Y entonces te pones a conectar: un usb por aquí , un hdmi por allí, toma de corriente y… no pasa nada. No hay cd, ni drivers, ni aplicaciones. Pero las gafas encienden y puedes ver el escritorio de tu ordenador a través de ellas. Inmediatamente coges la hoja de bienvenida y entras a la web de los desarrolladores. Has encontrado la demo, la descargas y la ejecutas. De repente estás en una hermosa villa de la Toscana. Hace sol y se escucha el mar, notas el hormigueo en tu estómago. Al principio marea un poco, pero mola.
¡Funciona!
La primera impresión ha cumplido mis expectativas. La demo de la Toscana cumple perfectamente su función y no puedes evitar alargar el brazo para intentar tocas las mariposas, aunque la imagen tiene algo de latencia cuando haces giros bruscos con la cabeza y por supuesto no ves tus manos -cuestión de tiempo-. Las texturas y los sonidos son perfectos, y los objetos parecen realmente tridimensionales. Pero donde realmente las Oculus me han mostrado todo su potencial ha sido en la demo Dreadhalls, creada por Sergio Hidalgo y que obtuvo una mención de Honor en el VR Jam 2013. Si quieres saber lo que es un entorno inmersivo, éste es tu sitio. Nunca se me olvidarán los gritos de mi amigo Pablo y los sudores que tenía cuando se quitó las gafas. Aviso que no es apto para cardíacos.
Y ahora toca explorar otros entornos, otros mundos. Hay verdaderas maravillas esperándonos. ¡Coge tus Oculus Rift y a disfrutar!
Recursos:
Demo de la Toscana: http://ovrnews.com/app/oculus-tuscany-demo/
Demo Dreadhalls: http://www.dreadhalls.com/
Integración de Oculus Rit con el mando Wii Remote
Para movernos por el entorno virtual necesitamos utilizar las manos reales para los controles. Utilizar el teclado y el ratón es complicado y hay que andar a tientas buscando las teclas. Por esta necesidad el mando de Nintendo Wii podría ser una buena opción para combinar con las gafas. Además, al ser inalámbrico nos permitirá desprendernos de la mesa y la silla.
En primer lugar necesitamos:
– Un mando de Wii
– Un receptor Bluetooth
– WiinRemote, un programa para usar el mando Wii Remote en un PC con Windows
– Un programa para conectar dispositivos Bluetooh como BlueSoleil
– Y por último utilizaremos Unity para reproducir una experiencia en Oculus Rift
Empieza conectando el mando Wii Remote al PC por medio de BlueSoleil. Ejecuta el pograma y enciende el mando. En la ventana del programa aparecerá el icono del mando. Pulsando El botón SYNC del mando y a continuación haz clic con el botón derecho sobre el icono del mando y pulsa en «Conectar Dispositivo…».
Ejecuta el programa WiinRemote y en las Preferencias activa «Motion Sensor» y asigna los siguientes valores a los botones:
– Up > Key W
– Down > Key S
– Right > Key D
– Left > Key A
Ya hemos asignado al mando los controles de movimiento básicos. Ahora abrimos una escena en Unity que tenga integrado el controlador de Oculus. Tenemos que ir al panel OVRPlayerController y cambiar el valor del parámetro «Acceleration» a 1 para obtener un movimiento contínuo al presionar los botones del mando. Si no lo modificamos, sólo daremos pequeños pasos.
Ya podemos controlar nuestro movimiento con el mando Wii Remote. La sensación es completamente diferente.
Fuentes:
–WiinRemote
–BlueSoleil
Integración de Oculus Rift con Blender
Estos son los 3 primeros scripts que me han resultado útiles para trabajar con el motor de juegos de Blender y Oculus VR. Con ellos podrás adaptar cualquier contenido de Blender, generado en tiempo real o renderizado, a la visión esteroscópica de unas gafas Oculus Rift.
Distorsión de lente
Ejecutando este script en la consola de Blender Game Engine obtenemos la distorsión de lente característica de Oculus. Según se explica en la web del autor, es necesario añadirle un segundo script para corregir un error en la distorsión y ejecutarlo en modo «stereo > side-by-side».
Fuente: http://lubosz.wordpress.com/tag/oculus-rift/
Movimiento de cámara con ratón
Con este script se simula el movimiento de la cabeza con el ratón. Teniendo las gafas no es lo más apropiado, pero aún no se han terminado de integrar los datos enviados por el HMD a Blender. Más adelante habrá que sustituir este script por otro.
http://riyuzakisan.weebly.com/mousemove-script.html
Renderizado esteroscópico
http://www.noeol.de/s3d/
Integración de Oculus Rift con WebGL
Para poder crear un entorno virtual para la web e interactuar con él, primero necesitamos conectar nuestro navegador web con las gafas Oculus Rift. En este ejemplo vamos a utilizar una librería Javascript gratuíta que se llama Oculus Bridge, un script que permite acceder de manera simple a los datos de seguimiento y la configuración de visualización de Oculus Rift para que se pueda utilizar con WebGL y los navegadores que soporten websocket.
1.- Descarga el ZIP y descomprímelo. Busca en la carpeta oculus-bridge-masteroculus-bridge-masterappbuild el fichero que corresponde con tu sistema operativo. En este caso es oculus-bridge-windows. Al ejecutar el archivo, se realiza la conexión.
2.- Abre la carpeta oculus-bridge-masteroculus-bridge-masterexamples y abre en el navegador alguno de los ejemplos y podrás mover los objetos con las gafas Oculus.
Recuerda que debes utilizar una versión reciente de navegador. Las versiones mínimas recomendadas serían las siguientes:
– Chrome 28
– Safari 6
– Firefox 22
– Explorer 10
Al ejecutar la aplicación Oculus Bridge debe mostrar este aspecto:
Si alguno de los cuadros no está marcado hay que revisar primero que las Oculus estén correctamente conectadas y después comprobaremos la cofiguración del navegador. En Firefox, por ejemplo, tendríamos que abrir la dirección about:config y modificar el parámetro network.websocket.enabled para que esté en true.
Ahora ya podemos modificar los archivos de ejemplo o empezar a crear nuevos mundos. Para ello podemos utilizar three.js, una librería javascript con la que podemos crear gráficos y animaciones para la web. Hablaré de cómo utilizarla más adelante. En el siguiente ejemplo vamos a modificar el archivo first_person.js. En primer lugar vamos a modificar la línea 107, cambiando la imagen *.jpg de la textura del suelo. En este caso voy a utilizar una imagen que se llama suelo.jpg, la cual voy a copiar en la carpeta oculus-bridge-masterexamplestextures. En la línea 83, cambiamos el valor de la opacidad a 1: THREE.MeshBasicMaterial( { map: floorTexture, transparent:true, opacity:1 } );
Por último eliminamos las líneas desde la 90 a la 120. Ahora tenemos un entorno vacío, ideal para empezar a construir nuevos proyectos.
Para terminar este ejemplo vamos a añadir una textura de vídeo. Para ello crea una carpeta llamada ‘video’ dentro de la carpeta oculus-bridge-masterexamples y copia dentro un archivo de vídeo en formato *.ogv, *.webm o *.mp4, dependiendo de la compatibilidad de tu navegador web.
Para crear la textura de vídeo, inserta el siguiente fragmento de código justo después de la llamada scene.add(floor);
create the video element
video = document.createElement( 'video' );
video.id = 'video';
video.type = ' video/ogg; codecs="theora, vorbis" ';
video.src = "../examples/textures/video/video.ogg";
video.load();
Por último, inserta este otro fragmento de código justo después del inicio de la función render()
if ( video.readyState === video.HAVE_ENOUGH_DATA ) { videoImageContext.drawImage( video, 0, 0 ); if ( videoTexture ) videoTexture.needsUpdate = true; }
Aquí puedes ver el ejemplo completo.
Fuentes:
Instrument/oculus-bridge · GitHub
https://github.com/Instrument/oculus-bridge
How to: Set up a web based Oculus Rift world | Paddy the Rabbit
http://paddytherabbit.com/set-web-based-oculus-rift-world/
How to enable WebSocket on Firefox | Mete Atamel
http://meteatamel.wordpress.com/2011/07/20/how-to-enable-websocket-on-firefox/