En la primera publicación de esta serie, hablamos sobre lo increíble que es Vuforia para crear experiencias de Realidad Aumentada, y ahora estamos listos para practicar estos conceptos en una aplicación real. En este tutorial, comenzaremos a jugar con Realidad Aumentada utilizando Vuforia en Unity 3D. Aprenderemos cómo configurar Vuforia y comenzar a desarrollar un juego AR desde cero, adoptando una lógica similar a la utilizada en Pokémon GO!
No será necesario tener experiencia previa en Unity o Vuforia para seguir este tutorial..
Si desea profundizar, ¿por qué no aprender sobre uno de los conceptos más fundamentales de AR, los marcadores, en nuestro breve curso?
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, etc..
Si no sabes de qué se trata Vuforia, mira la primera publicación de esta serie..
Este tutorial está dividido en dos partes. En este, veremos algunas de las particularidades de Vuforia en Unity 3D, aprenderemos cómo configurar el entorno y también comenzaremos a desarrollar un pequeño juego de AR llamado Shoot the Cubes. Prestaremos especial atención a la ARCamera Prefab, una de las partes más importantes de Vuforia en Unidad..
En la segunda parte, continuaremos desarrollando el juego Shoot the Cubes, agregando interactividad y haciéndolo más interesante. Esta sección no profundizará en las particularidades de Vuforia, ya que la idea será explorar algunas posibilidades que ofrece Unity para crear una experiencia atractiva de Realidad Aumentada..
Unity es un motor de juego popular y poderoso que es fácil de usar y puede compilar juegos para múltiples plataformas. Hay algunas ventajas en el uso de Unity para crear experiencias AR con Vuforia. Es posible apuntar a todos los sistemas compatibles de Vuforia, incluidas las gafas inteligentes. Es más fácil de usar, gracias a los Prefabs proporcionados por el SDK de Vuforia. Usando solo Unity es posible acceder a todas las funciones disponibles en Vuforia.
Puede acceder a todas las funciones de Vuforia en Unity utilizando los prefabs de Vuforia. Todo lo que tienes que hacer es arrastrar el objeto al escenario y configurarlo. Como su nombre lo indica, las prefabs son como plantillas para crear y clonar objetos Unity completos con componentes y propiedades. Por ejemplo, el ImageTarget Representa imágenes que pueden ser utilizadas como objetivos. Echemos un vistazo a los prefabs de Vuforia disponibles en Unity:
El juego que desarrollaremos es simple, pero ilustra bien los principios de Realidad Aumentada, y nos enseñará algunos de los fundamentos de Vuforia. El objetivo del juego es encontrar y disparar a los cubos que vuelan por la habitación. El jugador buscará los cubos alrededor de su dispositivo y 'tocará' para disparar en las cajas. No nos preocuparemos por el puntaje, el nivel ni nada de eso, pero usted puede ampliar estos aspectos del juego fácilmente..
Antes de empezar a jugar, tendremos que preparar Unity para Vuforia. El proceso es bastante simple, y básicamente necesitamos importar el paquete SDK de Vuforia y agregar un ARCamera prefabricado para nuestro proyecto.
Es hora de comprobar si el entorno está funcionando correctamente..
Si tiene una cámara web en su computadora, puede presionar el botón de reproducción de Unity para verificar si ARCamera está trabajando. Será posible reconocer objetivos usando la webcam; sin embargo, no será posible utilizar ningún dato del sensor para probar su experiencia AR. Si la alimentación de la cámara no muestra el Juego En la ventana, existe la posibilidad de que su cámara no sea compatible con el perfil de cámara web provisto por ARCamera.
La mejor manera de probar su aplicación Vuforia es directamente en el dispositivo. Compilaremos el proyecto para Android, pero los mismos pasos se aplicarían a los dispositivos iOS.
Después del edificio, la aplicación se instalará en su dispositivo. Por ahora, todo lo que debe esperar es ver la alimentación de la cámara en su dispositivo sin ningún error. Si tienes eso, todo funcionó correctamente..
El objetivo del juego Shoot the Cubes es buscar y disparar cubos voladores utilizando la cámara y los sensores del dispositivo. Este enfoque es similar al utilizado en Pokémon GO. Para lograr esto, solo necesitaremos usar el Vuforia. ARCamera casa prefabricada.
Hay un montón de guiones adjuntos a la ARCamera. Por ahora, el único que deberás entender es el Comportamiento vuforia guión. Echemos un vistazo a sus opciones:
Por ahora, todo lo que necesitas cambiar en el ARCamera es el Modo de centro de palabras. Haga clic en el ARCamera elemento en la jerarquía y en el Inspector panel, cambiar el Modo centro mundial a DEVICE_TRACKING.
Agreguemos un cubo al escenario y probemos si la ARCamera está funcionando correctamente.
Tendrás que mirar a tu alrededor girando tu dispositivo para encontrar el cubo. Notará que el objeto permanece inmóvil en el mismo lugar, incluso después de que gire el dispositivo para alejarlo. Es como si el cubo 'existiera' en el mundo real, pero solo se puede ver con la cámara del dispositivo.
El primer problema con nuestra aplicación hasta ahora es que el cubo puede aparecer en cualquier lugar y el usuario tendrá que mirar alrededor para encontrarlo. Dado que el centro del mundo se define de acuerdo con los sensores del dispositivo, no podemos estar seguros de la posición real de los elementos. Esto se debe a que el usuario puede comenzar con el dispositivo en cualquier orientación y porque la forma en que se mide la rotación varía de un dispositivo a otro..
Para asegurarse de que las entidades AR comiencen a la vista del usuario, el enfoque más fácil es esperar a que Vuforia defina el centro del mundo y encuentre el ARCamera rotación y luego para organizar la ubicación inicial de los elementos de acuerdo con esa orientación.
Vamos a crear un Gerente de Spawn Definir la posición de los cubos a engendrar. El gerente definirá su posición de acuerdo con el ARCamera rotación. Esperará hasta que se establezca la rotación, y luego se moverán 10 unidades al frente de la cámara.
Primero vamos a añadir el paquete Vuforia..
utilizando UnityEngine; utilizando System.Collections; // Tendremos que usar el paquete Vuforia para // asegurarnos de que todo funciona correctamente con Vuforia; SpawnScript de clase pública: MonoBehaviour
Acceder ARCamera, utilizar Cámara.main
. Vamos a crear una función para obtener la posición de la cámara y configurar el cubo para que se genere 10 unidades hacia adelante desde este punto.
clase pública SpawnScript: MonoBehaviour // Defina la posición si el objeto // de acuerdo con la posición ARCamera private bool SetPosition () // obtiene la posición de la cámara Transform cam = Camera.main.transform; // establece la posición 10 unidades hacia adelante desde la posición de la cámara transform.position = cam.forward * 10; devuelve verdadero
Cambiaremos la posición solo una vez desde la comienzo
función. Cambiar de posición
es una coroutina que esperará un poco de tiempo antes de establecer la posición.
privado bool mPositionSet; void Start () // Definición de la posición de inicio StartCoroutine (ChangePosition ()); // Usaremos un Coroutine para dar un poco de // retraso antes de establecer la posición privada IEnumerator ChangePosition () rendimiento devolver nuevo WaitForSeconds (0.2f); // Defina la posición de Generación solo una vez si (! MPositionSet) // cambie la posición solo si Vuforia está activa si (VuforiaBehaviour.Instance.enabled) SetPosition ();
Probemos el guión:
Los elementos comienzan superponiéndose; Sin embargo, una vez que compile y ejecute la aplicación en un dispositivo, verá que _SpawnController y su esfera aparecerá frente a la cámara, y el cubo estará en otro lugar. ¡Adelante, pruébalo! Asegúrese de que está mirando el dispositivo justo cuando se inicia la aplicación.
Enhorabuena, has creado tu primera experiencia de Realidad Aumentada. Sí, es un poco duro, pero está funcionando! En este tutorial, aprendió a usar la prefababra principal de Vuforia en Unity, el ARCamera. También aprendió cómo configurarlo y cómo usar los sensores del dispositivo para crear la ilusión de que un objeto virtual se inserta en el mundo.
En el siguiente tutorial mejoraremos este principio para crear un juego real y una experiencia más atractiva. Continuaremos desarrollando el juego Shoot the Cubes, agregando algo de interactividad y explorando las posibilidades de Unity para crear un juego de AR interesante. Haremos que los cubos aparezcan y volarán, y dejaremos que el jugador los busque y los destruya disparando un láser desde el dispositivo..
Te veo pronto!
Gracias especiales por la vector de imagen diseñado por Freepik, licenciado bajo Creative Commons CC BY-SA.