In order to correctly drive corrective shape keys from a freely
rotating joint it is very often found necessary to decompose the
rotation into separate bending and twisting motions. This type
of decomposition cannot be reproduced by any Euler order or
a single quaternion.
This is done by using a helper bone with a Damped Track constraint
aimed at the tail of the control to pick up the bending part, and
its helper child with Copy Transforms to separate the twist.
Requiring two additional bones to drive a shape key or a correction
bone seems inconvenient, so this implements the necessary math as new
options in the recently introduced Rotation Mode dropdown of the
Transform Channel driver variable type. The data is also accessible
as a Transformation constraint input.
The output is in the form of Quaternion-derived 'pseudo-angles',
which for Bend + Y Twist would represent the following:
- W: true bend angle, independent of bend direction.
- X, Z: pseudo-angles representing the proportion of bending around X/Z.
- Y: true twist angle.
