Do you know any solid implementation/solution of Pose Space Deformation (PSD) in Blender? Preferably already shipped within in Blender but third party add-ons can also be considered.
but I’m not really keen on making a custom script because I can’t troubleshoot readily when it breaks.
As a background, PSD works like a correctional deformer where the correctional pose is driven by a joint. But it is much more sophisticated than the simple correctional deformer as it is not driven by a simple joint rotation but rather an interpolation of angles (or of some sort).
PSD can either be cone-angle base or RBF, correct me if I’m wrong.
There may not be a phrase quite like that in Blender, but there may be a technique to get the same results. Can you describe a specific example of what you’d like to acheive?
You want to create a corrective deformation (CD) on the shoulder on T-Pose
If its a simple driver, it would be just the Rotation Z - 45 degrees. Activate CD 100%.
What if you rotate your shoulder this way (Rot X: -90 degrees, Rot Y -45 degrees, Rot Z 0)?
In the simple driver, the correction deformer will not activate at all DESPITE the fact that it looks like a T-Pose.
With the PSD, it solves this problem. It does not rely on simple rotational degrees but rather a calculation of angles between joints. In the PSD, it will fire either in 3 or 4.
I think I understand. The visual transform would the same but numerically the values would be different, leading to incorrect results in the driver.
This can be fixed by adding intermediary bones and then deriving the rotational difference from those. Try duplicating a bone in the middle of your chain, then give it a “Damped Track” constraint or something similar, to make it point to the bone ahead of it in the chain. It will appear to copy the rotation of its sibling but only as needed on certain axes. This technique helps in a lot of deformation applications.
Apologies for the late response. The “damped track” does provide some stability but it is not robust on extreme poses. Correct me if I’m wrong, “damped track” is the same with Maya’s aim/up vector constraint.
I reviewed the link above and turned out the implementation is not as hard as I imagined. At least on that specific case.