Pokémon GO Style Realidad Aumentada Con Vuforia

1. Introducción

Gracias al gran éxito de Pokémon GO, la realidad aumentada (AR) está recibiendo mucha atención en el mundo del desarrollo móvil. La idea de realidad aumentada no es nueva, pero solo ahora la tecnología se está acercando a la madurez y la viabilidad comercial. Pero ¿qué es exactamente la realidad aumentada??

Este es un concepto muy amplio que puede tomar muchas formas diferentes. La idea se puede aplicar al entretenimiento, la ciencia, el ejército, la educación, lo que sea. Sin embargo, lo que todas estas aplicaciones tienen en común es una conexión en tiempo real entre el mundo físico y el digital..  

Una vista en vivo, directa o indirecta, de un entorno físico del mundo real, cuyos elementos son aumentados (o complementados) por entradas sensoriales generadas por computadora, como sonido, video, gráficos o datos de GPS. - Wikipedia

Concretamente, AR se realiza a menudo en experiencias interactivas que se superponen a la alimentación de una cámara con objetos 2D o 3D, informados por algunos datos del sensor.. 

Sin embargo, crear una experiencia de realidad aumentada atractiva desde cero puede ser un verdadero desafío. Afortunadamente, hay algunas soluciones disponibles que pueden facilitar este trabajo. Una de las herramientas de realidad aumentada más sólidas que existen es Vuforia, una biblioteca AR que es compatible con Android, iOS, UWP y algunas marcas de gafas inteligentes.. 

En este tutorial exploraremos la realidad aumentada usando Vuforia. Exploraremos las características, posibilidades y desafíos de Vuforia, y también analizaremos cómo funciona el SDK y sus funciones principales. No exploraremos ningún código en este tutorial. Los futuros tutoriales de esta serie profundizarán en la codificación en Vuforia, con guías paso a paso que se enfocan en todas las características principales de la biblioteca..

Si desea profundizar, ¿por qué no aprender sobre uno de los conceptos más fundamentales de AR, los marcadores, en nuestro breve curso?

2. Vuforia

Originalmente desarrollado por Qualcomm y recientemente comprado por PTC, Vuforia se encuentra en su sexta versión. Su SDK está en constante evolución y es compatible con Android, iOS, UWP y Unity. Desafortunadamente, Vuforia no es de código abierto, pero su rango de precios es razonable y no hay costos iniciales para el desarrollo o la educación. Puede crear casi cualquier tipo de experiencia AR en las plataformas móviles más populares usando Vuforia. 

2.1. Como funciona?

Vuforia utiliza la alimentación de la cámara del dispositivo combinada con los datos del acelerómetro y el giroscopio para examinar el mundo. Vuforia utiliza la visión artificial para comprender lo que "ve" en la cámara para crear un modelo del entorno. Después de procesar los datos, el sistema puede ubicarse más o menos en el mundo, conociendo sus coordenadas: dónde está arriba, abajo, izquierda, derecha y así sucesivamente. Lo que hagas con esto dependerá de tus objetivos de desarrollo..

Hay múltiples posibilidades:

  • Usando coordenadas mundiales: Se puede exhibir cualquier tipo de objeto usando alguna referencia arbitraria, ignorando obstáculos reales pero considerando la localización mundial obtenida. El objeto puede estar fuera de la vista y continuar "existiendo" en la misma posición. Este es un sistema similar al utilizado por Pokémon GO.
  • Reconociendo objetivos: Vuforia puede buscar imágenes específicas como "objetivos". VuMarks, por ejemplo, una imagen de estilo de código QR altamente reconocible por el sistema, puede usarse como puntos de anclaje o referencias para cualquier tipo de objeto proyectado en el mundo. Una revista podría ser 'expandida' con este recurso, con sus páginas abriendo interacciones ricas como videos, audio, etc..
  • Reconociendo objetos simples.: Los objetos simples como cajas y cilindros se pueden reconocer y utilizar como puntos de anclaje. Este método es útil para reconocer paquetes y hacerlos interactivos..
  • Reconociendo objetos complejos.: Vuforia también puede buscar objetos complejos, como juguetes, partes de computadoras, aparatos, etc. Esos objetos se escanearon previamente, de acuerdo con requisitos específicos, y luego el sistema los puede reconocer. Esta funcionalidad podría usarse, por ejemplo, para convertir juguetes en criaturas vivas, o para crear asistencia interactiva para mecánicos o personal de servicio..
  • Buscando palabras: Las palabras en inglés también pueden ser entendidas por Vuforia. El sistema puede buscar palabras específicas y apuntar a algún tipo de interacción en ellas. Esto podría ser útil para herramientas de aprendizaje para niños o para la traducción de idiomas..
  • Reconociendo el terreno del mundo.: Una de las características más poderosas disponibles en Vuforia es la capacidad de reconocer el mundo tal como es. Vuforia le permite al usuario escanear sus alrededores y puede hacer un procesamiento incondicional para interpretar el mundo creando una visión de computadora en 3D del mundo real y sus objetos. Imagina un juego tipo Pokémon GO donde los Pokémons pueden esconderse detrás de objetos reales. ¿No sería eso increíble??

2.2. Desarrollando Con Vuforia

Vuforia es compatible con múltiples sistemas. Sus kits de desarrollo de software (SDK) están disponibles para Android, iOS, UWP y Unity. Una vez que descargue e instale el SDK, deberá registrarse para obtener una cuenta de desarrollador y crear una clave de aplicación antes de poder comenzar a codificar..

Aunque Vuforia es compatible con muchos sistemas, la forma más fácil de crear experiencias atractivas de AR utilizando su SDK es definitivamente usar Unity. No me malinterpretes, puedes acceder a casi todo lo que Vuforia ofrece al desarrollar directamente para Android o iOS. Sin embargo, el proceso es mucho más sencillo cuando se hace con los prefabs que se ofrecen en el SDK de Vuforia para Unity..

3. Objetivos Vuforia

Como se mencionó anteriormente, Vuforia puede buscar "objetivos" en la alimentación de la cámara para crear puntos de anclaje o referencias para ser utilizadas por las experiencias AR. Esos objetivos pueden asumir muchas formas, y cualquier archivo que haya sido procesado previamente por Vuforia target manager puede ser reconocido. Los objetivos pueden ser creados por el desarrollador o creados durante la ejecución por el usuario.

3.1

3.1. Objetivos de imagen

Cualquier tipo de imagen puede ser un objetivo de imagen Vuforia. Sin embargo, cuanto más detallada e intrincada sea la imagen, mejor será reconocida por el algoritmo. Muchos factores formarán parte del cálculo de reconocimiento, pero básicamente la imagen debe tener un nivel razonable de contraste, resolución y elementos distintivos. Una fotografía del cielo azul no funcionaría muy bien, pero una foto de un poco de hierba funcionaría con gracia. Los objetivos de imagen se pueden enviar con la aplicación, crearlos más tarde y cargarlos a través de un sistema en la nube, o el usuario los puede crear directamente en la aplicación..

3.2. VuMarks

Un VuMark funciona de manera muy similar a un código QR; Sin embargo, es mucho más versátil. Puede adoptar muchas formas y colores y adaptarse a una gran cantidad de entornos. Su mayor ventaja es que está en total conformidad con el algoritmo de reconocimiento de Vuforia y será fácilmente "encontrado" por cualquier aplicación Vuforia AR. Vuforia también ofrece un complemento Adobe Illustrator que crea VuMarks.

3.3. Objetivos de cilindro y cubo

También es posible utilizar cubos y cilindros como objetivos de imagen. Esto es muy apropiado para crear compromiso con los paquetes de productos. Una vez reconocido, el objeto primitivo se utiliza como punto de anclaje y parece existir para la visión informática del sistema, lo que permite que los objetos virtuales interactúen directamente con el primitivo. El objeto virtual podría rastrear la posición y orientación del objeto real, por ejemplo.

3.4. Objetos como blancos

Una de las características más interesantes de Vuforia es la posibilidad de reconocer objetos complejos. Un juguete, un teléfono, un tablero de computadora y otros tipos de objetos pueden ser usados ​​como objetivos.. 

Para usar este recurso, debe escanear el objeto con la herramienta Escáner de objetos Vuforia, que se ejecuta solo en Samsung Galaxy S6 y S7. El escaneo de datos se carga en Vuforia Target Manager, y el objeto escaneado será reconocido por cualquier dispositivo compatible que use esos datos..

3.5. Gestión de objetivos

Hay varias formas de crear un objetivo: 

  • La aplicación se puede enviar con una serie de objetivos integrados..
  • La aplicación puede recibir objetivos en línea a través del sistema en la nube que ofrece Vuforia..
  • Los propios usuarios pueden usar la cámara del dispositivo para crear un objetivo.. 

Como desarrollador, no tienes mucho control sobre cómo el usuario creará su objetivo; todo lo que puede hacer es proporcionar al usuario algunos consejos sobre cómo elegir una imagen adecuada como objetivo. Sin embargo, la situación es diferente para los objetivos procesados ​​con el Administrador de objetivos.

El portal de desarrolladores de Vuforia nos proporciona la herramienta Target Manager para ayudar a administrar los objetivos de todas nuestras aplicaciones. El administrador es muy simple de usar: crea una base de datos para contener los objetivos, carga un archivo que corresponde a un objetivo y espera a que se procese el archivo. El objetivo recibirá una ID única y una puntuación relacionada con lo reconocible que es y luego se convertirá en parte de la base de datos, disponible para descarga o para almacenamiento en la nube.. 

Hay tres tipos diferentes de bases de datos de destino:

  • Bases de datos de dispositivos Son bases de datos locales de imágenes u objetivos de objetos que se almacenan en el dispositivo del usuario..
  • Bases de datos VuMark Son bases de datos locales de VuMarks que se almacenan en el dispositivo del usuario..
  • Bases de datos en la nube son bases de datos de objetivos de imagen almacenados en línea y consultados a través de Internet.

4. Terreno inteligente

Al desarrollar una aplicación Vuforia en Unity, hay una opción realmente emocionante disponible, el Smart Terrain. Permite que una aplicación replique mallas 3D de objetos vistos por la cámara.. 

El proceso funciona como un tipo de escaneo, donde el usuario utiliza la cámara del dispositivo como un escáner 3D. A medida que la cámara escanea a través del entorno ambiental, la aplicación crea modelos en 3D de los objetos reconocidos, lo que le da la posibilidad de ajustar el escenario al mundo real, creando una experiencia sumamente atractiva..

5. Conclusión

Hay cientos de posibilidades para explorar con realidad aumentada, y estamos empezando a rascar su superficie. Muchos creen que la RA formará parte de nuestro futuro y que la usaremos día a día. Este es un campo que promete crecer mucho en los próximos años, y Vuforia nos brinda herramientas geniales para crear experiencias atractivas..

5.1 ¿Qué sigue?

En los siguientes tutoriales de esta serie, trabajaremos con algunas de las herramientas más importantes de Vuforia. Desarrollaremos una gran cantidad de pequeños experimentos para ilustrar las capacidades del SDK, y dado que Unity es el entorno más compatible con AR, todo se desarrollará en él. 

No será necesario ser un experto en Unity para seguir los tutoriales, ya que nuestro enfoque es el SDK de Vuforia. Le proporcionaré guías paso a paso que requieren una experiencia previa mínima con Unity..

Si quieres aprender un poco más sobre Unity mientras tanto, revisa algunos de nuestros otros tutoriales..

  • Crea un juego de tiros libres de baloncesto con Unity

    En este tutorial, crearás un juego de tiros libres de baloncesto en Unity. Aprenderás sobre modelos 3D, colisionadores de malla, materiales físicos, detección de colisiones, ...
    Carlos yanez
    Desarrollo móvil
  • Creando una ciudad 3D en Unity 5

    Bienvenido a nuestro tutorial de Unity donde crearemos una ciudad 3D en el motor de juego Unity 5. Puede utilizar este proyecto para su primera persona o tercera persona ...
    Sandra gerber
    Unity 3D
  • Entrada de texto para juegos con solo una cámara Intel RealSense

    En esta publicación, compartiré lo que he aprendido sobre las mejores (¡y las peores!) Formas de permitir que los jugadores ingresen texto solo con un gesto, y te muestre cómo configurar Intel ...
    Chris Skaggs
    Intel RealSense

Te veo pronto!