Skinning with Dual Quaternions
6th August 2008: Link to our new paper.
5th June 2007: Cg vertex shader combining dual quaternion skinning with scale/shear joint transformations.
6th May 2007: An optimized Cg vertex shader (using a fast trick to rotate vector by quaternion).
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 rendering 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
- 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.
© 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
Ladislav Kavan, Steven Collins, Jiri Zara, Carol O'Sullivan.
Geometric Skinning with Approximate Dual Quaternion Blending
ACM Transaction on Graphics, 27(4), 2008.
Other related papers can be found on Ladislav's homepage
Email: kavanl at cs.tcd.ie (Ladislav Kavan)