Particle system, vertex groups and size


I have a cylinder with a particle system (type hair) attached to. Further I used a weight painted vertex group (called sizeGroup) from red to blue (1 to 0) somewhere on the cylinder.
Under the vertex group settings of the particle system I put the sizeGroup into the Length option to change the particle’s sizes depending on my vertex group, so far no problem.
But I am not satisfied with the allocation of the size. The particles on the blue area of the vertex group are too small and the particles on the red part are too big. I need a way to balance this somehow.
If I change ‘normal’ or ‘size’ then all particles are changed in the same manner but I need a way to get smaller particles bigger and bigger ones smaller to exactly define the size of biggest and smallest particles.
Since I need a very fine transition from small to big particles changing the weight from 0.3 to 0.7 (instead from 0 to 1) is not an option for me. Is there any way to achieve this?


Why couldn’t you just change the weight as you said? It would make the smaller particles bigger and the bigger particles smaller and still be a smooth transition, right?

If you use Dynamic Paint to create your maps there is a little more falloff control. In this image the wireframe sphere is a brush that moves across the various canvas mesh objects. As the brush passes over the object it generates a paint map that can fade over time. The wireframe sphere also has it’s own influence and reach. Each object in the scene has a particle system, in Hair mode, whose length is affected by the maps that the brush is generating.


268_dp_alignment_FOR_SURFACES.blend (343 KB)

Hi Quacky,

thanks for reply, Why I could not change weight? Because the range from 0,3 to 0,7 is less than the range from 0 to 1, so I will loose lots of steps in between.

Hi Atom,

sounds interesting, I will try that, hope I will understand what you’ve done :wink:

Hi Atom,

I played around with your blendfile, so far nice idea. I tried to create such dynamic paint on my own but seems there is something missing.
I have a cube as emitter and canvas, a sphere as particle and another cube as brush. I created a vertex group called dynPaint.
I set some keyframes on location which moves the brush over the canvas. If the brush moves over the canvas I can see that the weight painting changes, it turnes to red and then if the brush passes through it turnes back to blue. So far it seems to be working. But the particle size does not change accordingly even if the vertex group dynPaint is set under the particle system, vertex groups, in the ‘length’ field.

What I am missing? Thanks!


dynPaint.blend (762 KB)

A common gotcha that happens to me too. It is the stacking order of the modifiers for the Canvas Emitter. Dynamic Paint needs to be on top of the Particle System. Kind of makes sense, the paint system is evaluated, which generates a vertex map, then the particle system is evaluated which makes use of the dynamic paint map.

Hi Atom,

thanks, great that solved my problem!