Bugfix [#29113] "Follow path" constraint subframes calculated
authorJoshua Leung <aligorith@gmail.com>
Thu, 3 Nov 2011 11:20:22 +0000 (11:20 +0000)
committerJoshua Leung <aligorith@gmail.com>
Thu, 3 Nov 2011 11:20:22 +0000 (11:20 +0000)
incorrectly

"Follow Path" constraint was applying subframe offsets to the curve-
path evaltime value for non-fixed case. However, it turns out that
when doing old-style mblur, this results in the offset getting applied
twice, resulting in incorrect values (i.e. by the time the constraint
gets ctime, this already has had subframe offset applied, and so too
has curve evaltime).

source/blender/blenkernel/intern/constraint.c

index aebf3198cf4276865bce7359ffc81f499f38096c..d6d4e8304ba9ac502c2fd68ca728b8f33cb5a2f7 100644 (file)
@@ -1256,10 +1256,7 @@ static void followpath_get_tarmat (bConstraint *con, bConstraintOb *cob, bConstr
                        float quat[4];
                        if ((data->followflag & FOLLOWPATH_STATIC) == 0) {
                                /* animated position along curve depending on time */
-                               if (cob->scene)
-                                       curvetime= bsystem_time(cob->scene, ct->tar, cu->ctime, 0.0) - data->offset;
-                               else    
-                                       curvetime= cu->ctime - data->offset;
+                               curvetime= cu->ctime - data->offset;
                                
                                /* ctime is now a proper var setting of Curve which gets set by Animato like any other var that's animated,
                                 * but this will only work if it actually is animated...