Publicidad

Este es el arsenal de Apple con el que asaltar la realidad aumentada
Desarrollo de software

Este es el arsenal de Apple con el que asaltar la realidad aumentada

Publicidad

Publicidad

Apple sigue dando pasos en silencio, sin prisa pero sin pausa. Pasos que apuestan firmemente por el futuro de la realidad aumentada y por conseguir que su implementación esté al alcance de cualquiera. Pasos para que la realidad aumentada sea una interfaz de usuario más en el futuro cercano, como hoy día ya lo es el dispositivo puntero, el táctil o la voz.

El último paso fue, como ya os contamos cuando se lanzó la app Reality Converter. Ese lanzamiento nos sirve como excusa para hablar del ecosistema de realidad aumentada de Apple, su actual estado y su posible futuro.

No solo hemos pasado por tres versiones de la librería ARKit para realidad aumentada, este año hemos tenido dos incorporaciones muy importantes en la forma de una nueva librería y una app que facilita enormemente la creación de experiencias en realidad aumentada: la librería RealityKit y la app Reality Composer (que además tiene versión para iPad y para Mac).

Reality Composer en Mac y iPad

Vamos a repasar todas las herramientas y apps que Apple tiene ahora mismo publicados para asaltar el mundo de la realidad aumentada.

ARKit, la librería de origen

ARKit es la librería de realidad aumentada de Apple. Es una librería desarrollada en Objective-C, integrada en los sistemas iOS y iPadOS, y cuyo objetivo es proporcionar la información sobre la realidad captada por nuestro dispositivo a través de la cámara y los sensores del mismo.

ARKit no pinta ningún elemento en realidad aumentada, solo nos da la información de cómo interpreta lo que ve con la cámara del dispositivo y la información de los sensores de movimiento en tiempo real. Con esta información, podemos dibujar esa realidad aumentada usando una librería gráfica 3D.

La librería ARKit no es capaz de pintar nada, ya que su función es recoger 60 veces por segundo los datos que le llegan a través de la cámara, unido a los sensores de movimiento del dispositivo. De esta forma, ARKit nos informa de cómo se ha desplazado el móvil o tablet en los ejes de movimiento x, y, z (horizontal, vertical y profundidad). Cuando se inicia una sesión de realidad aumentada, el punto donde esté el dispositivo es el 0,0,0 y a partir de ahí sumará o restará valores para que sepamos cómo se mueve.

ARKit 1.0, la primera versión de la librería

También nos proporciona el dato de la rotación sobre el eje, de forma que así sabemos el nivel de inclinación que tiene el dispositivo en 360 grados. Esta suma de datos, nos permite tener la información suficiente para trasladar los elementos de realidad aumentada en contraposición al movimiento del dispositivo, y con ello, tener la sensación que los objetos están ahí.

Pero lo importante que tenemos que entender es que toda esa información luego servirá para que una librería gráfica 3D se encargue de pintar los elementos en realidad aumentada sobre los frames capturados por la cámara. Todo basado en la información proporcionada por ARKit. Por eso la librería no solo es compatible con la API nativa de Apple para gráficos 3D, SceneKit. También lo es con la API nativa de bajo nivel, Metal, así como otras librerías de terceros como las de los IDE de creación de videojuegos Unreal Engine o Unity.

Evolución de ARKit en sus tres años de vida

La primera versión de ARKit, como toda librería que se precie, mostraba sus primeras armas e intenciones, creando la base sobre la que trabajar a partir de ahí. En su primera versión, todo funcionaba sobre detección de superficies horizontales como mesas o suelo, donde la acumulación de puntos de función en una zona hacía que se diera por detectada dicha superficie.

Un punto de función es aquel punto en el espacio 3D que ve la cámara, donde la iluminación y textura permite determinar una distancia concreta desde nuestro dispositivo a ese "lugar" en el espacio tridimensional.

Detectado un plano, podemos colocar objetos 3D sobre ellos con la garantía que estos van a permitir una coherencia visual con los objetos. En la conjunción de puntos de función para colocar elementos y la detección de planos estaba el total de posibilidades que ofrecía ARKit en esa primera aproximación. También podemos usar los sensores de FaceID para capturar un cara en tiempo real y obtener el mapa 3D de la misma. Esa es la base de los Animojis.

Detección de planos con ARKit. Los puntos amarillos son los puntos de función.

A los pocos meses llegó ARKit 1.5. Un nuevo paso: se añadía la detección de superficies verticales y también la detección de imágenes de referencia. De esta forma, podemos cargar una textura que mediante visión computerizada, nos permite localizar dicha textura en el espacio 3D y la creación de un plano con el que podemos trabajar** para colocar objetos o colocar una textura en él como objeto 3D**.

Con iOS 12 llega ARKit 2.0. Mejoras generales del rendimiento, aumento de la calidad de 720p en la ventana de la cámara a 1080p en los dispositivos más potentes y llegan las experiencias compartidas. El sistema es capaz de reconocer objetos 3D que previamente tuviéramos registrados e incluso escenas donde ya hubiéramos estado (ya que podemos grabar la información de una escena detectada en 3D).

Usando WiFi o Bluetooth, podemos crear una red para compartir datos en tiempo real entre dispositivos y hacer que una escena de realidad aumentada comparta su información con otros dispositivos, así como eventos. De esta forma, varias personas (y sin necesidad de conexión a internet) pueden ver la misma experiencia de realidad aumentada desde distintos dispositivos y puntos de vista.

Con iOS 13 llega ARKit 3.0. Las capacidades se siguen multiplicando: oclusión de personas para que si hay alguien delante de la cámara y un objeto virtual detrás, este no se dibuje porque lógicamente, hay alguien delante. También detección de movimiento al más puro estilo cinematográfico. Ya no es solo detección de expresiones faciales con más de 50 puntos de referencia, como incluía ARKit en su primera versión.

Oclusión de personas con ARKit 3.0. La chica delante de los objetos virtuales, los tapa. Oclusión de personas con ARKit 3.0. La chica delante de los objetos virtuales, los tapa.

Con ARKit 3.0 podemos detectar a personas y obtener el mapa 3D de esqueleto con los puntos de huesos y rotación, para luego poder replicarlo en cualquier objeto 3D con la misma base esquelética de movimiento que es un estándar del diseño 3D.

Se aumenta la capacidad de captura facial hasta 3 caras a la vez, uso de experiencias conjuntas usando la cámara trasera y delantera a la vez y sesiones colaborativas donde podemos tener escenas ya cargadas en nuestro dispositivo que al desplegarse suponen un arranque más rápido y eficiente de la experiencia.

Adicionalmente, se pueden detectar hasta 100 imágenes estáticas, ahora se usa aprendizaje automático para ello por lo que la detección es más rápida y se ha mejorado la detección de objetos 3D que ahora soportan objetos más grandes y con mejor precisión.

Es importante notar que la oclusión de personas o la captura de movimiento de esqueletos, está limitada solo a dispositivos con CPU A12 en adelante, por requisitos de potencia y capacidad gráfica.

Pero no acabaron ahí los lanzamientos en ARKit 3, también se lanzó una nueva librería: RealityKit y una nueva app, Reality Composer.

RealityKit, crea tus escenas sin programar

RealityKit es una nueva librería, nativa en Swift, que conecta con las librerías SceneKit (que a su vez usa Metal) con la información de ARKit.

RealityKit es un intérprete de un fichero de escenas creado con la app Reality Composer.

Una de las cosas más complejas a la hora de crear experiencias en realidad aumentada, es montar las propias escenas. Importar los objetos 3D, colocarlos, ponerles luz, crearles interactividad (que puedan tocarse, por ejemplo), animación... todo ello había que hacerlo programando sobre la librería SceneKit (que básicamente es programación 3D para videojuegos) lo que dificultaba la curva de entrada a este tipo de apps.

Estructura general de cómo funciona  RealityKit Estructura general de cómo funciona RealityKit

Pero, junto a RealityKit tenemos la app Reality Composer, que es capaz de componer las escenas, pero en una app gráfica. Podemos crear la escena, importar objetos, darles interactividad, animación, que respondan a eventos, configurar sus físicas... todo lo que teníamos que hacer programando, pero a partir de una app más sencilla y sin tener que escribir una sola línea de código.

Reality Composer para Mac

Así que RealityKit es la librería que carga las escenas creadas en Reality Composer, para que nuestra experiencia en realidad aumentada esté preparada y funcionando con apenas unas pocas líneas de código.

Reality Converter, convierte tus objetos 3D

Los formatos 3D que acepta Reality Composer y Xcode con el uso del framework SceneKit son el Collada (un formato abierto, de extensión .obj) o el formato nativo que usa para las escenas: el USDZ. Este formato, creado por Pixar para su trabajo, es el estándar que Apple ha usado también para los objetos de realidad aumentada que podemos colgar en la web y ver directamente desde Safari.

Reality Converter Beta

Pero muchos de los diseñadores que trabajan en 3D no usan estos formatos, porque dependen mucho del programa que usen para esa tarea. Aquí es donde entra Reality Converter. Básicamente, un programa capaz de cargar otros estándares de objetos 3D y escenas, como el FBX.

Reality Converter no está pensado como un simple conversor: en él podremos ver los objetos a convertir con todo detalle, modificarlos a voluntad y quedarnos con lo que nos interese para pasarlo todo al formato USDZ. También soporta el .obj para poder editarlo así como .gltf y .usd.

Todo preparado para el casco y las lentes

Si analizamos la evolución que ha tenido ARKit desde su lanzamiento con iOS 11 hasta nuestros días, vemos claramente cómo Apple ha ido generando un completo entorno de desarrollo basado en este tipo de experiencias, para cubrir casi cualquier tipo de caso de uso y ofrecer una paleta increíble de posibilidades a los desarrolladores.

El objetivo final no solo es usar los iPhone y iPad como herramienta de realidad aumentada para entretenimiento, educación o uso profesional, entre otros. El verdadero objetivo son el casco y las lentes de realidad aumentada. Que esta tecnología nos acompañe en el día a día y nos permite disfrutar un paso más allá de la interacción con la información en tiempo real.

Prototipo de lentes de realidad aumentada de Apple

Rutas marcadas por flechas, información al momento de un producto y ofertas del mismo, datos en tiempo real de cualquier tipo de punto de interés, museos interactivos, experiencias inmersivas de compra online con asesores virtuales en nuestra propia casa... millones de posibilidades que redefinirán cómo interactuamos con la información.

Si a todo esto le unimos el siguiente paso que serán los sensores de profundidad 3D traseros que llegarían en los nuevos iPad Pro (según los rumores) todo se va alineando para entrar en un nuevo universo de experiencias de usuario.

Un futuro que está a la vuelta de la esquina y dónde Apple, poco a poco, paso a paso, nos ha ido enseñando a los desarrolladores el camino a tomar. Sin duda, un futuro excitante.

Temas

Publicidad

Comentarios cerrados

Publicidad

Inicio

Explora en nuestros medios