Skinning with Dual Quaternions
The common skin deformation technique (linear blend skinning) sometimes produces non-natural results, such as below.
Several more advanced methods exist, but lead to slower run-time performance and require a more expensive
character setup. Our approach, based on dual quaternions, removes the skinning artifacts at a small
cost in computational efficiency and no cost at all in character setup. The result of our method is
pictured below (using the same model files as above).
- eliminates skin collapsing artifacts
- GPU friendly implementation
- easy rigging: uses the same model files as standard linear blend skinning
- very simple update of a 3D engine or similar software
- slightly slower than linear blend skinning (in our implementation: 7 more vertex shader instructions)
- scale/shear is now supported (via two-phase skinning - extra 29 vertex shader instructions)
- flipping artifacts (skin always goes the shorter way round)
Note: By downloading the following source code, you agree to be bound by this licence.
C source code
for conversion between regular quaternion with translation and dual quaternion
Cg source code
of our dual quaternion skinning vertex shaders
© ACM, 2008. This is the author's version of the work. It is posted here by permission of ACM for your personal use. Not for redistribution. The definitive version was published as
Other related papers can be found on Ladislav's homepage