Soft Body Maya Deformer Using Shape Matching

A project conducted for the course TNCG13, SFX - Tricks of the Trade at Linköping University. It is a C++ deformer plugin for Maya, based on the paper "Meshless Deformations Based on Shape Matching" by Müller et al.

Vertices of meshes are simulated individually as particles and after each time step the original shape gets matched against the deformed one. We find the best quadratic transform and apply it to the original shape. Then all the individual vertices gets translated towards their respective transformed position.

The shape matching algorithm does not need any connectivity information and is thus suitable for arbitrary meshes as long as they can transform realistically with quadratic transformations.

We were three students working together on this project and I contributed with the following:

  • Setting up a general template plugin for Maya work from and to build the project using cmake. This template can be used as base for other deformer plugins.
  • Particle dynamics (gravity force, euler integrations, impulse upon collision with ground plane).
  • Rotational, as well as linear and quadratic shape matching using singular value decomposition of covariance matrices.

We have a report and a github page for this project