Realidad Mixta: Cómo crear una aplicación en dispositivos móviles con Unity

Móviles, Programación Comentarios desactivados en Realidad Mixta: Cómo crear una aplicación en dispositivos móviles con Unity

Hoy vamos a ahondar sobre una tecnología un poco desconocida pero muy interesante: La Realidad Mixta.

En la actualidad, la innovación tecnológica es la base del crecimiento personal y profesional en aplicaciones móviles, y debido a ello, múltiples desarrolladores y compañías tratan de exprimir al máximo sus conocimientos con el fín de sorprender al mundo.

Ahondando en la Realidad Mixta

¿Qué es la Realidad Mixta? ¿Como la logramos definir utilizando conceptos del día a día? La abreviada como MR, es decir, la Realidad Mixta es la unificación de las ya conocidas Realidad Aumentada (AR) y la Realidad Virtual (VR).

La AR concibe la superposición de objetos no existentes en el plano real utilizando un plano virtual.

La VR es la intrusión de un entorno tecnológico y virtual sobre nuestro campo de visión con el fin de presenciar una realidad diferente a la ya conocida e interactuar con ella a base de gestos y movimientos.

Al unificar ambas, lograremos un entorno virtual similar al que logra la VR unido a los elementos de la realidad y siendo superpuesto por elementos ficticios gracias a la Realidad Mixta.

Una vez acuñados los conceptos, comencemos en el mundo de la Mixed Reality con Unity3D.

Crear Realidad Mixta: Implementando Vuforia y VR en nuestro proyecto de Unity3D

Vuforia es aquel plugin con el cual podremos realizar una aplicación en Unity con AR, y por ende, es necesario para proceder a completar nuestro proyecto con Realidad Mixta.

Desde la salida de Unity 2017.2, Vuforia trabaja codo con codo implementando dentro del propio motor gráfico su sistema de VR, por lo que no requiere instalación manual a día de hoy. En este proyecto utilizaré la versión 2017.3.1.

Para comenzar, abriremos Unity y crearemos un nuevo proyecto 3D de cero en la ruta deseada.

Hacer Realidad Mixta con la aplicación Vuforia y el novedoso plugin Unity para conocer los primeros pasos en la creación de un proyecto 3D con RV

Para realizar este proyecto, deberemos escoger una plataforma móvil de desarrollo. No hay que preocuparse de cuál se escoja, ya que siempre se puede modificar la plataforma de objetivo y compilar sin ningún tipo de problemas tanto en iOS como en Android.

Para comenzar, escogeremos Android. Para poder cambiar de plataforma, navegaremos a File > Build Settings. Aquí seleccionaremos Android y después Switch Platform.

Para un proyecto de realidad mixta se necesita elegir una plataforma iOS o Android para su desarrollo en la aplicación Vuforia con la opción Switch Platform

Junto a Switch Platform, encontraremos Player Settings, donde configuraremos Vuforia.

Al seleccionarlo, nos abrirá el panel de configuración de la app. Seleccionando XR Settings, encontraremos Vuforia Augmented Reality y Virtual Reality Supported.

Ambos deberán estar seleccionados. Al seleccionar la opción de VR, se desplegará Virtual Reality SDKs, donde pinchando en “+”, añadiremos Cardboard y Vuforia.

La realidad mixta debe quedar configurada también al activar las opciones de Augmented Reality y de Virtual Reality Supported junto a Vuforia y Cardboard

Con estos simples pasos, hemos añadido VR y AR a nuestro proyecto. Aún así, tendremos que configurarlo para hacerlo funcionar correctamente y conseguir nuestro objetivo: crear una app de Realidad Mixta.

Configurando Vuforia

Para poder configurar el plugin deberemos entrar en https://developer.vuforia.com/ y registrarnos en caso de no estarlo. Después del registro, será necesario identificarse y comenzar a trabajar con las License Keys y los Targets.

Paso 1: Obteniendo License Key

Lo primero de todo será obtener una clave de licencia para poder utilizar su producto. Para esta demo, en License keys, seleccionaremos Get Development Key y crearemos una key para nuestro proyecto. Al crearla, podremos copiarla e introducir dicha clave en Unity, pero primero configuremos los Targets.

Paso 2: Obteniendo Targets

Los Targets son el objetivo visual que recogerá la cámara para poder mostrar un elemento en AR. Son su punto de referencia del mundo real para colocar su elemento virtual.

A más detallada sea la imagen, más fácil será encontrarla través del dispositivo. Por ejemplo, un código QR tiene mucha complejidad visual y es más fácil encontrarlo que un logo o una imagen en escala de grises.

Utilizaremos, por ejemplo, ésta imagen de un laberinto, fácil de reconocer por el dispositivo.

En la realidad mixta hay que crear una clave de licencia pulsando sobre Get Development Key y se deben configurar los targets preferiblemente con Código QR

Desde el portal Developer de Vuforia desde el cual obtuvimos la key, navegamos hasta Target Manager > Add Database. Las bases de datos de vuforia pueden estar alojadas en la nube o en el dispositivo. En este caso, decidiremos que se almacenen en el dispositivo. Introducimos el nombre del proyecto y seleccionamos como tipo de target Device.

Ahora añadiremos la imagen anterior como Target y descargaremos la información para añadirla a nuestro proyecto de Unity para crear la aplicación de Mixed Reality.

El Developer Portal, seleccionamos nuestra Database creada, y veremos la opción Add Targets. Los Targets pueden tener diferentes formas, pero utilizaremos Single Image. Añadimos nuestra imagen, seleccionamos el tamaño deseado y le damos un nombre.

En la mixed reality creada con Vuforia se usa el target Device, se añade la imagen como Target y utilizando siempre Single Image con un nombre y tamaño

Una vez añadido el Target, seleccionaremos Download Database (All). El archivo descargado tiene la extensión .unitypackage, por lo que, si tenemos el proyecto de Unity abierto, podemos abrir el fichero y se realizará una importación al proyecto de los ficheros descargados.

En realidad mixta al descargar el archivo con extensión .unitypackage se abre el archivo que es importado al proyecto en Download Database gracias a Unity

Una vez importado, ya podremos finalizar la configuración.

Paso 3. Añadir configuración previa al proyecto

Al haber importado Vuforia en nuestro Proyecto de Unity, han sido creado una serie de archivos. En la carpeta Assets / Resources encontraremos el archivo VuforiaConfiguration.asset, el cual incluye nueva información de configuración del plugin.

Al seleccionarlo en Unity, se mostrarán sus opciones, y allí encontraremos dónde pegar la clave de licencia anteriormente generada.

Además, perfeccionaremos la configuración para Realidad Mixta seleccionando en Camera Direction la opción CAMERA_BACK, y en Digital Eyewear > Device Type la opción Phone + Viewer, en Viewer Config  la opción Vuforia y en Viewer Type la opción Vuforia.

La sección Device Tracker contiene Track Device Pose, la cual marcaremos y dejaremos activa con la con la configuración predeterminada, excepto en Model Correction Mode, donde pondremos HEAD.

De esta forma, el plugin reconoce que utilizaremos el dispositivo sujeto como un dispositivo VR y además incluir la opción de que únicamente funcione con la cámara deseada.

También encontraremos una opción dentro de la sección Databases con nuestra Database previamente creada e importada. La seleccionamos, y aparecerá la opción Activate, que también marcaremos.

En realidad mixta con Unity se debe configurar previamente el proyecto con la configuración predeterminada excepto en Model Correction Mode que se pone Head

Finalizado este procedimiento, nos falta añadir el elemento a mostrar en la app.

Introduciendo el objeto a mostrar con el Target para crear Mixed Reality

Con el Target, buscábamos mostrar un elemento, pero, ¿Qué tipo de elemento? Realmente el que deseemos, ya sea 2D (como cualquier tipo de imagen y logo) como 3D (formatos .fbx y .obj).

Ambos son válidos, y en este proyecto utilizaremos un modelo 3D. Existen muchas páginas con acceso a modelados gratuitos de desarrollo, así que obtener uno no será problema.

En el directorio del proyecto de Unity, en la carpeta Assets, creemos una nueva llamada Models,  donde introduciremos los ficheros 3D para que Unity los importe, simplemente arrastrando dentro dichos archivos.

Dentro de Unity nos toca asociar Vuforia a esto obtenido. Comencemos por la escena. Una de las ventanas que muestra Unity es la Scene, nuestro mundo y espacio de trabajo, y Hierarchy es la jerarquía de objetos que se encuentra dentro de la escena.

Lo primero será borrar Main Camera desde la jerarquía haciendo click derecho sobre ella > Delete.

Después, siguiendo dentro de la jerarquía, faltará por añadir los elementos de Vuforia: Click derecho > Vuforia > AR Camera y Click Derecho > Vuforia > Camera Image > Camera Image Target. En su primer uso, Unity pedirá la importación de estas librerías, lo cual hará automáticamente.

En Realidad Mixta el objeto a mostrar en Unity se selecciona en la carpeta Models, es importante añadir Vuforia y sus elementos dentro de la jerarquía

Si seleccionamos TargetImage, en la ventana Inspector, observaremos sus propiedades, y las modificaremos a nuestro gusto. En este caso, en Image Type Behaviour > Type   seleccionamos Predefined, en Database nuestra base de datos y en Image Target nuestra imagen a mostrar. En la escena veremos un plano con nuestra imagen.

Para la Realidad Mixta realizada con Unity hay que poner en plano el objeto 3D seleccionándolo en la carpeta Models para modificar su escala y posición

Ahora nos queda poner el objeto en 3D dentro del plano. Desde Unity, entrando en la carpeta models, arrastramos el fichero del modelo 3D dentro de TargetImage (en la Jerarquía). Modificando su posición y escala lo dejaremos por encima de la imagen.

En la Mixed Reality realizada con Unity es necesario ponerle un nombre a la escena final al pulsar sobre File y después darle a Save Scene para guardarlo.

Ahora nos queda guardar la escena y preparar Unity para compilarlo. Para guardar la escena, simplemente entrando en File > Save Scene y guardándolo con un nombre.

Configurando APK para compilación en la generación de la app de MR.

Ahora es el turno de compilar el proyecto. Lo primero será asociar el SDK y JDK para Android en caso de no estar asociados, siempre en la última versión. Sus respectivos directorios se asignan en Edit > Preferences > External Tools.

Una vez completado ese paso, vamos a las Build Settings y a las PlayerSettings visitadas anteriormente (File > Build Settings > Player Settings).

En Build Settings añadiremos nuestra escena clickando sobre Add Open Scenes. De esta forma, nuestra escena será compilada en la APK.

En Player Settings navegamos a Resolution and Presentation > Orientation y seleccionamos Landscape Left.

Además en Other Settings > Identification se deberá poner el nombre deseado al paquete en cuestión, seleccionar API 19, y en Other Settings > Configuration desmarcar Android TV Compatibility.

En nuestro trabajo de Mixed Reality hay que compilar el proyecto para configurar el APK con SDK y JDK y visitar Player Settings

El proyecto ya está listo para compilar. Seleccionando Build Settings > Build se generará la APK.

Sólo hace falta instalar la app, abrirla y escanear con ella la imagen Target para comprobar que está todo correcto.

Ya estaría implementada la tecnología de Realidad Mixta en un proyecto de Unity. A partir de aquí solo falta hacer volar la imaginación y seguir ampliando el proyecto con lo deseado.

El proyecto de Realidad Mixta con Unity finaliza al compilar en la opción Build y generar la APK. Luego se instala la app y se comprueba la imagen Target

Author: ARATECH

USO DE COOKIES

Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies, pinche el enlace para mayor información.

ACEPTAR
Aviso de cookies