Auto-IK: applying back the IK transform on bones fails for constrainted 
bones themselves. This would require the post-transform of IK to be
converted to a pre-transform for the constraint. That's too much of
a headache for bugfixing days.

To keep the autoIK feature work it now stops IK chains at constrainted
bones. Added todo item for a matrix wizzard to fix this one day.

(What would be really cool is a matrix-api for armature to easily 
get all the required pre- and post transforms and apply. There's a lot
of duplicate exception handling for hinge bones for example.)
This commit is contained in:
2010-12-28 17:03:09 +00:00
parent 98ec317d2b
commit 8c4a93110e

View File

@@ -875,6 +875,12 @@ static short pose_grab_with_ik_add(bPoseChannel *pchan)
pchan = pchan->parent;
else
pchan = NULL;
/* but, constrainted bones can't get auto-ik transform applied, exclude these */
if(pchan && pchan->constraints.first) {
data->rootbone--;
pchan= NULL;
}
}
/* make a copy of maximum chain-length */