What is dual quaternion Skinning?

What is dual quaternion Skinning?

Dual Quaternion Skinning (DQS) is an advanced rigging technique that binds a mesh to skeletal joints. Unlike the popular alternative, Linear Blend Skinning (LBS), DQS avoids the undesirable “candy-wrapper effect” and effectively simulates volume preservation.

How do you calculate dual quaternion?

Dual quaternion

  1. In mathematics, the dual quaternions are an 8-dimensional real algebra isomorphic to the tensor product of the quaternions and the dual numbers.
  2. Compute i ( i j k ) = −j k = −i, to obtain j k = i, and ( i j k ) k = −i j = −k or i j = k.

Why use dual quaternions?

Dual-quaternions are interesting and important because they cut down the volume of algebra. They make the solution more straightforward and robust. They allow us to unify the translation and rotation into a single state; instead of having to define separate vectors.

Can quaternions represent translation?

Quaternions are generally used to represent rotations only; they cannot represent translations as well. You need to convert your quaternion into a rotation matrix, insert it into the appropriate part of your standard OpenGL 4×4 matrix, and combine it with a translation in order to rotate about an arbitrary point.

Does Unity support dual quaternion skinning?

I was discouraged to see that Unity does not support dual quaternion skinning so i took my time and implemented it myself. It uses GPU to blend quaternions however the resulting vertex positions are applied to mesh in c# script. It is unfinished and may contain bugs.

What is quaternion theory?

Quaternions were first described by Irish mathematician William Rowan Hamilton in 1843 and applied to mechanics in three-dimensional space. Hamilton defined a quaternion as the quotient of two directed lines in a three-dimensional space, or, equivalently, as the quotient of two vectors.

What is blend weight?

Portions of the character’s skin can normally be associated with multiple bones, each one having a scaling factors called vertex weights, or blend weights. The movement of skin near the joints of two bones, can therefore be influenced by both bones.

What is linear blend?

Performs a linear blend between the two input values. The blend value controls the gradation between the two input values. At 0%, Modo uses only Input A and at 100%, only Input B. Modo interpolates any values between 0% and 100% linearly.