diff options
author | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-06-28 15:59:50 +0300 |
---|---|---|
committer | Sergey Sharybin <sergey.vfx@gmail.com> | 2019-06-28 16:03:24 +0300 |
commit | 533e267e95cf1115eebde95a67dc3b05d48e6ffd (patch) | |
tree | 8ac4243c1042fa9e3678e4ae17e053a4c3b70101 /source/blender/blenkernel/intern/constraint.c | |
parent | f5e0ae655e5182de3ee9cfedfbdc2a20f9b047fb (diff) |
Remove Sticky option from the Floor constraint
This option from the very beginning of its existence needed more work
to make it work correct and this was never done.
This option was working fine during continuous playback, when there
are no skipped frames, but it was failing when AV-sync of framedrop
was enabled.
It was never working correct when jumping between frames, including
rendering on a farm which usually does frame-range based rendering.
With copy-on-write things became even more tricky, since the "stuck"
flag was never preserved between re-evaluations.
Fixes T65683: Sticky Option in Floor Constraint for Bones Not Working
Diffstat (limited to 'source/blender/blenkernel/intern/constraint.c')
-rw-r--r-- | source/blender/blenkernel/intern/constraint.c | 13 |
1 files changed, 0 insertions, 13 deletions
diff --git a/source/blender/blenkernel/intern/constraint.c b/source/blender/blenkernel/intern/constraint.c index 5766e84f960..793dc910394 100644 --- a/source/blender/blenkernel/intern/constraint.c +++ b/source/blender/blenkernel/intern/constraint.c @@ -3329,7 +3329,6 @@ static void minmax_new_data(void *cdata) data->minmaxflag = TRACK_Z; data->offset = 0.0f; - zero_v3(data->cache); data->flag = 0; } @@ -3426,15 +3425,6 @@ static void minmax_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targ if (val1 > val2) { obmat[3][index] = tarmat[3][index] + data->offset; - if (data->flag & MINMAX_STICKY) { - if (data->flag & MINMAX_STUCK) { - copy_v3_v3(obmat[3], data->cache); - } - else { - copy_v3_v3(data->cache, obmat[3]); - data->flag |= MINMAX_STUCK; - } - } if (data->flag & MINMAX_USEROT) { /* get out of localspace */ mul_m4_m4m4(tmat, ct->matrix, obmat); @@ -3444,9 +3434,6 @@ static void minmax_evaluate(bConstraint *con, bConstraintOb *cob, ListBase *targ copy_v3_v3(cob->matrix[3], obmat[3]); } } - else { - data->flag &= ~MINMAX_STUCK; - } } } |