Mi primer día con Oculus Rift

Primer día con Oculus Rift

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.

Primer día con Oculus Rift

Oculus Rifts DK1 funcionando

¡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!

Viendo mariposas con Oculus Rift Development Kit

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…».

El mando Wii ya está conectado a Oculus Rift

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

Asignando teclas al mando Wii

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.

El panel de control de Unity para Oculus Rift

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/

Integrando Blender y Oculus Rift

 

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:

Oculus Websocket Bridge

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.

Firefox Websocket

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.

Oculus Bridge WebGL

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/

 

 

Airbus A380 VR


Publicado

en

por