Saltar la navegación

7. Desarrollo RA

En realidad aumentada los elementos virtuales deben situarse en el mundo real de modo que quien juega los perciba anclados. Es decir, si cambia su punto de vista caminando o girando la cabeza, debe tener la impresión de que el elemento virtual está realmente en el mundo real. Si, por el contrario, al moverse percibe que el elemento virtual se desplaza de un modo anómalo por el mundo real, entonces pierde la sensación de inmersión.

El elemento crítico para el desarrollo de juegos de realidad aumentada es el anclaje entre mundo real y mundo virtual. Para que este anclaje sea posible, es necesario utilizar alguna técnica de seguimiento (tracking) que permita percibir los movimientos en el mundo real y aplicarlos a la escena virtual y así lograr que ambos mundos se perciban anclados entre sí.

Hay varias técnicas de seguimiento que se pueden utilizar:

Seguimiento basado en marcadores

Utiliza imágenes predefinidas (marcadores), que la cámara del dispositivo reconoce y que le permite determinar su posición y orientación. Los marcadores están diseñados para ser detectados de modo muy eficiente por lo que el funcionamiento es bastante robusto. Sin embargo, presenta dos desventajas importantes:

  • Puede que no sea posible ubicar un marcador sintético en el mundo real. Esto es algo que depende de las circunstancias y del entorno en que nos encontremos.
  • Los movimientos están limitados a posiciones y orientaciones en las que el marcador sea visible, aunque para esto podemos recurrir a soluciones que emplean múltiples marcadores.

Los marcadores se diseñan imponiendo de modo que tengan un contraste adecuado para ser localizados eficientemente, con cierta redundancia para hacer más robusta la detección en caso de que la imagen no esté clara y además no deben tener simetrías para que se pueda inferir su orientación correctamente.

Los códigos QR siguen estos mismos principios, pero, a diferencia de los marcadores, los códigos QR almacenan una codificación de cierta información mientras que los marcadores tan solo requieren que sean identificados. Por ello, se puede usar un código QR como marcador, pero no todos los marcadores son códigos QR. Es decir, debemos emplear el término “marcador”.

 

Figura 11: (Izq) Marcador 0 del diccionario 7x7 de Aruco (Der) Código QR con la url https://www.ugr.es. Fuente: Elaboración propia.

Seguimiento basado en marcadores genéricos

Utiliza elementos del entorno, descubriendo elementos diferenciadores que le permitan determinar la ubicación y orientación. Esto elimina el problema de ubicar un marcador sintético en el mundo real. Se pueden utilizar elementos ya presentes en el entorno o utilizar imágenes naturales que resulten menos disruptivas que los marcadores artificiales. La contrapartida es que se pierde la precisión y robustez que otorgan los marcadores sintéticos.

Seguimiento basado en la ubicación

Se basa en el uso de sensores (GPS, acelerómetro, brújula…) para determinar la ubicación y orientación. Es útil en exteriores donde se pueda recibir la señal de GPS. Ofrece una precisión inferior a la conseguida con marcadores, pero a cambio puede usarse en cualquier ubicación del planeta en la que se reciba señal GPS.

Seguimiento simultáneo de localización y mapeo (SLAM)

En realidad, son varias técnicas que crean un mapa 3D del entorno en tiempo real utilizando la cámara del dispositivo a la vez que se ubica dentro de dicho mapa. El resultado es bastante preciso y robusto, pero requiere mayor potencia de cálculo.

Seguimiento basado en objetos 3D

Reconoce y rastrea objetos 3D reales, pero requiere disponer de un modelo 3D preciso del objeto real. Esto puede resultar en un rendimiento pobre en función de la complejidad del objeto y las condiciones de iluminación.

Seguimiento facial

Detecta y rastrea los rasgos faciales del usuario. Esto limita la utilidad de este seguimiento a aplicaciones que empleen la cara de quien juega como elemento del juego, aunque los resultados pueden ser muy divertidos.

La elección del sistema de seguimiento depende de las necesidades específicas de cada aplicación de RA, del entorno en que se va a usar y de los recursos disponibles.