Skinning with Dual Quaternions

News

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).

Overview

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).

Benefits

  • 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

Limitations

  • 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)

Demo

Implementation

Download

Note: By downloading the following source code, you agree to be bound by this licence.

Reading

Ladislav Kavan, Steven Collins, Jiri Zara, Carol O'Sullivan.
Geometric Skinning with Approximate Dual Quaternion Blending  PDF  BIBTEX  AVI
ACM Transaction on Graphics, 27(4), 2008.
© 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 indicated above.

Other related papers can be found on Ladislav's homepage

Contact

Email: kavanl at cs.tcd.ie (Ladislav Kavan)
Tel: +353-1-896-3679