Guía para desarrolladores de imágenes aumentadas de Unity

Aprende a usar imágenes aumentadas en tus propias apps.

Requisitos previos

Asegúrate de comprender los conceptos fundamentales de RA y cómo configurar una sesión de ARCore antes de continuar.

Cómo compilar y ejecutar la app de muestra

Crea un proyecto nuevo en Unity según la guía de inicio rápido.

Cuando compiles la app, asegúrate de incluir la escena de imágenes aumentadas ubicada en Assets/GoogleARCore/Examples/AugmentedImage/Scenes/.

Asegúrate de que tu dispositivo esté conectado a la máquina y, luego, haz clic en Build and Run. Unity compila tu proyecto en un APK de Android, lo instala en el dispositivo y lo inicia.

A medida que mueves el dispositivo, la app detecta y realiza un seguimiento automático de las imágenes del conjunto de imágenes de referencia que se encuentran en Assets/GoogleARCore/Examples/AugmentedImage/Images/.

Crear archivo de base de datos

En la ventana Project, selecciona el conjunto de imágenes de referencia que desees (PNG o JPG), luego haz clic con el botón derecho y selecciona Create > Google ARCore > AugmentedImageDatabase.

Se crea una base de datos de imágenes nueva en la misma carpeta que las imágenes de referencia.

La ventana Inspector muestra las imágenes en la base de datos y el nivel de calidad de la imagen. Es posible que el sistema tenga dificultades para detectar imágenes con niveles de calidad inferiores a 75.

De manera opcional, puede especificar el ancho físico (en metros) para cada imagen. Si lo haces, ARCore puede estimar la pose de la imagen física en el tiempo de ejecución apenas ARCore detecte la imagen física, sin necesidad de que el usuario mueva el dispositivo para ver la imagen física desde diferentes puntos de vista.

Usa el archivo de la base de datos

  1. En la ventana Project, ve a Assets/GoogleARCore/Examples/AugmentedImage/Configurations y abre AugmentedImagesSessionConfig.

  2. En el Inspector, haz clic en la casilla junto a Augmented Image Database y selecciona el archivo de base de datos que creaste.

Obtén la AugmentedImage

Consulta AugmentedImageExampleController.cs, ubicado en Assets/GoogleARCore/Examples/AugmentedImage/Scripts, para ver un ejemplo sobre cómo hacer que se pueda hacer un seguimiento:

Session.GetTrackables<AugmentedImage>(myList, TrackableQueryFilter.Updated);

Compatibilidad con diferentes casos de uso

Cuando ARCore detecta una imagen aumentada, crea una Trackable para esa imagen aumentada y establece TrackingState en Tracking y AugmentedImageTrackingMethod en FullTracking. Cuando la imagen con seguimiento se quita de la vista de la cámara, ARCore cambia AugmentedImageTrackingMethod a LastKnownPose y continúa proporcionando la orientación y la posición de la imagen.

Tu app debe usar estos enumeradores de manera diferente según el caso práctico previsto.

  • Imágenes fijas. La mayoría de los casos prácticos que involucran imágenes fijas en su lugar (es decir, que no se debería mover) pueden usar TrackingState para determinar si la imagen se detectó y si se conoce su ubicación. AugmentedImageTrackingMethod.

  • Imágenes en movimiento. Si tu app necesita realizar un seguimiento de una imagen en movimiento, usa TrackingState y AugmentedImageTrackingMethod para determinar si se detectó la imagen y si se conoce su posición.

Caso de uso Imagen fija Moviendo imagen
Ejemplo Póster colgado en la pared Un anuncio al costado de un autobús
La pose se puede
considerar válida cuando
TrackingState == Tracking TrackingState == Tracking
y
AugmentedImageTrackingMethod == FullTracking