diff options
author | Lukas Tönne <lukas.toenne@gmail.com> | 2015-08-24 15:09:01 +0300 |
---|---|---|
committer | Lukas Tönne <lukas.toenne@gmail.com> | 2015-08-24 15:09:01 +0300 |
commit | 68a9328a5879eeee8ff3286862ba23f7a7bb07c8 (patch) | |
tree | f8d4ce9cd9d2b61cc8b836896d51adb51fedc589 | |
parent | 70b7dc993e6ef92396c7a871a8f5feb2b2373326 (diff) |
Fix T45084 correcting bending_damping for cloth stiffness, by Martin Norris.
-rw-r--r-- | source/blender/physics/intern/BPH_mass_spring.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/source/blender/physics/intern/BPH_mass_spring.cpp b/source/blender/physics/intern/BPH_mass_spring.cpp index 19c3f3793f8..30a8478e0e4 100644 --- a/source/blender/physics/intern/BPH_mass_spring.cpp +++ b/source/blender/physics/intern/BPH_mass_spring.cpp @@ -394,8 +394,8 @@ BLI_INLINE void cloth_calc_spring_force(ClothModifierData *clmd, ClothSpring *s, scaling = parms->bending + s->stiffness * fabsf(parms->max_bend - parms->bending);
kb = scaling / (20.0f * (parms->avg_spring_len + FLT_EPSILON));
- scaling = parms->bending_damping;
- cb = scaling / (20.0f * (parms->avg_spring_len + FLT_EPSILON));
+ // Fix for [#45084] for cloth stiffness must have cb proportional to kb
+ cb = kb * parms->bending_damping;
BPH_mass_spring_force_spring_bending(data, s->ij, s->kl, s->restlen, kb, cb, s->f, s->dfdx, s->dfdv);
#endif
@@ -413,8 +413,8 @@ BLI_INLINE void cloth_calc_spring_force(ClothModifierData *clmd, ClothSpring *s, scaling = s->stiffness * parms->bending;
kb = scaling / (20.0f * (parms->avg_spring_len + FLT_EPSILON));
- scaling = parms->bending_damping;
- cb = scaling / (20.0f * (parms->avg_spring_len + FLT_EPSILON));
+ // Fix for [#45084] for cloth stiffness must have cb proportional to kb
+ cb = kb * parms->bending_damping;
/* XXX assuming same restlen for ij and jk segments here, this can be done correctly for hair later */
BPH_mass_spring_force_spring_bending_angular(data, s->ij, s->kl, s->mn, s->target, kb, cb);
|