[Bf-animsys] How to transfer characters between similar rigs by script ?

Gaia gaia.clary at machinimatrix.org
Mon Oct 14 12:10:40 CEST 2013


Hi;

=== The setup ===

This is the demo blend file for my issue: 
http://www.pasteall.org/blend/24589

The blend file contains:

- the target rig
- a demo character attached to the target rig
- the development rig
- a script that attempts to make the intended rig adjustments (but fails)

- The development rig has deform bones and a huge amount of control bones.
- The Target rig has only the deform bones (and an attached human character)

The target rig has been reposed slightly and a new restpose has been 
defined on it. So that the deform bones of both rigs no longer match 
exactly in rest pose.

=== The Task ===

Now i want to move the character from the target rig "back" to the 
development rig without modifying the development rig. That is i want to 
adjust the target rig so that it matches the development rig. But the 
character shall follow these adjustments (via its weight maps)

My manual workflow for doing this is:

- Select the target rig and go to pose mode
- move the tail of each limb of the target rig to the corresponding tail 
in the development rig
- Adjust the target rig bones using "scale" until all bones match 
visually the pose bones of the development rig.  I omit scaling the leaf 
bones because these bones have arbitrary lenghts. While adjusting the 
target rig, my character mesh rescales correctly due to its weight maps 
and due to the rot/scale constraints of its bones.
- Apply the target rig's armature modifier
- Rig the character to the development rig.

==== The Goal ====

Now i want to do this workflow by using a script. My problem is how i 
can correctly adjust the pose bones of the target rig to match the pose 
bones of the development rig. The embedded script in the blend file does 
not work. As it does not reposition the bone tails of the limbs. This is 
where i am actually stuck. (How to reposition the pose bone bone tails)

Thanks for any help how this can be implemented.

cheers,
Gaia



More information about the Bf-animsys mailing list