Real-time Skirt Simulation of Animated Character with Extended Position Based Dynamics on GPU

A frame from final demo

This project implements a real-time cloth simulator using extended position-based dynamics (XPBD), which reads in cloth mesh data (e.g., .obj files) and anminated character body-proxies data and generates the simulated cloth.

Although the simulator works with any cloth mesh and anminated character body-proxies in theory, the result highly depends on the match between proxies and the real body model mesh. Therefore, only the skirt in the demo is simulated with the XPBD simulator, while the other cloth (the top cloth) is simulated using Marvelous Designer for the integrity of visual effects. Below is a list of the key things I accomplished:

  • An XPBD cloth simulator that solves naive distance constraints.
  • Simple collision detections with the character body using proxies (spheres and cylinders)
  • GPU acceleration (I used warp to process the simulation on GPU)
  • Used Jacobi solver instead of Gauss-Seidal to resolve the simultaneous read/write issue caused by GPU pro- cessing.
  • Advanced rendering using blender (which involves data manipulation and conversions due to mismatch between coordinate systems)

Here’s also a list of any items I am expecting to implement in the future:

  • The collision detection/handling with the upper body of human characters due to its complex topology.
  • Cloth’s self collision detection/handling.
  • More intricate constraints for the cloth simulation that would help preserve the cloth’s form (e.g., using angle constraints instead of distance constraints for the bending).
Mingrui Wang
Mingrui Wang
CS PhD Student

My research interests include computer graphics, physics-based simulation and deep Learning.