Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'source/blender/blenkernel/intern/constraint.c')
-rw-r--r--source/blender/blenkernel/intern/constraint.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c
index 679fe703b13..050e8d434ae 100644
--- a/source/blender/blenkernel/intern/constraint.c
+++ b/source/blender/blenkernel/intern/constraint.c
@@ -951,6 +951,10 @@ static void childof_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *tar
/* If requested, compute the inverse matrix from the computed parent matrix. */
if (data->flag & CHILDOF_SET_INVERSE) {
invert_m4_m4(data->invmat, parmat);
+ if (cob->pchan != NULL) {
+ mul_m4_series(data->invmat, data->invmat, cob->ob->obmat);
+ }
+
copy_m4_m4(inverse_matrix, data->invmat);
data->flag &= ~CHILDOF_SET_INVERSE;
@@ -4691,7 +4695,7 @@ static void followtrack_evaluate_using_3d_position_object(FollowTrackContext *co
MovieTrackingTrack *track = context->track;
MovieTrackingObject *tracking_object = context->tracking_object;
- /* Matrix of the object which is being solved prior to this contraint. */
+ /* Matrix of the object which is being solved prior to this constraint. */
float obmat[4][4];
copy_m4_m4(obmat, cob->matrix);
@@ -4716,7 +4720,7 @@ static void followtrack_evaluate_using_3d_position_camera(FollowTrackContext *co
Object *camera_object = context->camera_object;
MovieTrackingTrack *track = context->track;
- /* Matrix of the object which is being solved prior to this contraint. */
+ /* Matrix of the object which is being solved prior to this constraint. */
float obmat[4][4];
copy_m4_m4(obmat, cob->matrix);