Game Development Reference
In-Depth Information
(a)
(b)
Figure 14.6. The original shape of a vertex i and its neighbors is matched to the deformed
shape ( x i ) by an optimal rigid transformation. (a) This results in a goal position c i for
vertex i . (b) Then the vertex x i is pulled towards the goal position c i .
move than lighter particles—a displacement for a heavy particle should cost more
than that of a light particle.
Since the calculation of this rotation is not directly obvious, the derivation of
it is put into the appendix for the interested reader.
Now the spring force can be used again to construct a force that pulls the
vertex towards the goal positions c i :
= c i
x i
f detail
i
.
h 2
Since the least-squares goal positions were calculated, it should be remarked
that these can also be used to build a rigid-body simulator. The goal positions
are, of course, the positions of the rigid shape. If we let the actual positions of the
vertices directly snap to the goal positions after each integration step, the behavior
of a rigid body is mimicked.
The goal positions can also be used to introduce another form of damping: one
process [Muller et al. 08] uses the least-squares algorithm to fit an instantaneous
rigid motion to the particles. Then at every time step, nonrigid motion is bled off
until only the rigid body motion remains.
14.3.3 Deformable Surface Mesh
We have accumulated several forces that can act on every vertex in the mesh. The
relative strength of the forces must be defined per material or per vertex. They
can be tuned by the designer via an editing interface in the model editor so they
end up with a realistic simulation of the material in question. Another method
would be to acquire the parameters from example animations that already exist