Simulación de fluidos en gráficos 3D

 La simulación de fluidos en los gráficos 3D, enfocado a los videojuegos, es una parte fundamental en el desarrollo gráfico, vivimos rodeados de fluidos, algunos mas densos como el agua y otros mas livianos como el aire, pero que de igual manera interaccionan con los objetos del entorno en base a unos parámetros.

Bien es cierto, que a la hora de desarrollar un videojuego, no es necesario recrear fluidos imperceptibles al ojo humano, como el aire, pero si es conveniente llevar a cabo simulaciones de fluidos de manera físicamente realista para mejorar la experiencia del jugador con el entorno que le rodea.

Si bien es cierto que a lo largo del tiempo se ha investigado en profundidad sobre la simulación de fluidos, y se han llevado a cabo avances para mejorar dichas simulaciones, tenemos que ser conscientes de que existe una barrera invisible por la naturaleza a la hora de generar dichas simulaciones: el rendimiento del dispositivo.

Al principio, para simular agua en un videojuego, se utilizaban procesos menos costosos gráficamente, pero que los resultados dejaban bastante que desear como el desplazamiento de malla. Este proceso consiste en utilizar un mapa de desplazamiento, para generar una distorsión en el eje Z de la malla y de esta manera dar la sensación de que el agua tiene elevaciones.


Sin embargo, con el paso del tiempo esta técnica ha evolucionado en simulaciones de partículas, pero ¿Qué son las simulaciones de partículas?

Las simulaciones de partículas son un proceso físicamente exacto, donde una malla 3D compuesta por partículas, generalmente esféricas, interaccionan entre ellas y con el entorno que las rodea. Dicha interacción se produce en función a unos parámetros exactos, gravedad, viscosidad, densidad... que mediante una serie de cálculos matemáticos realizados automáticamente por el programa nos da como resultado una animación 3D de todas las partículas interactuando. 


Es aquí donde entra en juego el factor rendimiento. Llevar a cabo una simulación de algunos miles de partículas resulta relativamente costoso para el dispositivo pero es una carga de trabajo que puede asumir. Sin embargo, para poder conseguir un resultado realista se necesitan millones, si  no miles de millones, de partículas interactuando entre si todas a la vez.

Para poneros un ejemplo, en una simulación de 1.000.000 de partículas, y suponiendo una distribución en celdillas donde cada partícula esta rodeada de otras 26, el ordenador tendría que realizar 26 cálculos distintos para cada partícula en la escena lo cual nos da un total de  26.000.000 de cálculos distintos, una cantidad imposible de asumir en tiempo real.

Sin embargo, en los últimos años se ha desarrollado una nueva forma de simulación que permite reducir ligeramente el costo de este proceso y que no involucra partículas sin curvas. El programa calcula trayectorias de curvas y una vez generada una malla base con una cantidad de detalle reducido, aplica un relieve falso 3D para dar la sensación de detalle en algunas zonas concretas. Esta técnica todavía esta en desarrollo por lo que no es muy utilizada actualmente.

Comentarios

Entradas populares