Lumicles es un software desarrollado por Federico Marino, que simula partículas 3D en tiempo real utilizando la GPU. La aplicación, escrita en Javascript y WebGL, se basa en la biblioteca Three.js y se ejecuta en un navegador web. El proyecto nació en 2016 y continúa en desarrollo.

Las partículas están sometidas a campos de fuerza cuyos parámetros pueden modificarse en tiempo real durante la simulación. Estos campos se describen mediante funciones matemáticas y lógicas en un programa GLSL. Se utilizan varios tipos de funciones de ruido para generar aleatoriedad y desorden.

Cómo funciona

Utiliza la información almacenada en mapas de textura (en la memoria de la GPU) para representar la posición XYZ de cada partícula y actualizarla mediante un pixel shader. Esto permite simular hasta 4 millones de partículas en tiempo real de forma muy eficiente.

El usuario puede volar libremente dentro de la nube utilizando distintos tipos de cámaras. La simulación puede pausarse en cualquier momento y es posible descargar capturas de pantalla en ultra alta resolución, con precisión de 16 bits por canal RGB.

Emergencia y Aleatoriedad

El resultado final expone el concepto de emergencia, donde un conjunto de reglas simples de bajo nivel crea complejidad de alto nivel. En este caso, el movimiento de cada partícula está controlado por programas simples; sin embargo, a medida que la simulación avanza, emergen patrones y estructuras complejas.

El resultado de la simulación depende de las condiciones iniciales, de cómo el usuario modifica los parámetros con el tiempo y de otros factores aleatorios que conducen a un número prácticamente infinito de escenas posibles.

El subsistema de audio

La banda sonora final se genera en tiempo real combinando múltiples archivos de audio MP3 predefinidos mediante la Web Audio API (biblioteca Howler.js). Algunas pistas se activan en eventos específicos; otras se reproducen continuamente.

Se aplican varios tipos de filtros de audio a las pistas, basados en la posición y orientación del usuario en el espacio 3D, así como en los parámetros de la simulación. Además, se aplica un filtro de audio espacial a ciertas pistas para simular fuentes de sonido ubicadas en el espacio virtual.

La experiencia sonora depende fuertemente del recorrido del usuario a través de la nube tridimensional de partículas.

Realidad Virtual (WebXR)

El software también puede experimentarse en Realidad Virtual mediante la API WebXR. Usando un casco Oculus Rift, el usuario puede sumergirse dentro de las nubes de partículas y controlar la simulación 3D en tiempo real con un joystick de XBOX.

La experiencia cuenta con un modo para principiantes, donde el usuario puede recorrer cientos de presets que crean escenas únicas simplemente presionando un botón del control. Los colores de las partículas se eligen de una lista de 100 gradientes predefinidos que pueden controlarse por separado.

En colaboración con el artista Esteban González, quien diseñó y compuso los audios para las diferentes escenas de simulación, presentamos Lumicles VR en el Concurso Nacional de Arte y Tecnología 2018, organizado por el Fondo Nacional de las Artes de Argentina.

El proyecto fue seleccionado entre otros 25 y estuvo en exhibición en el Centro Cultural Kirchner (CCK) en Buenos Aires, desde septiembre hasta noviembre de 2019. Algunas imágenes de la instalación se muestran en la siguiente galería.

Tráiler para Arte y Tecnología 2018
Tráiler para Lumen Prize 2019

Más videos pueden encontrarse en este canal de YouTube

Imágenes

El software puede generar imágenes de hasta 9600 x 5400 píxeles con precisión de 16 bits por canal RGB.

Federico Marino es ingeniero en software y artista visual que vive en Buenos Aires. Trabaja como desarrollador independiente y también enseña Gráficos por Computadora en la Facultad de Ingeniería de la Universidad de Buenos Aires.

Está especializado en el desarrollo de aplicaciones 3D y le interesa explorar nuevas formas de combinar arte y tecnología. En su blog www.fedemarino.com.ar, muchos de sus proyectos exploran el uso del software para crear sistemas generativos y experiencias 3D interactivas.

Contacto y redes sociales

info@fedemarino.com.ar