Vuforia: el brazo derecho de Unity para la realidad aumentada

Vuforia

En una entrada anterior del blog ya hemos tratado la realidad aumentada. En aquella ocasión trabajamos con el entorno de A-Frame y su módulo para AR. En esta ocasión usaremos Vuforia, un kit de desarrollo para realiad aumentada en Unity. Cabe decir que Vuforia es un software gratuito para el desarrollo, pero que incluye planes de pago si quieres comercializar la app que crees.

Hay varias posibilidades para usar Vuforia, entre las que podemos encontrar:

  • Reconocimiento de targets: busca imágenes específicas como objetivos para usarlos como punto de referencia del entorno 3D generado.
  • Reconocimiento del terreno: permite escanear el ambiente e interpretar el mundo para crear una visión 3D del mundo real y sus objetos.


Cómo usar Vuforia

Desde el sitio de desarrollador de Vuforia y tras habernos registrado, podemos acceder al Target Manager, que ayuda a gestionar todos los targets de nuestra aplicación. Primer necesitamos crear una base de datos para guardarlos, subir el archivo que corresponde a un target y procesarlo. Una vez cargados, cada elemento recibe un identificador y una puntuación de hasta 5 estrellas según lo reconocible que sea. Recomiendo que al menos tenga 4 estrellas para un funcionamiento decente. Tras esto, los marcadores se quedan en la base de datos, estando disponibles para su descarga o su implementación en Unity, accediendo a ellos mediante una licencia exclusiva de cada base de datos.

En mi caso el marcador que cargo es una imagen bidimensional en blanco y negro, pero se admiten incluso objetos tridimensinales. El marcador que he usado es el siguiente:

Diferentes posibilidades para establecer nuestros marcadores en Vuforia

La principal vinculación que haremos con Vuforia serán Apps para smartphone, pues son aquellos dispositivos que más se prestan a ello y para los que Vuforia está especializado. Además, dado que la cámara de los ordenadores suele ser de baja calidad o hay incluso quien no tiene, generaremos al final un archivo .apk disponible para su descarga y prueba en cualquier dispositivo Android. Para su vinculación con dispositivos Android es necesario contar con un entorno de desarrollo como Android Studio o, en su defecto, instalar el SDK de Android como módulo de Unity.



Pasos para crear una app de AR

  1. Una vez tenemos los módulos instalados, abrimos Unity y cambiamos el espacio de trabajo para desarrollar en la plataforma del androide.
  2. Insertamos una cámara AR y la configuramos introduciendo el código de licencia obtenido en el Target Manager.
  3. Cargamos el marcador que queramos.
  4. Descargamos un modelo 3D desde la Asset Store y lo introducimos en el espacio de trabajo.
  5. Colocamos la imagen marcador como hijo (subnivel) del elemento Cámara AR y a su vez el modelo 3D como hijo del marcador.
  6. Probamos si funciona y, en caso positivo, lo exportamos como una aplicación.

Debo decir que yo he tenido bastantes problemas para crear el archivo .apk porque Unity no encontraba la ruta del SDK de Android. Por eso, tuve que descargarme Android Studio para localizar el SDK y enlazarlo manualmente a la hora de construir la app. En una futura entrada explicaré el proceso por si alguien tien dudas al respecto.

Ya que la práctica no requería de mucho desempeño técnico, al menos intenté hacerla más llamativa introduciendo modelos animados. Debo decir que los movimientos están muy bien descritos y se podrían usar en muchos juegos modificando las geometrías del cuerpo. Dejo el enlace a los assets (gratuitos) usados aquí.



Resultado final

Dado que el modelo usado para cargarse en la App está animado, no tendría sentido tomar una captura de pantalla. Por lo tanto, aquí inserto un vídeo para que podáis ver la aplicación funcionando a tiempo real. Dejo también el archivo de la aplicación para que podáis probarlo. Descárgalo pulsando aquí ->







Y en la chorrada del día...

Estaba yo tan tranquilo navegando por twitter y me encuentro esta maravilla. Quien diga que los perros son inteligentes es porque no ha tratado aún con este gato.

Comentarios