[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