Desarrollo de una experiencia de realidad aumentada en EasyAR con modelos 3D predefinidos.
Objetivo
Desarrollar una aplicación de realidad aumentada usando el plugin EasyAR en la plataforma de modelado 3D Unity.
Marco Teórico
Realidad Aumentada
La realidad virtual es una tecnología que permite superponer objetos virtuales en la realidad. Estos objetos son percibidos únicamente a través de dispositivos especiales que permite que tales objetos sean percibidos por los seres humanos como si fueran reales o hicieran parte de la realidad. Actualmente se trabaja en el desarrollo de herramientas que implementen esta herramienta para el desarrollo de actividades industriales y empresariales, tales como capacitaciones o presentación de prototipos en desarrollo. (Iberdrola,2021; Neosentec, 2020)
Unity
Es un motor de desarrollo de videojuegos, el cual también es usado para la creación de entornos de realidad virtual en proyectos de arquitectura, diseño y animación. Este software viene integrado con motores de renderización de imágenes, motores de edición audio, motores de animación(IPF,SF; Quality Devs, 2020).
EasyAR
Es una plataforma desarrollada para la construcción de ambientes de realidad aumentada de origen chino. Esta herramienta tiene funcionalidades como el rastreo de imágenes planas, las cuales se pueden usar de referencia para colocar objetos superponer modelos 3d sobre la imagen; seguimiento de superficies que permite permite detectar los objetos que se encuentran sobre ella; rastreo de objetos 3d, aquí es lo mismo que con los marcadores, solo que aquí ya no se toma de referencia una imagen plana sino un objeto (EasyAR,SF; Vargas, 2020).
Desarrollo
Para arrancar es necesario tener el plugin de easyAR integrado en Unity, para hacer esto le recomendamos seguir el siguiente video en donde se explica como integrarlo. En la carpeta de prefabs buscamos la carpeta ImageTracker y la arrastramos en la jerarquía del proyecto. Esta carpeta contiene todas las funcionalidades necesarias para hacer el rastreo de las imágenes que vayamos a usar como marcador, se usa una sola carpeta ImageTracker por proyecto.
Luego buscamos una carpeta que dice imagetarget y la arrastramos también en la jerarquía. Este image target se usa para guardar la imagen de referencia que se va a utilizar como marcador. A diferencia del ImageTracker, se pueden crear varias ImageTarget ya que en un ambiente de realidad aumentada pueden haber varios marcadores al mismo tiempo.
Para el marcador tomamos primero creamos en la carpeta Assets una carpeta que se llame StreamingAssets, la cual será la que contenga todas las imágenes de referencia, marcadores, que vayamos a usar en la aplicación.
Luego descargamos o creamos una imagen, preferentemente en formato png, la colocamos en la carpeta StreamingAssets. Esta carpeta se encargará de guardar todos los objetos que se usarán como referencia o marcadores. Es preferible usar una imagen de alto contraste entre los colores, esto con el fin de que la cámara pueda detectar con mayor facilidad.
Finalmente, damos click en la carpeta ImageTarget y nos dirigimos a inspector. En la parte baja de la ventana colocamos el nombre del archivo con su extensión. La imagen debe aparecer en la pantalla.
Dando click en la imagen, nos vamos dónde dicen las propiedades y la rotamos 90 grados en x para que quede acostada.
Ahora nos dirigimos a SketchFab, y descargamos un modelo 3D en formato fbx, de prueba vamos a descargar un modelo de un ninja y un modelo de un tigre. Se descargará un zip, lo descomprimimos y nos vamos a una carpeta llamada fuentes, source, ahí estará nuestro fbx.
Lo llevamos a la carpeta assets y lo arrastramos dentro de la carpeta ImageTarget de la jerarquía.
Como estamos usando dos modelos, el paso será el mismo que en el primero. Vale aclarar que el modelo hay que acomodarlo ya que por defecto no siempre sale derecho. Para hacer esto se señalan dos botones para el esto, el que esta en el circulo azul es para mover el modelo y el que está en el circulo amarillo se usa para rotarlo.
Ahora vamos a cambiar el fondo de la imagen, a los siguientes parámetros:
Para verificar que haya quedado bien, oprimimos en la pestaña de Game y nos debe salir algo como lo siguiente:
Aquí vamos a acomodar la cámara del escenario para que proyecte nuestro modelo 3d forma perpendicular.
Después de esto ejecutamos el proyecto y colocamos el marcador frente a la cámara.
Conclusiones
- EasyAR es una herramienta intuitiva al momento de querer empezar en el mundo de la realidad aumentada.
- La posición de la cámara puede afectar como se proyecta nuestro modelo 3D sobre el marcador.
- En caso de que el fondo del AR no se modifique la cámara no podrá detectar el marcador.
Autor: Sergio Andrés Trujillo Prada, Juan Pablo Bustos Torres
Editor: Carlos Iván Pinzón Romero
Código: UCRV-2021-2
Universidad: Universidad Central
Fuentes
- Quality Devs (2020). ¿Qué es y para qué sirve?.Quality Devs.https://www.qualitydevs.com/2020/06/02/unity-que-es/
- Instituto de Formación Profesional,IPF. (SF). ¿Qué es Unity y para qué puedo utilizarlo?.IPF.https://www.ifp.es/blog/que-es-unity-y-para-que-puedo-utilizarlo
- IBERDROLA. (2021). Realidad Aumentada: el mundo real con otros ojos. iberdrola.com .https://www.iberdrola.com/innovacion/que-es-realidad-aumentada
- NEOSENTEC. (2020). Qué es la Realidad Aumentada.NEOSENTEC.https://www.neosentec.com/realidad-aumentada/
- Vargas, E (2020). EasyAR Tutorial: Image Target (competencia vuforia). EMILIUSVGS. https://emiliusvgs.com/easyar-tutorial-image-target-vuforia/
- EasyAR. (SF). Getting Started with EasyAR SDK. EasyAR. https://help.easyar.com/EasyAR%20Sense/v1/Getting%20Started/Getting-Started-with-EasyAR.html