Sorry, I got delayed by some RL business. But here are now some screenshots:
I have two sekletons, one of which is in A-Pose and the other in T-Pose:
For the makhuman skeleton, I am applying a T-Pose. The other one has an animation:
In the timeline, the animation can be previewed:
The retargeting will occur from the active armature to the first selected armature (if there was more than one target armature selected, I could copy the animation to all of them, just did not yet get around to implementing that)
Here I am actually unsure - the normal Blender paradigm seems to be "selected to active" instead of "active to selected". But I was thinking that there is alway only on source armature, while there can be multiple targets - just as there is only one active, but multiple selected objects.
Now you need to define the mapping of bones in the source sekeleton to bones in the target sekeleton (this will eventually be (semi-) automated):
The right side of the list (where you select the source bones) is quite nice - with the Eyedropper tool you can select bones from the Outliner rather conveniently. The left side is what i am struggling with: currently it is a UIList, with some buttons for expanding the items, but the programming behind it is quite complicated plus the result looks ugly. What I would like is a tree representation like Blender itself has in the outliner, but I don't know how to do that.
Anyway, once all the mappings are done, push "retarget" and voilà:
(Never mind the fingers, I haven't mapped them - doing this manually when the bones don't even have sensible names that indicate which is right and which is left is quite a lot of work.) Of course the retargeting will only be as good as the poses you start with match; there is still some room for improvement.
Well, this is what i have so far - next steps are
- including the global transforms of the armatures into the calucaltion (right now I have cheated a little by applying all transforms up front)
- adding root motion (the lack of which is why the left character in the obove picuture has its feet in the air while the right one stays on the ground)
- automating the bone mapping
- lots of tests with different armatures
Any comments or suggestions for improvement?