Game Development Reference
Figure 13.4. Three iterations of the jiggle deformer. The spring imparts a velocity on
the vertex that may allow it to overshoot and (thanks to the damping coefficient) eventu-
ally come to rest. The result is jiggly-looking skin and eliminates single-frame popping
vertex.lastVelocity = (vertex.lastVelocity + a) ∗ damping;
//Calculate new position
vertex.lastPos += (vertex.lastVelocity ∗ timeStep);
Listing 13.6. A simple Hookean spring and Euler integration are all that is needed to
smooth out temporal discontinuities in a deformation stack.
Figure 13.4 shows three iterations of the jiggle deformer on a single vertex.
The green point is the input vertex that the black dot is attempting to match. The
blue arrows show the force vector that acts to bring the vertices together. Notice
the vertex can overshoot and come back to the final position; this is the jiggle
effect we are going for.
The deformation system proposed in this article extends existing deformation
techniques to include better preservation of volume, skin sliding over bone, elas-
ticity, and jiggle. It is my opinion that these are the major visual elements needed
to overcome the stiffness of contemporary deformation methods. Rather than
being a disruptive new paradigm, the proposed deformation system is a natural
evolution of existing techniques.
13.7.1 Deformer Weights
There are a few nontrivial hurdles to overcome in the successful application of
these ideas in a real-world production. Most importantly, there is the problem of