From 7836069775a688cceb40d3892d84886e80c437fd Mon Sep 17 00:00:00 2001 From: Campbell Barton Date: Wed, 1 Feb 2012 05:04:51 +0000 Subject: fix [#29484] Visual keying bone with local location disabled --- source/blender/blenkernel/intern/constraint.c | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'source/blender/blenkernel/intern/constraint.c') diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index 213a3ce9fbd..571c6c631a9 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -299,6 +299,11 @@ void constraint_mat_convertspace (Object *ob, bPoseChannel *pchan, float mat[][4 copy_m4_m4(tempmat, mat); mult_m4_m4m4(mat, imat, tempmat); + + /* override with local location */ + if ((pchan->parent) && (pchan->bone->flag & BONE_NO_LOCAL_LOCATION)) { + sub_v3_v3v3(mat[3], tempmat[3], pchan->bone->arm_mat[3]); + } } } /* pose to local with parent */ -- cgit v1.2.3