Armature: apply new DualQuat scale handling to constraints and crazyspace. #111759

Merged
Alexander Gavrilov merged 1 commits from angavrilov/blender:armature-dualquat-pivot into main 2023-09-04 14:49:36 +02:00

1 Commits

Author SHA1 Message Date
Alexander Gavrilov ddb85d3d9a Armature: apply new DualQuat scale handling to constraints and crazyspace.
The f12e9f32b5 patch introduced a new improved method of blending
dual quaternion transformations to handle combined scale and rotation
better. However, the changes were not complete:

* The new math ignored crazyspace computations, which need to compute
  a complete transformation matrix. As an optimization, the new method
  avoided fully computing the scale component, so the matrix would
  have no scale or shear.
* The Armature constraint is supposed to behave identically to the
  modifier, and it was not updated. The constraint also requires
  computing a complete matrix.

This change extracts the new math into a utility function, change
the optimization to be controlled by a parameter, and use the new
function in the constraint.
2023-09-04 15:42:57 +03:00