Game Development Reference

In-Depth Information

Figure 13.1.
With
0
.
5
weighting to two bones and a rotation approaching 180 degrees, the

resulting vertex collapses to the center. The error between the desired position (along the

arc) and the actual position is quite noticeable. This error starts off negligible, but increases

significantly as the rotation approaches 180 degrees.

joint that is left at its rest pose). This line passes through the axis of rotation,

which means our point has completely collapsed.

But long before we get to 180
◦
(an arguably extreme rotation), the point has

already begun to deviate from the natural arc we would prefer it to take. So

limiting rotations to within some safe range is not really a solution.

This natural arc has been the subject of a lot of research. It is clear that the

naive way in which we blend matrices with the smooth skinning algorithm results

in a transformation that is no longer rigid, even if the input transformations were

themselves rigid. The loss of rigidity means that we are left with a transforma-

tion that includes some amount of scaling, when what we really wanted was an

orthonormal matrix. This would give us a nice arc under twisting motions, rather

than an ugly linear interpolation (resulting in the candy wrapper).

13.3.4 Alternatives to Smooth Skinning

So the question becomes, how do we blend rigid transformations without in-

troducing scaling? There have been several proposed methods in academic pa-

pers, including log-matrix blending, decomposition into quaternions (and blend-

ing them instead), and most recently, a promising technique based on geometric

algebra called dual quaternions (DQ). I will refer interested readers to the excel-

lent treatment of this problem found in [Kavan et al. 07].

All of these methods have their own pitfalls; some require a computation-

ally expensive singular value decomposition, while others result in unacceptable

skinning artifacts under certain conditions.

Undoubtedly, the one that has received the most attention from real develop-

ers is the dual quaternion approach. This one has the advantage of maintaining