[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [30721] trunk/blender: Fix for [#22128] particle sizes and physics
Janne Karhu
jhkarh at gmail.com
Sun Jul 25 16:40:18 CEST 2010
Revision: 30721
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=30721
Author: jhk
Date: 2010-07-25 16:40:18 +0200 (Sun, 25 Jul 2010)
Log Message:
-----------
Fix for [#22128] particle sizes and physics
* size wasn't updated at all for particles with keyed or no physics
Modified Paths:
--------------
trunk/blender/release/scripts/ui/properties_particle.py
trunk/blender/source/blender/blenkernel/intern/particle_system.c
Modified: trunk/blender/release/scripts/ui/properties_particle.py
===================================================================
--- trunk/blender/release/scripts/ui/properties_particle.py 2010-07-25 13:18:15 UTC (rev 30720)
+++ trunk/blender/release/scripts/ui/properties_particle.py 2010-07-25 14:40:18 UTC (rev 30721)
@@ -401,12 +401,13 @@
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")
Modified: trunk/blender/source/blender/blenkernel/intern/particle_system.c
===================================================================
--- trunk/blender/source/blender/blenkernel/intern/particle_system.c 2010-07-25 13:18:15 UTC (rev 30720)
+++ trunk/blender/source/blender/blenkernel/intern/particle_system.c 2010-07-25 14:40:18 UTC (rev 30721)
@@ -4038,13 +4038,22 @@
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);
set_keyed_keys(&sim);
More information about the Bf-blender-cvs
mailing list