user2503048
user2503048

Reputation: 1041

Dual quaternions and arbitrary scales

I have code that runs many skeletal animations using matrices, and I want to convert it to dual quaternions, to get better performance.

I have only one issue - I can't find a good resource on how to handle arbitrary scales.

I do not quite understand how the scales in the skeletal hierarchy carry.

Let's say for every node in the skeleton, I have its local dual quaternion (rotation + translation) and a 3D vector for scale, what do I do with them to incorporate the scale?

Upvotes: 1

Views: 534

Answers (1)

Martin Prazak
Martin Prazak

Reputation: 1605

Skeletal animation and scale, especially non-uniform scale, is a tricky subject.

Using standard implementation of skeletal hierarchies with a matrix per bone, scale simply propagates to children, which is usually seen as unwanted behaviour - propagating non-uniform scale would lead to shear and other deformations on children bones, that would cause strange artifacts in skinning. For this reason, it is often "compensated for" on child matrix - for example, see Autodesk Maya implementation of this concept.

For a good description of integrating non-propagating scale into dual quaternions, several academic papers by Ladislav Kavan provide a lot of detail. He also has a number of lectures on Dual Quaternions on youtube.

Upvotes: 1

Related Questions