From 8c4a93110e764b71eb098bcc24f1cc03105f1d67 Mon Sep 17 00:00:00 2001 From: Ton Roosendaal Date: Tue, 28 Dec 2010 17:03:09 +0000 Subject: Bugfix #21825 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.) --- source/blender/editors/transform/transform_conversions.c | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'source/blender/editors') diff --git a/source/blender/editors/transform/transform_conversions.c b/source/blender/editors/transform/transform_conversions.c index 90a275883ae..df267254d8f 100644 --- a/source/blender/editors/transform/transform_conversions.c +++ b/source/blender/editors/transform/transform_conversions.c @@ -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 */ -- cgit v1.2.3