1
$\begingroup$

I want to copy one armature as the pose of another armature.

Lets call my left armature A and my right armature B.

In the picture below, my armature A is originated by code, and my armature B is imported from Makehuman. A looks the same in the edit or pose mode. My goal is to transform B armature to look like the A armature in pose mode (i.e, deforming the mesh)

image description here

Here is my desired result (I changed my A armature by hand to achieve this effect, but I want to generate it by code).

enter image description here

I found here (How to copy position, size from one armature to another?) a way to copy them trough EDIT mode, but that does provide me what I need, since it would deform the skeleton B in the edit mode, and what I want is to deform it in the Pose mode.

Does anyone have an idea to help me?

Thank you =)

$\endgroup$
  • $\begingroup$ Is your rig A a bvh rig? If so, do a search on makewalk for makehuman. $\endgroup$ – batFINGER Sep 29 '15 at 15:27
0
$\begingroup$

This should work: go in pose mode (arm. A), edit the pose then select all bones, and use ctrl-c to "copy pose", then select the other armature (arm. B), go in pose mode, select all bones and press ctrl-v (paste pose). Edit mode af arm B remains the same as before.

I tried on simple armatures, but I suspect it needs two armatures with the same bones and structure...

if you need to make arm A like its pose, start from pose mode, and then select all bones and press ctrl-A > apply pose as rest pose: it will stay the same in edit mode...

$\endgroup$
0
$\begingroup$

Thanks for helping me!

It actually did not work since I had to make everything only in scripts, and the bones does not have the same rest pose (EDIT) mode, to achieve my goal, firstly I translate the head of my hip of arm. B to the same pos as the head of my hip of my arm B.

After that, I got how much my hip A is different (in scale) as my hip B - to get this result, I calculate the Eucledian distance between head A tail A and then head B tail B, with these results, I got the percentage of how much should I scale my hip B for get the same size as my hip B.

Finally, I got the angles between both hips, and the axis that I should rotate for then to be in the same direction, the axis I got from cross product, and the angle you can easily find it online (how to get angle between two vecs), and its done, my hip B now in the same direction, same position, and same size as the my hip A! After that, I apply only the scale and rotation to the rest of the bones! =)

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.