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