Dual quaternion skinning is a technique used in 3D computer graphics to deform a mesh while preserving its volume and avoiding artifacts such as skin collapsing or twisting. In this post, we will discuss what dual quaternion skinning is, how it works, and how to not use it in Blender.
What is dual quaternion skinning?
Skinning is the process of deforming a mesh to match the movements of a rig, usually an armature or skeleton. In traditional linear skinning, the mesh vertices are weighted to bones and are deformed linearly based on their weight. However, this can result in unwanted deformations, especially around joints, where the skin can collapse or twist unnaturally.
Dual quaternion skinning is a technique that uses a combination of linear and quaternion transformations to produce smoother and more realistic deformations. Quaternions are mathematical objects that are used to represent rotations in 3D space. They are known for their ability to interpolate smoothly between rotations and avoid the problem of gimbal lock.
How does it work?
Dual quaternion skinning works by using a pair of quaternion transformations to deform the mesh. The first quaternion represents the rotation of the bone, while the second quaternion represents the translation of the bone. The two quaternions are combined into a dual quaternion, which is then used to transform the mesh vertices.
The dual quaternion transformation can be broken down into two separate transformations: a linear transformation and a rotational transformation. The linear transformation is used to move the vertices along the bone, while the rotational transformation is used to rotate the vertices around the bone.
Blender has built-in support for dual quaternion skinning, which can be enabled in the Armature modifier. To enable dual quaternion skinning, simply check the “Preserve Volume” option in the Modifier properties.
Sounds nice, but what is the issue here?
While many tutorials and animators may encourage the use of the “preserve volume” option when animating in Blender, they often neglect to mention that most game engines do not support dual quaternion skinning, which can lead to significant issues in the final product.
Bottom Line
Dual quaternion skinning is a powerful technique that can greatly improve the realism of character movement in 3D animation. However, when using it in Blender, it is important to avoid using the Preserve Volume option in the Armature modifier, as it can cause problems when exporting to game engines. In order to avoid all the unwanted deformation one can make use of control and correction bones, which I will talk about in another post. See you next time!