Por qué la realidad aumentada es la tecnología de la próxima década y el papel que jugará Apple

Por qué la realidad aumentada es la tecnología de la próxima década y el papel que jugará Apple

Comenzamos 2021, y eso supone el inicio de una nueva década. La década de los 20. Una década que inicia este 2021 y que terminará en 2030. Si podemos nombrar una tecnología clave que ha permitido definir la pasada década de los 10 del siglo XXI, esta ha sido sin duda la tecnología móvil. Desde 2011 hasta 2020, ha sido el móvil y la movilidad en sí la que ha recibido toda la atención y ha cambiado nuestra forma de entender e interactuar con nuestro mundo.

Hemos pasado de usar los móviles para cosas básicas a usarlos para todo: comunicarnos, jugar, hacer fotografías, oír música, ver vídeos, series o películas, gestionar nuestra productividad, nuestro trabajo, nuestra vida… el móvil se ha convertido en el centro neurálgico de nuestra vida y sin un móvil con conexión de datos no somos nada. Hasta los abuelos tienen uno para ver las fotos de sus nietos o hablar con nosotros en este momento actual de confinamiento y prevención dada la situación de salud a nivel mundial.

Pero los móviles han tocado techo y parece que el margen de mejora es cada vez más lento (hemos podido verlo en los últimos años y cómo los móviles de todas las marcas han tenido factores únicos y claves de mejora basados en procesador y capacidad fotográfica). Ahora entramos en una nueva década donde otras tecnologías darán paso a la reinvención de nuestra interacción con la tecnología. Y una de ellas, una de las principales, será la realidad aumentada. De hecho, como curiosidad, nuestro compañero Pedro Aznar hace más de 10 años predijo este cambio en un momento en que nadie le hizo caso, y no podía estar más acertado.

Realidad Aumentada, concepto básico y evolución

Fue en la década de los 90 del pasado siglo, cuando vimos los primeros intentos por parte de las fuerzas aéreas del ejercito de los Estados Unidos, de usar lo que hoy conocemos como realidad aumentada o mixta (más adelante veremos la diferencia conceptual).

Prototipo de Realidad Aumentada de las Fuerzas Aéreas en los años 90.Prototipo de Realidad Aumentada de las Fuerzas Aéreas en los años 90.

En esencia, todo se basa en mezclar elementos virtuales (gráficos generados en tiempo real por ordenador) con nuestra realidad para que parezcan uno solo. Para conseguir esa fusión, se requiere de algún tipo de “visor” mixto que permita ver nuestra realidad fusionada con gráficos 3D.

El truco tras la realidad aumentada es tan “simple” como modificar en tiempo real los elementos 3D generados para que parezcan integrados en nuestra realidad tangible.

A través del uso de varias tecnologías como la visión computerizada que permite interpretar la realidad y crear una “dimensión espejo” virtual, conseguimos la magia que une ambos mundos. Imaginen que yo miro a través de una lente o dispositivo que usa realidad aumentada y veo una mesa. El sistema detectará un plano horizontal y creará una geometría 3D sobre la misma que se adaptará en tiempo real y que moverá al moverse esa lente o dispositivo en el espacio real.

Un plano detectado por ARKitUn plano detectado por ARKit

De esta forma, creará una malla alrededor de la realidad, invisible, sobre la que colocar elementos 3D que sí veremos. Elementos como una lámpara que emite luz o una taza de café. Cuando nos movamos, el sistema sabrá cómo lo hacemos y modificará en tiempo real la posición y distancia de dicho jarrón virtual con respecto a nuestro visor. De esa forma, nos parecerá que el elemento forma parte de la realidad: que realmente hay una lámpara ahí cuando está generado en tiempo real y solo existe en el mundo virtual. Incluso la lámpara generará una luz que modificará la luz real del entorno vista desde el dispositivo.

ARKit en acción

En los últimos años, juegos como Pokemon Go, lanzado en 2016, pusieron de moda esta tecnología y la trajeron de nuevo a primera línea de actualidad. Y un año después, Apple nos sorprendió a todos cuando con iOS 11 lanzó la primera versión de ARKit, una nueva API creada desde 0 y que permitía trabajar e integrar entornos de realidad de una forma mucho más sencilla y simple que como había sido hasta ese momento.

Aquella primera versión de ARKit era bastante arcaica y solo permitía una pequeña parte de lo que finalmente permite hoy con la actual versión 4, plenamente integrada con los sensores LiDAR de los nuevos iPhone 12 Pro y Pro Max, así como los iPad Pro de 2020.

¿Pero cómo funciona la Realidad Aumentada de Apple con ARKit?

ARKit, la librería de realidad aumentada de Apple, funciona de la siguiente forma: la cámara crea un flujo de vídeo en tiempo real que vemos en nuestro dispositivo. Dicho flujo, pasa antes de ser mostrado por un motor de visión computerizada que interpreta qué se ve en ese flujo de vídeo (el intérprete de escenas) y cada fotograma es enviado al motor 3D para que “pinte” cualquier cosa encima basado en datos de posicionamiento del propio dispositivo. Una vez pintado, se muestra en nuestro dispositivo.

Si inicio una experiencia de realidad aumentada, esta inicia con mi visor (el iPhone o el iPad) en la coordenada 0, 0, 0, 0 de un espacio 3D. Tenemos el eje x horizontal, el y vertical y el z de profundidad y una cuarta coordenada t que representa la rotación sobre el eje central del propio dispositivo. El punto en el espacio 3D es x, y, z, y el punto de giro del dispositivo sería un elemento a tener en cuenta para la perspectiva a aplicar sobre los objetos 3D. Básicamente aplicamos la transformación de las coordenadas 3D al giro del dispositivo contraponiendo el movimiento para simular la realidad.

ARKit refresca la imagen 60 veces por segundo. Pintando en tiempo real cada elemento 3D en pantalla superpuesto a la imagen que captura a través de la cámara.

Cuando muevo el dispositivo, el giroscopio y los acelerómetros del mismo informan del desplazamiento que sufre y su rotación. Si lo roto sobre su propio eje me dará un desplazamiento angular en el eje t, si me muevo en vertical u horizontal, varían los ejes x e y, si me muevo adelante o atrás muevo el eje z. Toda esa información es proporcionada 60 veces por segundo por el motor de ARKit que aplica una operación de cálculo de transformación de coordenadas en un espacio 3D.

Funcionamiento de ARKitFuncionamiento de ARKit

¿Cuál es su propósito? Si yo pongo una lámpara en un punto concreto en el espacio 3D nada más iniciar la experiencia en la mencionada coordenada 0, 0, 0, 0, eso supondrá que al mover -10 en el eje horizontal x y 3 en el eje z porque me acerco, el elemento 3D deberá responder en contraposición a ese movimiento para crear la sensación de integración entre elementos virtuales y elementos reales. Tendrá que mover el elemento 10 sobre el eje x para contraponer mi movimiento y realizar un acercamiento del elemento en 3 puntos (-3 en el eje z). Eso transforma las coordenadas de todos los elementos visibles y no visibles en tiempo real. Aunque solo dibuja los visibles por optimización del proceso (obviamente).

La fusión de ambos mundos, virtual y real, depende de los puntos de función o feature pointsPuntos que el sistema es capaz de posicionar en el mundo real desde el mundo virtual, a través de la citada interpretación de la escena y el uso de la visión computerizada.

Puntos de función o feature pointsPuntos de función o feature points

Este es uno de los campos que han mejorado exponencialmente con el uso del sensor LiDAR porque ahora ya no tenemos necesidad de interpretar lo que vemos en la escena de la cámara: el LiDAR nos da toda la información necesaria.

El sensor LiDAR creando la malla 3D de elementos realesEl sensor LiDAR creando la malla 3D de elementos reales

Estos puntos son los que se mueven en el espacio 3D cuando movemos el dispositivo, son los que registran las diferencias por dicho movimiento y afectan a los objetos 3D anclados en ellos. En el caso del sensor LiDAR, el propio sensor monta la malla 3D necesaria y nos permite obtener una representación 3D mucho más real de todo el entorno. Representación sobre la que "colocar" objetos 3D cualesquiera de forma infinitamente más realista y rápida.

ARKit, evolución entre versiones

La primera versión de ARKit era muy limitada pero aún así fue toda una revolución por su facilidad y versatilidad a la hora de desarrollar. Lo primero que tenemos que entender es que NO existen las apps de realidad aumentada: son juegos. Con el propósito de tener un entorno 3D virtual que poder mezclar con la realidad que vemos en la cámara, lo que usamos no es una API de desarrollo de apps como SwiftUI o UIKit, usamos librerías de desarrollo de videojuegos como SpriteKit, SceneKit o la más reciente RealityKit.

ARKit es programación de videojuegos 3D, no de apps. Podemos usar las librerías de Apple: Metal, SpriteKit, SceneKit o RealityKit. También podemos usar los complementos disponibles para Unreal Engine y Unity.

La primera versión limitaba la visión de la cámara a resolución 720p para reducir con ello la necesidad de proceso y detectaba solo planos horizontales. Si se detectan una gran cantidad de puntos de función en una distribución homogénea, estos nos informaban que hay un plano y por eficiencia, los puntos se sustituyen por planos 3D que se superponen de forma invisible a los elementos reales. De esa forma, dicho plano podrá servir de collider o elemento de choque para objetos: como la mesa donde coloco la lámpara. La lámpara está sostenida por el plano invisible que está dibujada sobre la mesa real.

Apple ARKit Demo

En posteriores versiones Apple incorporó más funciones como la detección de planos verticales o la detección de imágenes fijas para crear experiencias virtuales. Por ejemplo, detectar un póster de una película en una parada de autobús y hacer que cobre vida poniendo encima de esa geometría un vídeo o una animación superpuesta.

También se incorporó la posibilidad de grabar experiencias en un momento determinado (escenas ya montadas) y poder re-construirlas en sesiones posteriores. Eso permitió realizar experiencias compartidas en que varias personas desde distintos dispositivos vean la misma escena y puedan interactuar con ella al unísono. Esta funcionalidad, unida a la creación de redes de pares por Bluetooth o WiFi de forma interna, permite que varios dispositivos iOS se conecten uno con otro y compartan estas experiencias aún sin disponer de conexión a internet.

 
Fuente: https://www.applesfera.com/
Compartir en