diff options
author | Janne Karhu <jhkarh@gmail.com> | 2011-02-07 13:54:55 +0300 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2011-02-07 13:54:55 +0300 |
commit | cddaa815d6b46e900f2f475ceb1b379efeb6b8e4 (patch) | |
tree | 0881bc6b1ac384970706b088ff815b886930b32c /source/blender/blenkernel/intern/particle.c | |
parent | 1dc11c4fdff477cfd55255e37d3d407d666815ad (diff) |
Fix for [#25955] Hair paths under force field influence look jagged
* Effectors were applied wrong for hair.
Diffstat (limited to 'source/blender/blenkernel/intern/particle.c')
-rw-r--r-- | source/blender/blenkernel/intern/particle.c | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/source/blender/blenkernel/intern/particle.c b/source/blender/blenkernel/intern/particle.c index 12aa40a23d8..7421c43dc10 100644 --- a/source/blender/blenkernel/intern/particle.c +++ b/source/blender/blenkernel/intern/particle.c @@ -2246,12 +2246,13 @@ static void do_path_effectors(ParticleSimulationData *sim, int i, ParticleCacheK normalize_v3(force); - VECADDFAC(ca->co, (ca-1)->co, force, *length); - - if(k < steps) { + if(k < steps) sub_v3_v3v3(vec, (ca+1)->co, ca->co); + + madd_v3_v3v3fl(ca->co, (ca-1)->co, force, *length); + + if(k < steps) *length = len_v3(vec); - } } static int check_path_length(int k, ParticleCacheKey *keys, ParticleCacheKey *state, float max_length, float *cur_length, float length, float *dvec) { |