diff --git a/release/scripts/ui/properties_particle.py b/release/scripts/ui/properties_particle.py index 58e602dd1e2..f858c9b8511 100644 --- a/release/scripts/ui/properties_particle.py +++ b/release/scripts/ui/properties_particle.py @@ -401,11 +401,12 @@ class PARTICLE_PT_physics(ParticleButtonsPanel): else: row.prop(part, "physics_type", text="") + row = layout.row() + col = row.column(align=True) + col.prop(part, "particle_size") + col.prop(part, "random_size", slider=True) + if part.physics_type != 'NO': - row = layout.row() - col = row.column(align=True) - col.prop(part, "particle_size") - col.prop(part, "random_size", slider=True) col = row.column(align=True) col.prop(part, "mass") col.prop(part, "sizemass", text="Multiply mass with size") 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);