Fix T46418: Constraints - influence other than 0 or 1 - bad results with non-homogeneous scaled matrices.
Use new interp_m4_m4m4 instead of blend_m4_m4m4. Note that maybe we could replace other usages of blend_m... by interp_m..., but this should be investigated on a case-by-case basis.
This commit is contained in:
@@ -4882,11 +4882,12 @@ void BKE_constraints_solve(ListBase *conlist, bConstraintOb *cob, float ctime)
|
||||
* since some constraints may not convert the solution back to the input space before blending
|
||||
* but all are guaranteed to end up in good "worldspace" result
|
||||
*/
|
||||
/* Note: all kind of stuff here before (caused trouble), much easier to just interpolate, or did I miss something? -jahka (r.32105) */
|
||||
/* Note: all kind of stuff here before (caused trouble), much easier to just interpolate,
|
||||
* or did I miss something? -jahka (r.32105) */
|
||||
if (enf < 1.0f) {
|
||||
float solution[4][4];
|
||||
copy_m4_m4(solution, cob->matrix);
|
||||
blend_m4_m4m4(cob->matrix, oldmat, solution, enf);
|
||||
interp_m4_m4m4(cob->matrix, oldmat, solution, enf);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user