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. Aquí tenéis su artículo.
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).
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.
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.
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.
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.
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.
¿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 points. Puntos 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.
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.
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.
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.
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.
El siguiente paso, que además supuso una ruptura de compatibilidad al requerir un chip A12 Bionic como mínimo, fue la ofuscación de personas. Algo tan simple (y tan complejo técnicamente) como detectar a una persona (o partes de la misma, como una mano) y que cualquier objeto 3D situado tras la persona se vea “tapada” por la realidad.
Hasta ese momento, si yo ponía la mano delante de la cámara, la lámpara virtual se ponía encima de mi mano porque no se detectaba la profundidad a ese nivel. Ahora, si yo pongo la mano y abro los dedos, el jarrón se verá entre mis dedos y el sistema sabrá donde sí tiene o no que pintar este. Esta interpretación de personas incorporó poco después la capacidad de captura de movimiento de personas, también realizada por la librería ARKit.
Esta nueva opción que comenzó con la captura facial a través de los sensores de Face ID, permitía reproducir cualquier movimiento facial en más de 50 zonas de captura en elementos virtuales (como los famosos Animojis), pero ahora todas estas capturas pueden ser hechas con visión computerizada desde la cámara trasera de un iPhone o un iPad. Algo que nos permite usar un dispositivo móvil de Apple para técnicas que ayudan al desarrollo de videojuegos o cine, con un coste muy inferior y una calidad bastante buena... y sobre todo: mucho más simple que la forma convencional.
También tuvimos la incorporación de una librería que se sumaba a SceneKit, SpriteKit y Metal para crear experiencias de realidad aumentada: RealityKit. Una API 100% nativa en Swift, cuya aspiración es hacer más simple el diseño de las escenas que crean las citadas experiencias. Una librería 3D basada en SceneKit que viene de la mano de una app como complemento: Reality Composer. ¿Con qué propósito? Pues nada más simple, complejo y útil, como tener un editor de escenas 3D donde crear experiencias de realidad aumentada sin tener que programarlas paso a paso y elemento a elemento. Una app disponible para macOS y iPad.
Con Reality Composer podemos importar objetos 3D, ubicarlos en un espacio tridimensional, darles animación, eventos que reaccionen a toques (por ejemplo), sonidos… un comportamiento que nos permite crear escenas como si estuviéramos en Unity o Unreal Engine, pero de una forma más simple. Eso nos genera una escena que luego cargamos usando la librería RealityKit, y con ella podemos realizar apps o juegos de forma muy sencilla con muy poco código.
Las últimas incorporaciones han sido la ofuscación de personas que llega a un nuevo nivel con la llegada del LiDAR ya que ahora permite la ofuscación completa de objetos y la total integración entre elementos 3D y la realidad. Además los anclajes de geolocalización, donde podemos situar experiencias de realidad aumentada unidas a ubicaciones geográficas reales. Sobre una latitud, longitud y altitud, podemos ubicar experiencias sobre objetos 3D que pueden detectarse, como un monumento, un edificio o cualquier otro elemento. Algo bastante impresionante.
Lo que Apple ha conseguido con la librería ARKit es, básicamente, crear una de las APIs más completas, complejas (a la vez que simples para desarrollar) y mejor preparadas para un futuro en realidad aumentada. Hoy día podríamos decir que ARKit ya tiene todo lo necesario para construir ese nuevo futuro que hoy, sosteniendo un iPhone o un iPad en la mano, no somos capaces de ver.
Pero la realidad es que las bases están puestas y cuando Apple lance su primera aproximación a las lentes de realidad aumentada, el software estará listo y los desarrolladores ya habremos experimentado con estas librerías (quien más o quien menos) por lo que no nos sonará a algo extraño. El siguiente paso será cuando SwiftUI gane un render capaz de construir UIs dentro de un entorno de realidad aumentada y no necesitemos conocer programación 3D para explotar las nuevas posibilidades de interacción que se nos abren a nuestros ojos.
Preparados para la nueva década
Sin duda, las capacidades que Apple nos ofrece con la realidad aumentada son espectaculares, pero siguen teniendo un problema de base: hay que llevar el dispositivo en la mano y mirar a través de él. Eso dificulta las experiencias y es lo que ha provocado que todo este desarrollo tecnológico haya quedado relegado a lo que se conoce comúnmente como “efecto demo”. Lo enseñas, es genial, pero luego no lo usas. Solo sirve para demostrar lo que podemos hacer.
Pero pronto veremos una nueva generación de dispositivos que lo cambiarán todo. Y Apple no es la única que está trabajando en ella. En mayor o menor medida todas las grandes como Amazon, Google, Facebook, Microsoft o IBM están trabajando o tienen ya algo desarrollado.
¿En qué se basará la apuesta de Apple? Aquí es donde vamos a ver que esta revolución lo será en dos pasos que implicará en un primer momento a la realidad aumentada y luego a la realidad mixta. ¿Por qué esta distinción? Básicamente porque debemos separar el nivel de “calidad” de aquello que vemos. Es cierto que mezclar realidad con elementos generados digitalmente se sigue conociendo a nivel general como realidad aumentada pero entonces es cuando debemos empezar a hablar de diferencias técnicas y de coste tecnológico, de proceso e incluso energético.
El primer paso de Apple, lo que veremos este año, es la realidad aumentada básica: la proyección de interfaces simples de usuario sobre la realidad convencional, con el objeto de tocarlas o interactuar con ellas. Eso serían las rumoreadas Apple Glass en su primera versión al público. Apple las presentará este año, y dará unos meses a los desarrolladores para preparar su software o crear nuevo para explotarlas antes de su lanzamiento al público.
Si hacemos caso a los rumores, las Apple Glass no tendrían cámara y sí un sensor LiDAR. En mis propias averiguaciones explorando ARKit en su última versión, he podido llegar a la conclusión que Apple pondrá este LiDAR para reconocer nuestras manos en tiempo real y permitirnos tocar interfaces sobre la realidad con absoluta precisión. De esta forma, las nuevas Apple Glass serían algo parecido a un Apple Watch, como complemento de las apps, pero sin estar limitado a un espacio tan pequeño como el reloj de Apple. Tendríamos “ventanas” suspendidas en el aire delante nuestra para tocarlas e interactuar con ellas como lo haría Tom Cruise en “Minority Report”. Pero no tendríamos gráficos 3D de alta calidad integrados en la realidad, solo esas ventanas o interfaces.
En las primeras versiones, el campo de visión estaría reducido a pequeñas zonas de nuestra visión, pero en posteriores podríamos ir ampliando estas. Incluso en versiones avanzadas podría permitirnos tener un teclado, pantalla y trackpad en cualquier superficie sin necesidad de tenerlo físicamente. Al ser UIs simples, esto puede permitir que gran parte del proceso se haga en nuestro dispositivo, y dar una buena autonomía y rendimiento en un dispositivo que fuera asequible (dentro de lo que es Apple) para un uso convencional. Y que Apple vaya escalando poco a poco tecnológicamente esta tecnología como lo hizo con los iPhone.
Con estas Apple Glass podríamos obtener información en todo momento sobre el lugar donde estamos, a dónde miramos a través del reconocimiento de objetos 3D, hablar en videollamada de forma directa, guiarnos por museos o centros comerciales, por la calle, mientras conducimos… en primera instancia sería un mundo de paneles 2D frente a nuestros ojos para interactuar con ellos o que nos muestren información enriquecida del mundo que nos rodea.
Solo después de varios años para tener un producto maduro, llegaría una nueva generación o incluso categoría de producto: las lentes de realidad mixta. Aquí sí estamos hablando de dispositivos más complejos. Mientras las Apple Glass serían una gafas convencionales (que podrían graduarse) y que tendrían un proyector que proyectaría directamente en nuestra retina las interfaces integradas en el mundo real, una lente de realidad mixta es mucho más compleja y requeriría de un casco o algo más grande. Algo que tuviera cámaras además del LiDAR, con la capacidad de generar objetos 3D complejos integrados en el entorno como ya hacemos con el móvil, pero que nos permita verlo como vemos la realidad ahora mismo.
Cercanos a la segunda mitad de la década (2024 en adelante) llegarían estas lentes de realidad mixta. Lentes o cascos algo más voluminosos que podrían mezclar realidad con objetos 3D y donde podríamos tener mundos completos delante de nuestros ojos con los que poder interactuar. Algo similar a unas Magic Leap One o una Hololens 2, pero con el toque Apple en un producto más ligero, "vestible" (es importante que sea algo que se pueda llevar a la calle) y al alcance de un público más amplio, creando un ciclo comercial muy interesante para el producto.
Tener un Minecraft montado en el salón de casa como si fuera un Lego enorme que no hay que guardar. O videojuegos que lleven la jugabilidad a un nuevo nivel (¿Among Us en nuestra casa con nuestros amigos cada uno en su casa?), tener todo tipo de experiencias como un vendedor virtual que nos asesore en casa en la distancia, ver cualquier producto en contexto a cómo quedaría sin tener que ir a la tienda (algo que ya podemos hacer con el móvil de una forma mucho menos práctica y realista) y tener mundos completos delante nuestra que llevarían mucho más allá las experiencia de educación, de interacción, lúdicas… la puerta abierta a un nuevo mundo unido al nuestro.
Bienvenidos a la nueva década de los 20 del siglo XXI. Una época excitante tecnológicamente que nos deparará muchas y muy interesantes nuevas formas de interactuar con el mundo que nos rodea.
Ver 22 comentarios