martes, 8 de julio de 2014

Realidad Virtual de cartón con tu smartphone

Mientras se espera la llegada del headset de realidad virtual Oculus Rift en 2015, Google presentó a finales de Junio el Cardboard, una prueba de concepto de realidad virtual para smartphones Android hechas con cartón.

En el sitio web se puede encontrar un ejemplo del resultado del headset de RV junto con un manual de como construirlo en casa a partir de una plantilla en pdf y con la lista de materiales necesarios.

Cardboad de Google


Además, está disponible para Android una demo con aplicaciones diferentes para usar con el Cardboard como ver las fotografías realizadas en photo sphere, ver los canales de youtube, realizar la visita a un museo o ver las calles con street channel en formato estereoscópico.

Funcionamiento

Cardboard utiliza 3 componentes: Un par de lentes ópticas biconvexas, dos imanes y una etiqueta NFC, esta última opcional.

Efecto de la las lentes en el Cardboard. Fuente Google I/O 2014 - Cardboard: VR for Android


Para poder tener una visión inmersa en RV es necesario utilizar lentes ópticas. Google recomienda que sean de 45mm de distancia focal (F/L) biconvexas y de 25mm de diámetro.

Las lentes hacen que nuestra visión se centre en cada una de las mitades de la pantalla, haciendo que nuestro cerebro interprete de forma estereoscópica. Las aplicaciones se encargan de renderizar las dos imágenes ajustadas para la distorsión recibida por la lente.

Los imanes realizan la función de un botón de acción. Ya que la pantalla queda inaccesible, el movimiento de uno de los imanes ejerce un campo magnético que activa el sensor del magnetómetro, incluido en la mayoría de smartphones actuales.

La etiqueta de NFC, con la url cardboard://v.1.0.0, sirve para que cuando se coloque el smartphone cerca, en el Cardboard, le indique a la aplicaciones que se muestren en modo de RV.


Finalmente, el smartphone facilita el hardware y los sensores como el acelerómetro y el giroscopio.

Montaje

Para crear el Cardboard se puede imprimir el pdf de la plantilla. Hay que imprimirla en formato vertical o apaisado y activar en las propiedades de impresión el auto centrado de la imagen, ya que la plantilla ocupa casi toda la página de A4 y podría no salir alguna línea cercana a los bordes.

Plantilla de Cardboard recortada.

Luego pegar la plantilla impresa sobre un cartón, uniendo las partes 1 y 2 con fondo blanco sobre las partes 1 y 2 con fondo negro.

Para recortar utilicé un cúter y una regla con algo debajo para no marcar la mesa. Hay algunas partes centrales que resulta algo complicado recortar, pero que con paciencia se puede hacer usando el cúter a modo de punzón.

El cartón debe ser fino para que resulte cómodo de recortar.

Una vez recortadas todas las partes hay que ensamblarlas. El proceso es muy simple, incluso hay vídeos en youtube que explican los pasos necesarios.

Cardboard hecho a partir de la plantilla en pdf con una caja de zapatos.

Una vez montado todavía faltaría añadir el velcro para la sujeción del smarthphone en la parte delantera, la etiqueta NFC, los imanes y las lentes. Pero es un ejemplo de como podría ser y lo fácil que es hacerse un headset de RV en casa.

Con un acabado más profesional, hecho con una cortadora láser, en Dodocase se puede obtener el kit completo por unos 25$, ó 20$ sin etiqueta NFC, disponible para envíos a España.

Desarrollo

En el vídeo de la conferencia de Google I/O 2014 - Cardboard: VR for Android se puede ver la explicación en detalle del funcionamiento del Cardboard así como el desarrollo de aplicaciones tanto para Android como Html5 con frameworks webGL como Three.js.

En la página de desarrollo de google hay un tutorial de desarrollo para la Cardboard con la demostración del juego Treasure Hunt disponible en GitHub.

Durovis Dive

En mayo de 2013 Stefan Welker presentó la Durovis OpenDive, un headset de realidad virtual creado desde una impresora 3D para acoplarle un smarthphone. Adaptó el juego de Quake 2 a partir del port para Android para que detectase de los movimientos de la cabeza del jugador utilizando los sensores del smarthphone.

Actualmente se puede adquirir una versión comercial, el headset de RV Durovis Dive por unos 60€ en la página oficial de la compañía. También tiene disponible un plugin para Unity3D compatible con Android y iOS, además del código fuente del port de Quake 2 adaptado y los drivers para jugar con un mando por Bluetooth. También han publicado una lista de smarthphones compatibles, Android y iOS, una lista de juegos con soporte para el headset de RV y la sala de juegos Dive Launcher para Android.

Actualización (19/07/2014): El proyecto de ejemplo para el cardboard, Treasure Hunter, es un proyecto de Gradle. Para compilarlo se puede utilizar Android Studio, adaptando el proyecto a Eclipse con el plugin Grandle IDE.

Desde un terminal se puede compilar ejecutando desde el directorio del proyecto Cardboard el script ./gradlew.

Requiere tener configurada la variable de entorno ANDROID_HOME apuntando a la ruta donde está el SDK, requiere la librería support-v4.jar la cual ya está en el SDK incluído en Android Studio en la ruta sdk/extras/android/m2repository.

Con ./grandlew se compila el proyecto.

Ejecutando ./grandlew desde una terminal GNU/Linux.
El proyecto está configurado para compilar en la versión SDK Android 19.0.3. Será necesarios instalarlo desde el Android SDK Manager en sdk/tools/android. En la sección de paquetes seleccionar e instalar Android SDK Build-tools 19.0.3.

Para indicar que utiliza support-v4 19, editar el fichero de configuración de Gradle CardboardSample/build.gradle y cambiar la línea de dependencias compile 'com.android.support:support-v4:+' por compile 'com.android.support:support-v4:19.0.1'.

Con ./gradlew assembleRelease se empaqueta el apk.

Compilando con ./gradlew assembleRelease desde terminal de GNU/Linux.
 El apk se encuentra en la ruta cardboar/CardboardSample/build/apk/CardboardSample-release-unsigned.apk.

En el blog de Alexander Lin hay un tutorial de como integrar el proyecto y ejecutarlo con Android Studio.

No hay comentarios:

Publicar un comentario

Nota: solo los miembros de este blog pueden publicar comentarios.