[Bf-animsys] How to transfer characters between similar rigs by script ?
gaia.clary at machinimatrix.org
Mon Oct 14 12:10:40 CEST 2013
=== The setup ===
This is the demo blend file for my issue:
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.
More information about the Bf-animsys