[Bf-funboard] feature idea: edit mode constraints

bassam bkurdali at freefactory.org
Thu Jan 22 17:22:12 CET 2009


Hi list:
some of you may be aware of martin's etch-a-ton blender branch, that
allows sketching armatures, and using the sketching interface to
retarget existing rigs from templates.
one of the issues I encountered from the retarget experiment was that
bones that were 'unbounded' by joints- think the target / control bones,
or the various 'helper' bones in an armature, not the ones in a chain
that are normally attached to the geometry - became oriented or
positioned wrongly after the retarget. This is because the retargetting
doesn't know that *this* bone is supposed to be aligned to the world, or
that *that* bone is supposed to be aligned with the *other* bone, or to
be positioned halfway between two joints, etc.
Then I suggested to martin perhaps abusing the constraint system to help
etch-a-ton 'know' these relations- it could even possibly be used to
help figure out roll issues.

After thinking for a night, I realized that edit mode constraints would
be an awesome addition, regardless of whether you used etch-a-ton or
not- we have too many bones in a given rig that have to be 'just so'
relative to other ones (I'm sure you can think of many) that it would be
so good just to constrain them there, and lock/hide/put them on another
layer and forget about it. Since edit mode has different structures from
pose mode, these would probably have to be different constraints, that
apply to head/tail and roll angle (as opposed to loc/rot/scale), but
they would have two benefits:

1-the rig would contain information that is normally just in the riggers
head, and enforce it.
2-tweaking the location of joints would become much simpler- move just
the actual joint and everything else automatically follows.

number 2 would make retargetting rigs much simpler even without
etch-a-ton, but it would also give the etchaton system the information
it needs to complete an untweaked retarget; just re-apply the edit mode
constraints on the target rig and 'bam' you are done. naming and
positioning all by sketching a few joints.

extra credit to those who can figure out a way how to apply this idea to
other deformers in a rig (lattice/hook/curve) ... to make this a truly
general rig retargetting system (of course, that part could be left to
python)

Last note: this entire system could be done with python scripts: these
would store the 'constraint' system and be run to reposition the bones
(non interactively).... so for etch-a-ton what would be needed is to
remap the constraints from the template names to the renamed bones in
the resulting rig so the script would work on the result armature, not
just the template.

Of course, the script idea works for the 'extra credit' too.
cheers
Bassam




More information about the Bf-funboard mailing list