¿Qué frameworks de RA son utilizados en Onirix?
El desarrollo de aplicaciones móviles de Realidad Aumentada obliga a desarrolladores a lidiar con una serie de frameworks que requieren de un conocimiento específico. Desde Onirix, tratamos que los desarrolladores lo tengan más fácil, permitiéndoles centrarse principalmente en su proyecto. De esta manera, puedes hacer uso de RA en tus proyectos sin necesidad de dominar dicha tecnología al detalle.
A continuación, en este artículo, veremos los frameworks que son utilizados en Onirix:
Compilar para múltiples plataformas con Unity
Onirix ofrece la posibilidad de tres experiencias diferentes de Realidad Aumentada: Targets, Places o Spaces. Para Targets y Spaces, Onirix usa Unity como el motor principal de renderización y desarrollo de la plataforma, debido al alto uso de contenido 3D en este tipo de experiencias.
Unity es una herramienta que permite a desarrolladores usar la misma aplicación en diversas plataformas sólamente teniendo que generar una única versión de la app. Onirix hace uso de esta función permitiendo que el usuario transfiera la misma aplicación de Android a iOS, o viceversa, en un solo paso. Además, actualmente estamos trabajando para que la compatibilidad con otras plataformas como Microsoft Hololens y MagicLeap llegue pronto.
Unity es el motor 3D más famoso y más utilizado para aplicaciones móviles en el mercado. Una de las mayores ventajas que tiene, es que es muy cuidadoso con todo tipo de recursos, algo particularmente importante en plataformas móviles, donde el poder computacional es muy limitado.
Además de todo, Unity permite que desarrolladores usen un plan totalmente gratuito hasta que empiecen a generar dinero con sus aplicaciones. Los planes de pago también son muy asequibles.
ARCore y ARKit para Experiencias Homogéneas
La Realidad Aumentada ha estado experimentando un gran cambio en los últimos años, debido en gran parte a la gran evolución del hardware de los dispositivos móviles. Cuando los primeros sensores CMOS de las cámaras de móvil aparecieron en el mercado, los dispositivos todavía tenían un procesador muy limitado. Dichos dispositivos, solo eran capaces de detectar colores, o figuras simples como cuadrados negros. Ese tipo de figura se ha ido utilizando hasta que los dispositivos han llegado a alcanzar el poder suficiente para detectar imágenes más complejas, como portadas de revistas.
Sin embargo, dado que el grado de diversidad de dispositivos móviles y sensores de las cámaras seguía siendo muy alto (diferentes resoluciones, enfoques, parámetros distorsionados, etc), los SDKs de Realidad Aumentada tuvieron un inicio difícil a la hora de proporcionar una solución que pudiera funcionar homogéneamente en diferentes dispositivos.
Al final, las reacciones de usuarios al tener experiencias de RA en las aplicaciones móviles por aquel entonces, variaban entre “no se cómo, pero parece que funciona…” hasta “esto no funciona, no hace nada”. Todo esto era debido a que las experiencias eran controladas por el dispositivo.
Afortunadamente, todo empezó a cambiar con la llegada de ARCore y ARKit. Estos frameworks, fueron desarrollados por Google y Apple para sus sistemas móviles operativos, Android e iOS respectivamente.
Estos frameworks no solo aseguran tener experiencias homogéneas en dispositivos compatibles, sino que también proporcionan otras funcionalidades como SLAM (Localización y Mapeado Simultáneos), que permite a dispositivos entender y localizarse a sí mismos en el entorno, detección de planos (superficies horizontales y verticales) y medidor de luz.
ARCore y ARKit son capaces de asegurar homogeneidad restringiendo el número de dispositivos con los que son compatibles. Solamente aquellos por encima de un cierto umbral de procesamiento y que permitan calibración en los sensores y en IMU (Unidad de Medición Inercial), serán compatibles con estos frameworks.
Además de proporcionar todo esto, ARKit y ARCore son frameworks complejos que requieren de OpenGL, una especificación estándar de álgebra linear y múltiples vistas geométricas.
Onirix hace uso del gran poder de estas dos plataformas además de proporcionar un extra en cuanto a contenido y visualización.