Realidad Aumentada con Unity y Vuforia

Realidad Aumentada con Unity y Vuforia

La realidad aumentada, es el sistema que nos permite llevar la ficción generada por un ordenador, usando gafas, lentes especiales, o como en nuestro caso, la cámara del teléfono, viendo así gráficos 3D proyectados al más puro estilo holográfico sobre los objetos rales de nuestro entorno. En este post aprenderemos a crear una aplicación de Realidad Aumentada (RA) para móvil con Unity y Vuforia.

Al instalar Unity, tenemos que realizar un paso crucial para poder exportar como apk. Dentro de Unity Hub debemos seleccionar en nuestra versión de Unity, Installs/Add Modules/Android Build Support.

Menú InstallsMódulos a agregar

Con Unity configurado, ya podemos crear nuestro proyecto. Necesitaremos cambiar la plataforma de exportación, ya que por defecto nos aparece para PC. Para hacer esto iremos a File/Build Settings/Android/Switch Platform.

Una vez instalado Unity necesitamos añadir el paquete de Vuforia. Vuforia es un kit de desarrollo de software (SDK) de realidad aumentada para dispositivos móviles que permite la creación de aplicaciones de realidad aumentada.

Utiliza tecnología para reconocer y rastrear imágenes planas y objetos 3D en tiempo real. Esta capacidad de registro de imágenes nos permite colocar y orientar objetos virtuales, como modelos 3D y otros medios, en relación con los objetos del mundo real, cuando se ven a través de la cámara de un dispositivo móvil. Para implementar el paquete tenemos dos opciones:

  • Instalarlo a partir del package managment (Window/PackageManager/)
  • Descargarlo en la página principal de Vuforia (recomendada, ya que contiene la versión más actualizada)

 

UnityPackage Vuforia

Una vez descargado el paquete solo debemos darle doble clic con el proyecto de Unity abierto, para importar todo el contenido. Con Vuforia ya presente en nuestro proyecto, podemos generar los elementos del paquete, en este caso queremos añadir una ARCamera que sustituiremos con la que ya teníamos por defecto.

Crear ARCamera

Si seleccionamos esta nueva cámara veremos un componente distinto que no contiene nuestra cámara predeterminada, Open Vuforia Configuration.

Menú Componentes de ARCamera

Al abrir esta configuración nos va a pedir 2 cosas:

  • Nuestra Licencia de Vuforia
  • Y la base de datos que queremos importar

Para obtener nuestra licencia, debemos crearnos un usuario en la página web de Vuforia, y nos dirigiremos a Develop, donde aparecerán dos apartados: License Manager y Target Manager, justo lo que necesitamos. Vamos a crear primero nuestra licencia, dándole clic a Get Development Key. Una vez ya creada, esta licencia será la que debemos copiar directamente a nuestra ARCamera.

LicenciaDesarrollo

Ahora pasaríamos al apartado de Target Manager, donde añadiremos nuestra tarjeta reconocible para nuestra cámara. Pulsamos en Add Database, le pondremos un nombre y en nuestro caso marcaremos Type: Device. Con esto le decimos que el target estará alojado en nuestro dispositivo, Cloud consulta la imagen por internet y VuMark, marcas registradas.

Creación Base de datos

Ya tenemos nuestra base de datos creada, así que debemos añadir nuestra tarjeta, pulsando en Add Target, nos saldrán varios tipos, en nuestro caso usaremos Single-Image, pero también se pueden usar objetos 3D reales.  Debemos tener cuidado con el ancho, ya que Vuforia usa los metros como unidad por defecto.

Añadir tarjeta

Una vez añadida nuestra imagen, podemos asegurarnos de que nuestra tarjeta será fácilmente reconocible por nuestra cámara. Vuforia usa un sistema de detección de vértices para identificar la imagen, estos los podemos visualizar al pulsar dentro de Tarjeta/Show Features, y nos representará también la facilidad de reconocimiento, mediante estrellas.

Inspección tarjeta

A continuación, debemos descargar esta base de datos en Download Database, y escogeremos la opción de Unity Editor.

Descarga de la Base de datos

Volvemos a Unity e importamos la Base de datos haciendo doble clic como hicimos anteriormente con el paquete de Vuforia. En este punto nuestro proyecto ya tiene todo lo que necesitamos para funcionar, la base de datos y la licencia.

Vamos a generar una Image Target que va a ser la tarjeta que tenemos en nuestra base de datos.

Crear Tarjeta con Unity

Seleccionaremos que nos importe la tarjeta de nuestra base de datos, y la marcaremos más abajo:

Opciones de la tarjeta

AHORA… SOLO QUEDA HACER TODO EL PROYECTO, para implementar los assets (objetos), los debemos colocar como hijos de la tarjeta, de esta forma al apuntar con la cámara aparecerán activando el renderizado, y cuando dejemos de apuntar desaparecerán.

Muestra de la Jerarquía en UnityEjemplo Real

Dentro de las opciones de la ARCamera, veremos un apartado Track device pose, por defecto está activado, esto hará que nuestra cámara sea más flexible al detectar nuestra tarjeta. Si lo desactivamos, solo aparecerán los objetos si la cámara tiene una clara detección de la imagen, y en muchos casos es recomendable para el funcionamiento fluido de la apk.

Con estos sencillos pasos ya habremos creado nuestra primera apk con Realidad Aumentada, para exportarla, simplemente iremos a File/Build Settings/Build.

¡Espero que os haya sido de utilidad!

4Comentarios

  • Juan Luis
    02/12/2020

    Artículo muy completo. Gracias por la explicación

  • Soraya
    02/12/2020

    Muy interesante. Una explicación muy clara y fácil de entender.

Escribe un comentario