Destruction in Video Games: The Final Part

As I mentioned yesterday, today is all about Shape Matching Methods for destruction in video games. Conceptually, these methods are easier to understand than Finite Element Methods, but mathematically, they are roughly just as difficult as FEM. So to avoid lengthy mathematical equations, let's just talk about it conceptually. 

Recall that Finite Element Methods depend mostly on the physical properties of the object's material for simulation and are meshed. Shape Matching Methods are geometrically based and work with meshfree models. Meshfree models don't depend on a collection of connected points. As their name implies, they depend on the shape of the object directly! These methods don't require expensive decomposition or computations like FEM, which make them a lot faster for certain cases (specifically simple deformations on more rigid objects)

Shape Matching Methods are useful for meshless deformations, since they rely only on geometric constraints and distances between points instead of internal energies like FEM. The algorithm for meshless deformation is decently simple to understand. Given that you have a bunch of particles with mass in some starting configuration (i.e. arrangement), we can draw a "simulated mesh" connecting these particles to define some shape of this starting configuration. Note that these particles are NOT connected in an actual mesh and we assume there isn't any particle-particle interaction between them. These particles are simulated and respond to collisions or external forces only. We also assume that we have no idea of their connectivity to each other; we are just defining some shape (configuration) that we will later match after deformation occurs. Also note that these shapes can be anything. It really depends on the way the particles are set up. So now let's say we apply some external force to this "simulated mesh." What happens is that the particles of the original configuration begin to deform and we see rotations and translations of these deformed points begin to occur. With the new positions of these deformed points, we match the original shape (configuration) near the new positions of the particles to determine the optimal rotation and translation of the original shape to get "goal points". These "goal points" represent the original shape of our starting configuration except rotated and translated to define the directions that our deformed particles should move in to reach the goal points. In other words, we need these "goal points" to figure out the directions our points should move in to end up with the same shape we started with, except rotated and translated. That's why it is called shape matching!

Essentially we:

  1. start with a bunch of particles in some shape,

  2. we apply forces to deform these points from the starting configuration,

  3. we align that same starting shape (except with the points rotated and translated) to the newly deformed particles' positions (goal points),

  4. and we move those deformed points towards the goal points to get the original shape we started with!

Check out the image below to help understand what I mean! It makes a lot of sense with a pictorial representation!

Shape Matching Methods are mainly suited for stiff or nearly rigid objects, and thus they can be problematic with objects that need to undergo large amounts of deformation. You can extend the range of motion by accounting for Linear or Quadratic deformations.

In terms of speed, ease of use, and quality of animation, Shape Matching Methods are generally very good. They're pretty fast and can simulate hundreds of SIMPLE deformations of objects in real-time.

Here is a helpful link to learn more about Shape Matching Methods, the mathematics behind it, and where I received the image below!

https://www.cs.drexel.edu/~david/Classes/Papers/MeshlessDeformations_SIG05.pdf

Meshless.PNG