diff options
author | Ton Roosendaal <ton@blender.org> | 2006-07-02 16:46:41 +0400 |
---|---|---|
committer | Ton Roosendaal <ton@blender.org> | 2006-07-02 16:46:41 +0400 |
commit | 3c1956f5cdafaa14ced3cce3e2e07daca0633247 (patch) | |
tree | b52626fd51e7bc97acc733a689b496c16e56ac81 /source/blender/blenkernel/intern/effect.c | |
parent | e4354bbf126a59bbcf511f6633f2bf3377b78e3c (diff) |
Bugfix #4556
When a curve guide animates, it doesn't correctly work on dynamic particles.
This because the guides work on a fixed starting position (the birth of
particle) and then defines a full path for the entire particle. It is clear
this was only coded with static particles in mind...
Nevertheless, I've added a line of code to at least put the curve guide
on correct location for the moment a particle gets born.
Report moved to the todo tracker; this should be a spec for particle recode
Diffstat (limited to 'source/blender/blenkernel/intern/effect.c')
-rw-r--r-- | source/blender/blenkernel/intern/effect.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/effect.c b/source/blender/blenkernel/intern/effect.c index 9ba90160551..aad8fbfaf08 100644 --- a/source/blender/blenkernel/intern/effect.c +++ b/source/blender/blenkernel/intern/effect.c @@ -412,7 +412,10 @@ static void precalc_effectors(Object *ob, PartEff *paf, Particle *pa, ListBase * if(pd->forcefield==PFIELD_GUIDE && ec->ob->type==OB_CURVE) { float vec[4], dir[3]; - + + if(!(paf->flag & PAF_STATIC)) + where_is_object_time(ec->ob, pa->time); + /* scale corrects speed vector to curve size */ if(paf->totkey>1) ec->scale= (paf->totkey-1)/pa->lifetime; else ec->scale= 1.0f; |