0
$\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$
1
  • $\begingroup$ Is your rig A a bvh rig? If so, do a search on makewalk for makehuman. $\endgroup$
    – batFINGER
    Commented Sep 29, 2015 at 15:27

2 Answers 2

1
$\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$
-1
$\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$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .