Consejos y trucos para Realidad Aumentada con Unity y Vuforia
Spanish (Español) translation by Elías Nicolás (you can also view the original English article)
Hola, ¡viajero de realidad aumentada! En este post, te mostraré algunas características interesantes de Vuforia que hacen posible crear atractivas aplicaciones AR. Echaremos un vistazo a Cube y Cylinder Targets, Smart Terrain, VuMarks y mucho más. No vamos a profundizar en ninguno de esos temas, pero voy a tratar de cubrir lo suficiente para empezar.
Si no está familiarizado con los conceptos principales de Vuforia, eche un vistazo a algunos de mis posts anteriores. Te van a empezar a construir tu primera aplicación con Vuforia, desde cero.
Pokémon GO Style Realidad Aumentada Con Vuforia
Crea un juego de realidad aumentada de Estilo Pokémon GO con Vuforia
Crea un juego de realidad aumentada de Estilo Pokémon GO con Vuforia: Parte 2
Crea un juego de realidad aumentada Pokémon GO Style con Vuforia: Objetivos de imagen
1. Configurando Vuforia en la Unidad
Esta sección es sólo una revisión para aquellos que han utilizado Vuforia en el pasado. Si ya está familiarizado con el proceso de preparación de un proyecto de Unity para Vuforia, no dude en saltarse esta sección.
Antes de usar cualquiera de los recursos de Vuforia en Unity, tendrás que conseguir el marco establecido. En primer lugar, tendrás que descargar e importar el paquete de Vuforia para Unity.
Entonces necesitará crear una Clave de Licencia para el proyecto
en el Administrador de Licencias de Vuforia. Una vez creado, tomará la
clave y la insertará en un prefijo de ARCamera
, y eso es todo. Ahora
puedes empezar a jugar con Vuforia.
Cubro este proceso en profundidad con mi tutorial Crear un juego de realidad aumentada de Pokémon GO Style con Vuforia.
2. El diseño de un ImageTarget
Hay varias maneras de crear experiencias de Realidad Aumentada en Vuforia, y casi todas dependen de algún tipo de Objetivo que debe ser reconocido por el algoritmo de Vuforia para iniciar el proceso de aumento. Usted mismo puede diseñar un objetivo y enviarlo a Target Manager de Vuforia, haciéndolo reconocible por el sistema. Sin embargo, este diseño debe ajustarse a algunas pautas, de lo contrario el objetivo no será rastreado fácilmente, o puede que ni siquiera se reconozca en absoluto.
Usted necesita especialmente saber diseñar un
ImageTarget
. Esto
se debe a que muchos otros tipos de objetivos de Vuforia están
compuestos de múltiples ImageTargets
dispuestos en una posición y un
orden específicos con un MultiTarget
.
Hay tres reglas principales que un
ImageTarget
debe cumplir:
- Debe ser rico en detalle.
- Debe tener un buen contraste, con regiones brillantes y oscuras.
- No puede haber patrones repetitivos.



En el fondo, Vuforia crea un arreglo de la imagen usando sus características, y entonces el algoritmo puede encontrar tales patrones y seguir las blancos. Aproximadamente, una característica de una imagen es un ángulo afilado, como una esquina de la caja o la punta de una estrella. La cantidad de características de una imagen está directamente conectada a su "trackability".



Sin
embargo, es importante comprender que incluso cientos de
características de una imagen no ayudarán si esas características están
organizadas en un patrón. Los ImageTargets
necesitan cierto grado de aleatoriedad y caos para ser reconocidos correctamente.



Si mantiene esas reglas en mente, podrá crear excelentes ImageTargets
, pero si necesita saber un poco más, lea la documentación.
3. Uso de MultiTarget
También
conocido como Cuboid Target, el MultiTarget
consiste en una serie de
ImageTargets
en una disposición geométrica definida. Esta disposición
permite al algoritmo de Vuforia rastrear los objetivos al mismo tiempo,
creando una referencia volumétrica. MultiTarget
puede ser muy útil en las campañas de marketing para promover la
interacción del consumidor con paquetes de productos y así
sucesivamente.
3.1 Diseño de un MultiTarget
Básicamente, un diseño MultiTarget
debe ajustarse a las mismas reglas
que un ImageTarget
, añadiendo otras dos preocupaciones: la Profundidad
Depth de la caja y su consistencia Geométrica.
La Profundidad Depth de la caja debe ser al menos la mitad de su ancho. Esto es sólo una recomendación, y funcionará si es un poco más pequeña que eso, pero es interesante tener esto en mente.
Además, el algoritmo de Vuforia espera consistencia en
todas las partes del MultiTarget
. Eso significa que todos los lados de
la caja se espera que estén en su lugar. Si esto no es posible, sería
posible mantener la parte extraíble en blanco al crear el destino en
Target Manager. Una tapa de caja de cereal, por ejemplo, podría dejarse
en blanco, de
lo contrario una vez que la tapa estaba abierta podría generar
inconsistencias durante el aumento.
3.2 Creación de un MultiTarget
El primer paso es agregar o seleccionar una base de datos en Target Manager de Vuforia. Seleccione la base de datos y haga clic en Agregar destino Add Target, seleccionando la opción Cuboid y estableciendo su anchura Width, altura Height, longitud Length y Name nombre.



Una vez que se ha creado MultiTarget
, selecciónelo y establezca ImageTargets
. Como mencioné, un MultiTarget
está compuesto de una serie de ImageTargets
ajustada en una posición específica. Cada parte del cuboide debe contener una imagen, y cada imagen debe
cumplir con la proporción del cuboide, definida cuando se creó el
objetivo target.

Cuando el cuboide esté ajustado, estarás listo para ir. Basta
con descargar la base de datos e importarla a Unity. Para utilizarlo,
arrastre un prefabricado MultiTarget
a la etapa y seleccione la base de
datos descargada y Cuboid Target. Para obtener más información sobre
MultiTarget
, eche un vistazo a la documentación.
4. Objetivos del Cilindro
Según la documentación de Vuforia, "CylinderTargets
le permite
detectar y rastrear imágenes enrolladas en formas cilíndricas y
cónicas". Puede utilizar este tipo de interacción para crear interacción
con paquetes de productos, como latas de soda o cualquier otro producto
cilíndrico.

4.1 Diseño de un cilindro objetivo
A CylinderTarget
también
se basa en ImageTarget
, por lo tanto su diseño debe ajustarse a esas
reglas. La parte superior e inferior del cilindro deben ser imágenes
cuadradas que serán marcadas por el sistema Target Manager. Al igual que
con MultiTarget
, debe considerar la consistencia del
objetivo, lo que significa que si se puede eliminar una parte del
objeto, sería útil dejarlo en blanco en el administrador.
4.2 Creación de un objetivo cilindro
Este tipo de objetivo se crea en dos pasos. El primero es Añadir Add o Seleccionar Select una base de datos en el Administrador de destino de Vuforia, añadir un nuevo destino Target, seleccionar la opción Cilindro Cylinder y establecer sus dimensiones Dimensions y nombre Name.



A continuación, tendrá que seleccionar el CylinderTarget
que creó y cargar imágenes en él. Puede cargar una imagen para el lado, una para la parte inferior y otra para la parte superior. Simplemente haga clic en la sección deseada y cargue la imagen.
Sin embargo, la imagen debe respetar la relación del cilindro. Es posible que su primer intento no funcione. Pero no tengas miedo, el sistema Vuforia te dará la proporción correcta, y puedes ajustar tus proporciones de imagen en consecuencia. Por ejemplo, para un cilindro con anchura de 1 y altura de 2, la relación es 1.571. En un lado de destino, la altura de la imagen es igual a la anchura dividida por la relación. Una vez que la proporción sea correcta, su subida tendrá éxito.



Una vez que se define el CylinderTarget
, puede utilizarlo. Sólo
tendrá que descargar e importar la base de datos a Unity y, a
continuación, arrastre un prefabricado Vuforia CylinderTarget
a su
escena y ya estará listo.
5. Terreno Inteligente Smart Terrain
El SmartTerrain
es una característica exclusiva de
Unity que le permite reconstruir y aumentar su entorno físico. La
función reconstruye, reconoce y rastrea objetos físicos y superficies. Estos
objetos reconocidos pueden ser utilizados como terreno en Unity,
abriendo posibilidades interesantes para juegos y experiencias.
La experiencia se inicia cuando se rastrea algún tipo de objetivo de Vuforia. Podría comenzar cuando el dispositivo siga un ImageTarget
, un CylinderTarget
, o cualquier otro tipo de objetivo.
Una vez iniciado, el sistema reconocerá los objetos distribuidos alrededor del objetivo y establecerá la etapa del juego considerando los objetos rastreados. El terreno entonces se proyecta virtualmente sobre los objetos escaneados, y la experiencia comienza.
Smart Terrain puede reconocer objetos simples como cajas y cilindros, siempre y cuando se ajusten a los estándares de Vuforia, poniendo esos objetos directamente en la etapa del juego y usándolos como parte de la escena.
Esos
tipos de objetos se llaman Apoyos Props por el sistema SmartTerrain
, y su
tamaño puede ser tan pequeño como una lata de sopa o tan grande como una
gran caja de cereal. No se admiten objetos transparentes como el
cristal.
SmartTerrain
funciona en tres fases:
- Staging: el usuario distribuye el objetivo y los accesorios.
- Scanning: la etapa y los accesorios utilizados en el ajuste son capturados y reconstruidos por el rastreador de terreno inteligente.
- Tracking: el terreno se incrementa en tiempo real por la escena Unity que has desarrollado.
El proceso de creación de una
experiencia de SmartTerrain
es sencillo, pero requiere muchos pasos.
Puesto que el equipo de Vuforia nos proporciona una excelente guía
paso a paso para crear una experiencia de terreno inteligente en Unity,
no nos sumergiremos en el proceso de creación aquí.
Si quieres probarlo,
sigue la guía, y no deberías tener ningún problema. Sin
embargo, tenga en cuenta que el SmartTerrain
tiene ciertas
limitaciones, especialmente en relación con los requisitos del hardware y
del sistema. Puede encontrar más información sobre el sistema en su
documentación.
6. VuMarkUn
VuMark
es un tipo de objetivo que puede ser
completamente personalizado. Puede reflejar opciones específicas del
diseño o una personalidad de la marca de fábrica.



Antes de empezar a jugar con VuMark
, es bueno entender que el proceso de creación no es el más simple. El equipo de Vuforia ha elaborado una guía bastante buena y algunas
herramientas útiles, pero yo recomendaría esta solución sólo para
situaciones específicas en las que el diseño del marcador es de suma
importancia.
No entraré en todos los requisitos y procesos de diseño de VuMark
. En su
lugar, te daré una idea general del proceso y, si decides
diseñar tu propio VuMarker
, probablemente necesitarás leer las guías de
Vuforia primero.
6.1 Diseño de VuMark
Es vital entender algunas reglas de
arquitectura y diseño para VuMark
, de lo contrario el objetivo no
funcionará correctamente.
Un VuMark
se compone de cinco
partes:
-
Contour Contorno: El contorno no se dibuja realmente en el
VuMark
; Se define por el contraste entre la frontera border y el espacio libre clear space. Es la parte que el algoritmo de Vuforia detecta por primera vez. -
Border: La forma más identificable y definitoria del
VuMark
. Está hecho de líneas rectas, con al menos cuatro ángulos situados en el borde exterior del diseño. -
Espacio libre Clear Space: Un área en blanco obligatoria que aparece adyacente al borde. Esto garantiza que hay suficiente contraste para que el algoritmo detecte el contorno.
-
Código / Elementos Code / Elements: Representación visual del ID del destino. Se compone de elementos con alto contraste, que representan dos estados, oscuro dark y ligero light. El número de elementos presentes se define al crear la plantilla VuMark en Illustrator utilizando las herramientas proporcionadas por Vuforia. (Más sobre esto en la siguiente sección.)
-
Área de diseño / fondo Background / Design Area: Esta área es un lienzo en blanco que será ignorado por el algoritmo. Usted puede diseñar libremente en este espacio.



Para obtener más información sobre los requisitos de diseño, lea la Guía de VuMark Design.
6.2 Creación de un VuMark
Un
VuMark
se crea usando Adobe Illustrator y las herramientas de diseño
VuMark que están disponibles para descargar en el sitio de Vuforia. Las
herramientas están compuestas de tres scripts de Illustrator, que vienen
con algunos ejemplos y una guía detallada de PDF.
Antes de iniciar un
VuMark
, debe diseñar su concepto, teniendo en cuenta todas las
directrices propuestas por Vuforia. Una vez que el diseño esté completo,
empezarás a dividirlo en partes, obedeciendo la arquitectura de
VuMark.
El primer paso es crear una nueva plantilla VuMark
, utilizando el
script ilustrado VuMark-Setup.jsx
. En la ventana VuMark Template Setup,
puede elegir el nombre de la marca, el tipo de ID y la longitud. El
número de caracteres codificados en la marca definirá cuántos elementos
debe contener.



Una vez creada la plantilla, debe copiar su concepto de diseño y dividirlo utilizando las capas creadas por el script. Cada capa representa una parte arquitectónica y tiene su propia regla. Utilizará el script VuMark-Verify.jsx
para comprobar si su diseño es
correcto. El guión le dará consejos sobre cómo arreglar el diseño para
que se ajuste a los estándares de VuMark
.



Después de romper su diseño y verificar que se ajusta a los estándares VuMark
, es el momento de exportar el objetivo. Para exportar el diseño, debe ejecutar el script VuMark-Export.jsx
. Creará un nuevo archivo en Illustrator y moverá el contenido de su
plantilla de VuMark. A continuación, le pedirá que guarde su plantilla
VuMark
como un archivo SVG.
Finalmente, su marcador estará listo, y puede subir el archivo de destino a una nueva base de datos en el Administrador de destino de Vuforia. Entonces sólo tienes que descargar la base de datos y usarla como cualquier otro target.
7. Explorando otras funciones interesantes
Ha sido un largo viaje hacia el sistema de Vuforia y las posibilidades de Realidad Aumentada. Como puede ver, el sistema Vuforia tiene muchas características interesantes. Éste era mi quinto puesto en Vuforia, y sin embargo todavía no podía cubrir todas sus características. Sin embargo, estoy seguro de que tienes suficiente conocimiento para explorar esos recursos por ti mismo ahora.
Aquí hay algunos consejos para otras características que vale la pena explorar:
- User Defined Targets Objetivos definidos por el usuario:
funciona como
ImageTarget
, pero el usuario puede definir los objetivos en cualquier momento utilizando la cámara del dispositivo. - Cloud Recognition: exclusivo
para las cuentas empresariales. Es un tipo de base de datos de destino
que vive en la nube, lo que
le permite cargar y sincronizar nuevos
ImageTargets
con la aplicación sobre la marcha. - Object Recognition Reconocimiento de objetos: Esta es una característica experimental que permite el reconocimiento de un objeto, después de haber sido escaneado con una herramienta especial proporcionada por Vuforia.
¡Mientras estés aquí, echa un vistazo a algunos de nuestros otros artículos sobre AR y desarrollo móvil!
- Desarrollo móvilCrea un juego de realidad aumentada de Estilo Pokémon GO con VuforiaTin Megali
- Android SDKComience con Android VR y Google Cardboard: Imágenes panorámicasPaul Trebilcox-Ruiz
O para aprender más sobre Realidad Aumentada con Vuforia y Unity, ¡echa un vistazo a nuestro curso de video aquí en Envato Tuts+!