Soft Body Simulation

Google uses cookies and data to:

Feb 01, 2021 The Free & Open Source Vehicle Simulator. Rigs of Rods is a free and open-source vehicle simulator. It allows for the accurate physical simulation of a flexible soft-body object which entirely depends on the physical construction of what you make.

  • Deliver and maintain services, like tracking outages and protecting against spam, fraud, and abuse
  • Measure audience engagement and site statistics to understand how our services are used
If you agree, we’ll also use cookies and data to:
  • Improve the quality of our services and develop new ones
  • Deliver and measure the effectiveness of ads
  • Show personalized content, depending on your settings
  • Show personalized or generic ads, depending on your settings, on Google and across the web
For non-personalized content and ads, what you see may be influenced by things like the content you’re currently viewing and your location (ad serving is based on general location). Personalized content and ads can be based on those things and your activity like Google searches and videos you watch on YouTube. Personalized content and ads include things like more relevant results and recommendations, a customized YouTube homepage, and ads that are tailored to your interests.

Click “Customize” to review options, including controls to reject the use of cookies for personalization and information about browser-level controls to reject some or all cookies for other uses. You can also visit g.co/privacytools anytime.

As my graduation work at Digital Arts & Entertainment, I studied soft body physics and implemented it in my own engine using Nvidia FleX. The goal was to learn about the framework and to efficiently render and simulate soft bodies.

Challenges

  • Learning from source code in SDK
  • Efficiently rendering multiple bodies
  • Implementation in my own engine
  • Working with very little documentation

Technology Used

  • Visual Studio
  • Nvidia FleX
  • Adobe Photoshop
  • Autodesk 3ds max
SimulationSourceBuildPaper (1mb)Presentation (70mb)

Soft-body Dynamics - Wikipedia

FleX is a simulation framework. This means that it does not provide any visual feedback of what happening. Because of this, I started with creating a debug renderer that can efficiently render spheres at the position of each particle. It can render a great amount of instanced geometry without lowering the framerate too much. For extra visual feedback, the spheres are color coded depending on their collision group. Throughout my research, the visual debugger was a must to get a good result.


The next step was to research the ‘anatomy’ of a soft body in FleX. The framework has large data chuncks that holds information of all the particle systems that the solver(s) simulate each frame. To create a soft body, you load in a mesh, that mesh gets voxelized into particles with user-defined parameters. This algorithm also provides extra data called ‘rigids’ or ‘clusters’.

Soft Body Simulation

You could compare rigids with bones in animations as particles are connected to multiple clusters with different weights. Each cluster has its own rotation and translation and because of this, you get the ‘soft/fluid’ body effect.

The final step is then uploading all the data to the solver and eventually rendering the body and taking care of skinning on the GPU.

Images

Soft Body Simulation Fluid

Click on an image to enlarge