Buscar en Unity

Creación de aplicaciones AR en Unity: los consejos y recursos más recientes

Última actualización: noviembre de 2018

Con AR Foundation y la arquitectura de software que utiliza, los desarrolladores de Unity ahora tienen una API común compatible con la funcionalidad básica de ARCore, ARKit y las plataformas que existan en el futuro. Tanto ARCore como ARKit ofrecen una combinación de funciones exclusivas para la plataforma y funciones comunes. Con AR Foundation y los SDK específicos para cada plataforma, tendrás todo lo que necesitas en Unity para crear contenido de AR, así como una colección en constante crecimiento de recursos detallados de aprendizaje.

ARCore

ARCore es el complemento desarrollado y mantenido por Google. Puedes descargar el SDK de Unity para este complemento aquí. ARCore se integra directamente en el motor al marcar la casilla que aparece en la configuración de XR, y es compatible con las versiones 2017.1 y posteriores.

Wizard of Oz

Asistente de ARCore de la aplicación Oz, de Google

El SDK de ARCore ofrece una escena de muestra de HelloAR que incluye diferentes funciones, como Augmented Images (imágenes aumentadas), Cloud Anchors (anclajes de nube) y visión computarizada. Otras características únicas de ARCore son Feature Points (puntos de características) y Instant Preview (vista previa instantánea).

HelloAR está preconfigurado para encontrar los planos horizontales y verticales. Incluye un prefab de Andy the Android que aparece cada vez que el usuario toca la escena, pero puedes reemplazarlo fácilmente con tus propios modelos 3D. Uno de los puntos a tener en cuenta al agregar elementos a la escena de HelloAR es que ARCore administra sus sesiones como assets a los que se pueden agregar scripts. Por lo tanto, si intentas utilizar ciertas funciones en ARCore, debes asegurarte de utilizar los datos de la sesión adecuada y haber configurado tu sesión mediante ese elemento.

La base de datos Augmented Images es un ejemplo de un asset al que se pueden agregar scripts, el cual puedes asignar específicamente en tu sesión. Augmented Images te permite seleccionar varias imágenes dentro de tu proyecto, hacer clic derecho en ellas y crear un submenú dentro del menú Create. Después, agrupa todas esas imágenes en un solo asset al que se pueden agregar scripts, y asigna una puntuación a las imágenes según la facilidad con la que la visión computarizada puede reconocer y hacer un seguimiento de esos objetos (se recomienda una puntuación de 85 o superior).

ARKit

A diferencia de ARCore, este SDK está desarrollado y mantenido por Unity. Funciona con las versiones 2017.1 y posteriores, y en los dispositivos Apple con iOS 11.3 o posterior. Puedes obtenerlo aquí. Las escenas de muestra incluidas en el SDK cuentan con todas las características clave de ARKit, como Focus Square, Shadows and Occlusion, Image Anchor, Plane Mesh, Relocalize y Face Tracking. Otras características únicas de ARKit son Environment Probes, World Maps y Trackable Images. Puedes obtener más información acerca de ellas en Documentos de ARKit.

AR Foundation

AR Foundation es nuestra solución que ofrece la funcionalidad básica de ARKit y ARCore en una API común dentro de Unity. Actualmente, solo abarca algunas de las funciones esenciales. Si quieres utilizar otras funciones específicas para cada plataforma, como Environment Probes en ARKit o Instant Preview en ARCore, esas funciones solo están disponibles por medio de los SDK específicos. Sin embargo, se agregarán nuevas funciones a AR Foundation de manera continua. Por ahora, es compatible con diferentes características, como Vertical/Horizontal Plane Detection, Light Estimation, Feature Points, AR Scaling y AR Anchors.

AR Foundation está disponible en las versiones 2018.1 y posteriores, y lo puedes instalar por medio de Package Manager.

Dan Miller, promotor de XR de Unity, muestra cómo instalar AR Foundation paso a paso, en el minuto 17:30 de su sesión en Unite.

GNOG

GNOG, de KO_OP, creado con ARKit

El problema de escala en AR y cómo resolverlo

Es riesgoso reducir los assets reales en tu contenido de AR. Por ejemplo, si tienes Physics en un objeto del juego, el comportamiento de Physics cambiará y posiblemente se hará inestable si reduces las cosas; no funcionará bien en los niveles complejos. Además, algunos sistemas de Unity efectivamente no pueden modificarse una vez que se han bakeado, como malla de navegación, terreno, mapas de luz o sistemas de partículas.

vista previa de table city

En cambio, puedes emplear algunos trucos útiles de la cámara para dar a tus assets la apariencia de que se han reducido en escala. Puedes reducir la escala de la posición de una cámara o utilizar varias cámaras para crear el efecto del cambio de escala. Para entender mejor este método, lee esta entrada en el blog por Rick Johnson, ingeniero de Unity. También puedes ver una demostración de estos consejos de escalamiento a partir del minuto 42:05 de la conferencia de Jimmy y Tim.

Un par de consejos adicionales: los puntos de características desaparecen si el usuario mantiene inmóvil el dispositivo durante mucho tiempo. Si el dispositivo solo ve una imagen de la cámara desde una orientación, le es muy difícil percibir el mundo, de manera que la aplicación requiere de movimiento, para mirar a su alrededor y realmente empezar a registrar las características.

desarrollo en unity dots

Necesitas proporcionar indicaciones visuales o de audio de manera que el usuario mueva el dispositivo alrededor lo suficiente para que registre los puntos de características. Selecciona cuidadosamente dónde vas a desplegar las indicaciones visuales; por ejemplo, un punto focal donde aparecen instrucciones o guías.

Proporciona indicaciones para indicarles que la acción o el gameplay debe tener lugar a pocos pies de distancia de donde se encuentran. Además, que la iluminación en los alrededores no debe ser demasiado oscura o brillante, ya que ambas condiciones causan que la información se oculte de las cámaras. Debe existir un equilibrio de luz y sombra para que las cámaras puedan registrar los bordes de las superficies.

Mantén la UI de tu aplicación de AR simple, ordenada y flexible. No abrumes al usuario con demasiados textos, elementos de la UI, personajes, explosiones, etc. Trata de mantener la acción y los elementos de tu UI contenidos en una ubicación principal.

Finalmente, dales algunas opciones para adaptarse a algunos factores incontrolables, como personas que se mueven inesperadamente hacia el espacio en el que se ejecuta la aplicación. Por ejemplo, ofrece al jugador algunos dispositivos que le permitan mover el contenido, de manera que puedan elegir en qué área o superficie jugar.

7 de los mejores conjuntos de herramientas que querrás utilizar cuando desarrolles contenido de AR

Conjunto de herramientas de AR con Vuforia: el conjunto de herramientas de AR de Vuforia, que está disponible en las versiones 2017.2 y posteriores, se puede utilizar junto con ARCore, ARKit y Microsoft Hololens para obtener funciones adicionales para el contenido de AR.

Vuforia

Función de objetivos de imagen de Vuforia

Facial AR Remote: Facial AR Remote es una opción que utiliza pocos recursos y permite capturar el rendimiento mediante un dispositivo conectado directamente en el Editor de Unity. Es muy útil para el la creación de animaciones, así como para el modelado y rigging de personajes y formas combinadas, lo que crea una opción agilizada para crear tus propias interacciones de tipo animoji o memoji en Unity. Esto les permite a los desarrolladores iterar sobre el modelo en el Editor sin tener que enviar la compilación al dispositivo, lo que elimina varios pasos que toman mucho tiempo en el proceso. Para obtener más información, consulta los documentos.

Unity ARKit Remote: esta función se puede utilizar con el complemento ARKit de Unity. Unity ARKit Remote te permite ejecutar una aplicación especial en el dispositivo iOS que envía los datos de ARKit de regreso al Editor de Unity, con lo que puedes responder a esos datos en tiempo real.

Unity UI: Deberás ser creativo con la UI de tu juego o aplicación de AR, incluyendo a Unity UI como uno de los conjuntos de herramientas fundamentales que utilizarás. Hay una gran cantidad de consejos disponibles para que utilices Unity UI de una manera eficiente, entre los que se incluyen los siguientes:

Documentos de la UI de Unity

Algunos de los mejores consejos para la optimización de la UI de Unity

Las mejores prácticas: Optimización de la UI de Unity

UI Profiler

Text Mesh Pro: Text Mesh Pro es una herramienta muy útil que, al utilizarla en conjunto con Unity UI, te ofrece una mayor flexibilidad para crear interfaces de usuario (UI) complejas y dinámicas. Está disponible de manera gratuita en la Asset Store.

TextMesh Pro utiliza técnicas avanzadas de renderización de texto, junto con un conjunto de shaders personalizados; proporciona mejoras sustanciales en la calidad visual y, al mismo tiempo, brinda a los usuarios una flexibilidad increíble para crear estilos y texturas de texto.

Text Mesh Pro

Timeline: Timeline es un secuenciador multipista completo integrado de forma nativa en Unity. Esta herramienta te permite controlar cada elemento para crear escenas y secuencias cinemáticas sin necesidad de escribir código complejo. Puedes secuenciar clips de animación, frames clave, audio y más. Aquí tienes una descripción general muy útil de los recursos de aprendizaje más recientes para Timeline.

Timeline: secuenciador multipista

Particle Systems: Unity ofrece una lista extensa de módulos para crear un una enorme variedad de sistemas de partículas. Puedes comenzar con esta descripción general de las características más recientes de Particle Systems. Los documentos relacionados con Particle Systems se encuentran aquí.

Analytics: Unity Analytics no solo es útil cuando publicas tu juego: también lo puedes utilizar, por ejemplo, al hacer pruebas, para conocer la manera en que los jugadores experimentan y entienden la interfaz de usuario (UI) de tu aplicación. Leer más acerca del uso de Analytics antes, durante y después de tu lanzamiento.

No lo sobrecalientes: Consejos para la optimización para AR

Las aplicaciones de AR demandan mucho de su hardware: Varias cámaras que trabajen en forma simultánea, capacidades de detección profunda, algoritmos de alta intensidad computacional; al mismo tiempo, en gran medida, se trata de un medio móvil y manual, de manera que necesitas hacer una cantidad considerable de optimizaciones de la ejecución, incluido el manejo de memoria, procesamiento y control del área física de la experiencia.

Aquí son tres consejos de optimización que te ayudarán a controlar la temperatura en tus aplicaciones de AR.

Mas recursos

¡Debemos saberlo! ¿Te gustó este contenido?

Sí. Que sigan llegando Me da igual. Podría ser mejor