enero 25, 2023

Innovaciones en Simulaciones Físicas: más interacción

*Con la colaboración de David Ávila.

Seguimos trabajando en las utilidades de nuestro motor gráfico 3D Evergine. Hoy te queremos presentar una que nos hace especial ilusión y que te puede ayudar a simular movimientos tan diferentes como choques de partículas o el efecto del aire sobre un coche estático dentro de un túnel de viento.

Qué hemos hecho

Hasta ahora, cuando buscabas demos de motores de física en un navegador web, solían tener funcionalidades muy reducidas: pocos objetos, limitadas formas de interaccionar… En cambio, como puedes ver a continuación, hemos conseguido llevar toda la funcionalidad de un motor avanzado de física (Bullet Physics) a los navegadores web. Esto permite formas más avanzadas de crear simulaciones físicas en tiempo real. En el siguiente ejemplo, se puede ver una simulación usando joints, que interconectan diferentes objetos físicos entre sí (los distintos eslabones del puente) y reaccionan dinámicamente con el resto de los cubos de la escena:

Hasta ahora era difícil conseguir este nivel de física en un navegador web. En el siguiente vídeo tienes todavía más elementos y es posible ver cómo interaccionan entre ellos al ser impactados por proyectiles físicos:

Para qué sirve

Diversas industrias pueden usar esta innovación. Por ejemplo, en la representación del choque de partículas, algo de lo que también se aprovechan laboratorios de investigación, universidades u otros centros educativos. Igualmente, se puede utilizar para túneles de viento virtuales que comprueben la resistencia al aire de vehículos, aviones o puentes. También, a partir de ahora no haría falta ‘lanzar’ matemáticamente rayos en la reproducción de fenómenos atmosféricos dentro de aplicaciones web. Adicionalmente, conseguir simulaciones físicas realistas permite diseñar entornos avanzados en machine learning.

Asimismo, gracias al soporte web de simulaciones físicas, la WebXR se puede aprovechar de ello. Por ejemplo, iniciar en el teléfono móvil una aplicación web con WebXR que permita, mediante AR (Realidad Aumentada) y desde la pantalla, interaccionar con objetos físicos colocados virtualmente en el mundo real.

Cómo lo hemos conseguido

En Evergine, nuestro principal motor de física es un motor gráfico open source llamado Bullet Physic o Bullet a secas. Recientemente hemos conseguido que Bullet se compile en WASM, un formato de código binario para ejecutar en navegadores web.

Todos los motores gráficos que conocemos utilizan motores de física externos y compilan a Javascript o a S.js, pero casi ninguno se ha compilado a WASM. Lo hemos conseguido gracias a Emscripten, que permite compilar WASM a partir de código C++, y también gracias a los últimos avances de Microsoft en los compiladores de Blazor, que nos permite enlazar la librería de Bullet Physics y usarse en el motor de Evergine. De hecho, todo esto ha sido posible gracias a las últimas novedades que Microsoft ha lanzado en Blazor y también en .NET6, otro framework de la compañía para desarrollo de aplicaciones.

En definitiva, esta innovación nos coloca a la vanguardia de los motores gráficos y a la generación de imágenes 3D en navegadores web. Si quieres saber más sobre las novedades de Evergine gracias a los avances de Blazor y .NET6, estaremos encantados de ayudarte.

josé manuel blanco
Author
José Manuel Blanco
Content Specialist

¿Ya te vas?

Suscríbete a nuestra newsletter para estar al día de las últimas noticias, casos de éxito y mucho más. 

No mandamos spam y puedes darte de baja en cualquier momento.