Schrödinger's Smoke in Unity with ArrayFire

John Case Studies Leave a Comment

Researchers in Russia used ArrayFire to achieve impressive results modeling Eulerian incompressible fluids in the Unity game engine.

The team developed a solution that allows us to simulate particle systems with high physical accuracy using ArrayFire. The solution makes it possible to simulate the interaction of two vortex rings—their collisions and intersections. The particle system is a method used in computer graphics and interactive simulations to represent objects that do not have clear geometric boundaries.

This makes it possible to create practically any type of natural effects—e.g., explosions, jets of steam, nebulae, rain, snow, water splashes, fire smoke, etc. The particle system controls groups of particles—that is, small flat images or mesh objects. Any particle has a certain ‘lifetime’ (usually a few seconds) during which the particle may undergo various changes.

The performance improvements the researchers achieved using ArrayFire are published in this paper and included in the chart below.

The researchers are working now to test their implementation on a supercomputing system and to further refine performance. They intend to integrate the results into an archaeological modeling project.

This particular paper did not have videos showing the results, but we like the following video that shows an example of what it means to build a Schrödinger's Smoke algorithm. Enjoy!