Llega la nueva versión de PhysX 5, el motor de simulación open source de NVIDIA
Después de casi cuatro años desde el último hilo, NVIDIA dio a conocer la noticia del lanzamiento del código fuente de su motor de simulación física PhysX 5, que es el segundo lanzamiento importante desde que el proyecto pasó a ser de código abierto.
Para quienes desconocen de PhysX, deben saber que este es uno de los motores de física más populares que se utiliza para manejar interacciones físicas en más de 500 juegos y está incluido en muchos motores de juegos populares, incluidos Unreal Engine, Unity3D, AnvilNext, Stingray, Dunia 2 y REDengine.
El motor es escalable para varios tipos de hardware, desde teléfonos inteligentes hasta potentes estaciones de trabajo con CPU y GPU multinúcleo, y permite aprovechar al máximo la potencia de la GPU para acelerar el procesamiento de efectos.
Entre las áreas de aplicación de PhysX, podemos mencionar la implementación de efectos tales como destrucción, explosiones, movimientos realistas de personajes y automóviles, remolinos de humo, árboles que se doblan por el viento, agua que fluye y fluye alrededor de obstáculos, ropa revoloteando y rasgada, colisiones e interacciones con cuerpos duros y blandos.
“Tener una poderosa herramienta de código abierto para física como la nueva biblioteca PhysX 5 de NVIDIA es una parte fundamental del realismo que ofrece Open 3D Engine”, dijo Royal O’Brien, director ejecutivo de Open 3D Foundation y gerente general de Digital Medios y juegos en la Fundación Linux.
Principales novedades de PhysX 5
En la nueva versión de PhysX 5 se destaca que la biblioteca incluye NVIDIA Flow (simulación de fuego, líquidos en llamas y humo) y NVIDIA Blast (simulación de falla estructural).
Otro cambio que se destaca de esta nueva versión, es que se implementó la compatibilidad con las capacidades de NVIDIA Flex para crear efectos visuales en tiempo real basados en el comportamiento de partículas simuladas. Las funciones admitidas incluyen dinámica de cuerpo blando basada en modelos de elementos finitos, aplicación de dinámica posicional a fluidos, tejidos y objetos inflables, mecanismos avanzados de detección de colisiones.
Ademas de ello, tambien se destaca que se implemento el sistema de partículas PBD (Position Based Dynamics) para simular líquidos y materiales granulares.
Se ha agregado una nueva arquitectura de almacenamiento de partículas que facilita agregar y eliminar partículas sobre la marcha y no requiere definir un número máximo de partículas. Tambien se destaca que se agregó la capacidad de definir geometrías personalizadas, por ejemplo, para admitir formas cilíndricas y sistemas de bloques implícitos.
En el sistema de simulación de comportamiento de partículas, se implementa la capacidad de unir un material diferente a cada partícula.
Por otra parte, podremos encontrar que se agregó compatibilidad con la dinámica de cuerpos blandos basada en el método FEM (método de elementos finitos) y la capacidad de crear un cuerpo blando a partir de una malla triangular.
De los demás cambios que se destacan de esta nueva versión:
- El rendimiento de la computación paralela con CPU y GPU se ha mejorado significativamente.
- Se agregó SDK de vehículos para simulación en sistemas de conducción autónomos.
- Se ha agregado un nuevo sistema de consulta para determinar las intersecciones en la escena.
- Se ha implementado un sistema de detección de colisiones basado en la función SDF ( Signed Distance Field ).
- Se ha agregado una nueva API para usar el algoritmo de detección de colisiones GJK (Gilbert-Johnson-Keerthi).
- Se agregó un mecanismo para determinar la superposición de mallas.
NVIDIA espera que después de pasar el proyecto a la categoría de código abierto, podrá ir más allá de las herramientas de desarrollo de juegos y tendrá demanda en áreas como la síntesis de datos para la investigación de inteligencia artificial y para el entrenamiento de redes neuronales, creando entornos realistas para el entrenamiento de robots, simulación de condiciones reales en el proceso de funcionamiento de vehículos autónomos y pilotos automáticos.
También se espera que la adaptación del motor para sistemas de clúster de alto rendimiento logre un nuevo nivel de detalle y precisión en la simulación de procesos físicos.
El código del proyecto se distribuye bajo una licencia BSD y es compatible con las plataformas Linux, macOS, iOS, Windows y Android. Además del propio motor, bajo la licencia BSD, el código y las herramientas PhysX SDK asociadas también están abiertas.
Finalmente si estás interesado en poder conocer más al respecto, puedes consultar los detalles en el siguiente enlace.