diff options
author | Janne Karhu <jhkarh@gmail.com> | 2010-07-25 18:40:18 +0400 |
---|---|---|
committer | Janne Karhu <jhkarh@gmail.com> | 2010-07-25 18:40:18 +0400 |
commit | 6ec87e60955cfa2e2737cdf9c1cc902c73f37d08 (patch) | |
tree | 07c0ea127b133064e485114195542cbc6761809b /source/blender/blenkernel | |
parent | 1e7f96343efd1472b9f827e5f5d3fd7f984b8612 (diff) |
Fix for [#22128] particle sizes and physics
* size wasn't updated at all for particles with keyed or no physics
Diffstat (limited to 'source/blender/blenkernel')
-rw-r--r-- | source/blender/blenkernel/intern/particle_system.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/blender/blenkernel/intern/particle_system.c b/source/blender/blenkernel/intern/particle_system.c index 181d8fee4ba..a38fc921bea 100644 --- a/source/blender/blenkernel/intern/particle_system.c +++ b/source/blender/blenkernel/intern/particle_system.c @@ -4038,12 +4038,21 @@ void particle_system_update(Scene *scene, Object *ob, ParticleSystem *psys) case PART_PHYS_NO: case PART_PHYS_KEYED: { + PARTICLE_P; + if(emit_particles(&sim, NULL, cfra)) { free_keyed_keys(psys); distribute_particles(&sim, part->from); initialize_all_particles(&sim); } - reset_all_particles(&sim, 0.0, cfra, 0); + + LOOP_EXISTING_PARTICLES { + pa->size = part->size; + if(part->randsize > 0.0) + pa->size *= 1.0f - part->randsize * PSYS_FRAND(p + 1); + + reset_particle(&sim, pa, 0.0, cfra); + } if(part->phystype == PART_PHYS_KEYED) { psys_count_keyed_targets(&sim); |