Desarrollo rápido de Interactivos

Por Mario A. Martínez Latorre
10-06-2021

Un mejor enfoque en el prototipado rápido de escenas 3D

Desde la concepción inicial hasta su versión finalmente funcional, el desarrollo de Contenidos Interactivos para usos informativos, de formación o lúdicos, concita gran cantidad de labores correspondientes a distintas especialidades en las que, en VÓRTICE, somos especialistas.

Así, podemos identificar a grandes rasgos: el propio diseño de la mecánica del interactivo, los recursos gráficos y de sonido, y la implementación a través del desarrollo de software.

Es en lo referente al software donde, sin duda, sería estupendo contar con algún tipo de herramienta de desarrollo ágil, con la que obtener versiones totalmente funcionales en el menor lapso de tiempo.

Una herramienta visual e intuitiva, que permitiese evitar en mayor o menor medida la tediosa labor de "picado" de código, al menos para la implementación de los aspectos más básicos y repetitivos del desarrollo.

Es aquí donde vamos a fijarnos en Reality Composer.

No somos muy de Apple, pero Reality Composer nos enamora

Reality Composer es una de las aplicaciones que forman parte de la "suite" de Realidad Aumentada de Apple, junto con Reality Converter, las USDZ Tools y el propio XCode (12+).

En concreto está orientada a la construcción, puesta a prueba y refinamiento de experiencias interactivas, que luego se podrán llevar, si se desea, al campo de la RA a través del motor de software ARKit; funcionalidad también implementada en esta estupenda aplicación, disponible tanto en versión de escritorio como móvil.

Vista de la pantalla principal de Reality Composer

El funcionamiento de esta herramienta es eminentemente visual, contando para ello con una interfaz de usuario (UI) intuitiva y bien equilibrada en su manejo (UX), que nos permite la creación de escenas 3D, tanto en cuanto a contenidos visuales y sonoros, como de eventos contemplados y comportamientos permitidos.

Es gracias a esto último (eventos y comportamientos), que esta herramienta de prototipado rápido nos evita ciertas necesidades de programación (siempre con límites y esperables mejoras), tal y como expondremos más adelante en esta misma entrada de blog.

USDZ no es ninguna moneda

Para construir escenas, en Reality Composer trabajaremos con distintos elementos 3D, que podrán ser o bien primitivas geométricas (cubos, esferas, conos, ...) o bien modelos personalizados, que habremos de importar por medio de ficheros USDZ.

El formato USD (Universal Scene Definition), junto al GLTF (Graphic Library Transmition Format) del cual ya hemos hablado en este blog, son los marcos de trabajo para el intercambio y visualización de datos gráficos tridimensionales, que se han convertido en los estándares de facto dentro de la industria. La versión USDZ no es más que un paquete contenedor comprimido en formato zip, sin encriptación.

Las grandes diferencias entre USD y GLTF radican, por un lado, en que el primero es una iniciativa privada (Pixar - Apple), mientras que la segunda es fruto del trabajo conjunto de organismos y empresas (Kronos Group). Como segundo gran punto de distinción, en un fichero USD podremos alojar no solo las geometrías de que consta una escena, sus sonidos y diversas animaciones, sino también aspectos de su comportamiento. Podría decirse que de este modo permite albergar escenas ya dotadas de la inteligencia necesaria que les permite interactuar.

Reality Composer nos permitirá exportar nuestras escenas tanto a un fichero .usdz como .reality.

Aliens & Cowboys

En VÓRTICE creemos firmemente en que no hay mejor manera de explicar cualquier proceso o tecnología, que por medio de un ejemplo plenamente funcional.

De este modo, iremos explicando los pasos para la creación de una experiencia interactiva, que además llevaremos a la Realidad Aumentada, echando mano de la conocida historia en la que una serie de vacas, que se encuentran paciendo tranquilamente en un prado, son abducidas por un OVNI que aparece repentinamente sobre ellas.

Contar con un hilo argumental nos va a permitir dotar al conjunto de un enfoque atractivo, a la par que práctico, trabajando como si de un proyecto real se tratase.

Una simple cuestión de recursos

En todo caso, ya que estamos aquí ante una demostración sin ningún ánimo de lucro, hemos optado por emplear en algunos casos modelos 3D llevados a cabo por terceros, recurriendo para ello al estupendo repositorio en línea SketchFab, bajo licencia Creative Commons Attribution:

  • el OVNI / "ufo" by thundercg9;
  • su rayo tractor, que no es más que una primitiva 3D cónica con cierta transparencia;
  • lo que podríamos llamar esferas de abdución / "Sphere" by m.Avramov;
  • por supuesto algunas vacas / "Cow NPC" by Owlish Media;
  • y textos 3D para distintos usos.

Asimismo, la banda sonora del interactivo se ha generado a partir de una serie de efectos de sonido (SFX) incidentales y distintas ambientaciones sonoras. Para ello se han empleado los recursos que Reality Composer pone a nuestra disposición, en forma de infinidad de ficheros de audio descargables.

Montando una escena

Salvo en casos extraordinariamente sencillos o banales, a la hora de acometer cualquier desarrollo de software es obviamente preciso partir siempre de una adecuada planificación.

Reality Composer nos dirige también en cierto modo hacia esas buenas prácticas, poniendo a nuestra disposición el concepto de escenas, a las que accederemos a través de un panel colapsable específico.

En este contexto, podemos considerar una escena como la representación de una "pantalla" o "etapa", con una identidad diferenciadora dentro del conjunto que configurará la experiencia interactiva. Los comportamientos, que veremos más adelante con todo detalle, nos permitirán saltar de una escena a otra cuando se cumplan ciertas condiciones.

Para "Aliens & Cowboys" consideraremos únicamente dos escenas: la que cumple el papel de inicio y presentación (habitualmente denominada "splash") y la que propiamente albergará toda la funcionalidad, el "game loop" si queremos denominarlo así.

Escenas de la app en Reality Composer

Siempre abiertos a otras realidades

Si bien Reality Composer nos permite ejecutar el interactivo que estemos diseñando sin tener que recurrir a la Realidad Aumentada, para este proyecto sí queremos emplearla, utilizando para ello un iPad de octava generación con chip A12 Bionic.

Sea como fuere, a la hora de crear una escena, Reality Composer siempre nos preguntará por el tipo de ancla de RA que deseamos emplear, siendo en nuestro caso la adecuada, el plano horizontal.

Selección del tipo de ancla de Realidad Aumentada en Reality Composer

Estos anclajes RA son entidades lógicas que se encargan de que, tanto los modelos 3D como las fuentes de sonido espacializado, permanezcan en la misma posición y orientación espacial, manteniendo así la coherencia necesaria para mantener la ilusión de que distintas entidades virtuales se encuentren ubicadas en el mundo real.

Aprendiendo a comportarnos

Para introducir en el interactivo la lógica necesaria para su funcionamiento (su programación hablando de manera más llana), Reality Composer utiliza la clásica arquitectura dirigida por eventos (event driven), a través de los aquí denominados Comportamientos.

Estos Comportamientos harán las veces de manejadores (o escuchadores si se prefiere) de eventos, que se dispararán al producirse este o aquel suceso.

En este sentido, Reality Composer pone a nuestra disposición una serie de comportamientos ya predefinidos, brindándonos también la opción de personalizarlos totalmente desde cero.

Tipos de comportamientos permitidos por Reality Composer

Cada Comportamiento está formado a su vez por un Activador (o Disparador), que es el evento que lo inicia, y la Secuencia de Acciones que queremos que se ejecuten como respuesta.

Tipos de activadores permitidos por Reality Composer
Tipos de acciones permitidas por Reality Composer

Considerando tres vacas "activas", los comportamientos que hemos implementado en el caso de "Aliens & Cowboys" son:

  1. Sceme_Init_LoopAmbient
  2. Scene_Init_HideItems
  3. UFO_Init_SpinMotion
  4. UFO_Init_SpinSFX
  5. Cow01_Abduction
  6. Cow02_Abduction
  7. Cow03_Abduction

Con semejantes antecedentes ¿a quién no le apetece adoptar el papel de mujercilla u hombrecillo verde y comenzar a abducir vacas?

Valoramos en mucho tu privacidad. Por ello, en este sitio web no utilizamos "cookies" propias ni de terceros.