diff options
author | Campbell Barton <ideasman42@gmail.com> | 2012-02-01 09:04:51 +0400 |
---|---|---|
committer | Campbell Barton <ideasman42@gmail.com> | 2012-02-01 09:04:51 +0400 |
commit | 7836069775a688cceb40d3892d84886e80c437fd (patch) | |
tree | a0311c237a7673b83fb504670853c81fbab5d51f /source/blender/blenkernel/intern/constraint.c | |
parent | 14fa3be9bf7b3a2b5d8d464986731533c54ade6b (diff) |
fix [#29484] Visual keying bone with local location disabled
Diffstat (limited to 'source/blender/blenkernel/intern/constraint.c')
-rw-r--r-- | source/blender/blenkernel/intern/constraint.c | 5 |
1 files changed, 5 insertions, 0 deletions
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 */ |