Caminar por un espacio en el que lo real y lo virtual se superponen. Tener la posibilidad de interactuar con el entorno, mover elementos, hablar con otros usuarios, y “anclar” un objeto digital con la seguridad de que estará allí la próxima vez que lo necesitemos.
La computación espacial está consolidándose como una de las grandes tendencias. Con su gran capacidad disruptiva, tiende a revolucionar no solo cómo interactuamos con la tecnología, sino también cómo llevamos a cabo nuestras actividades cotidianas.
¿Cómo se vive, desde la construcción de soluciones, este viaje entre los universos 2D y 3D? Muchas herramientas no fueron creadas específicamente para la computación espacial, pero se adaptan bien a las necesidades de los desarrolladores.
Más allá de los juegos
Es común que soluciones basadas en gaming y modelado, renderizado y animación 3D sean aplicables a la computación espacial: suelen tener muy pulidos los aspectos relacionados con la tridimensionalidad, la gestión de gráficos de alta resolución y una experiencia de usuario similar a la requerida por esta nueva tecnología.
Por ejemplo, Unity 3D permite llevar una aplicación tradicional a hardware diverso, incluyendo dispositivos de realidad virtual y aumentada. Lo mismo ocurre con Unreal Engine, una herramienta poderosa en términos de gráficos, y con Godot, de código abierto.
Blender, también open source, permite exportar elementos 3D a Unity y ofrece altos niveles de integración, ya que se ejecuta en la mayoría de los dispositivos existentes. Es accesible y fácil de usar, incluso para principiantes.
Estos frameworks abordan el doble desafío técnico y creativo de desarrollar aplicaciones para computación espacial. Permiten tomar referencias del mundo real y reproducirlas para crear experiencias con proporciones y percepciones realistas, al tiempo que habilitan la creatividad para no replicar exactamente el mundo físico.
Gestión de datos y herramientas de desarrollo
Otro desafío es guardar los datos de manera eficaz. Las coordenadas de interacciones, anclajes, referencias de tamaño y distancias son cruciales. Bases de datos como PostGIS, el complemento espacial de PostgreSQL, pueden ser útiles.
Para los lenguajes de programación, se recomienda trabajar con lenguajes de alto rendimiento como Python, C#, y lenguajes específicos de tarjeta de video como HLSL. Estos son necesarios para procesar grandes cantidades de datos y cálculos con vectores o identificación de imágenes.
La creación de prototipos es imprescindible para entender cómo funcionarán las interacciones y cómo reaccionarán los usuarios ante cada estímulo. Blender y ShapesXR son aliados clave en esta etapa.
Explorar lo disponible con los ojos para lo que viene.
Aunque el panorama está en constante cambio, ya se pueden delinear algunas recomendaciones para seleccionar frameworks y herramientas de desarrollo para la computación espacial. Optar por soluciones de código abierto garantiza que múltiples contribuyentes trabajen en su evolución. Además, es importante no limitarse a un solo framework, ya que existen múltiples caminos hacia la solución.
Con la aparición de nuevos dispositivos, cada uno con su sistema operativo, recursos y prerrequisitos, es esencial realizar una planificación previa para garantizar que la solución funcione en la mayoría de ellos sin perder calidad. También hay que considerar casos en que un dispositivo no disponga de un sensor específico y necesite recibir esos datos desde el backend.
En resumen, el desafío actual es explorar lo disponible en el mercado y aprovechar lo que puede ser útil para crear soluciones de computación espacial. Cada herramienta desarrollada es un paso hacia el futuro.