Page MenuHome

Weight paint without weight leaks particles
Confirmed, NormalPublicKNOWN ISSUE


System Information
Operating system: Windows 10
Graphics card: GTX1070

Blender Version
Broken: 2.83
Worked: ?

Short description of error
If I create a vertex group/weight paint without assigning any faces to it and then use it as a "density" in the vertex groups for particles it still creates particles.
You might not think this is a bug, but together with "Dynamic Paint" it gets to be one.
This because there you can use type "weight" on particles.
In most cases you will then get frames of unused weight paints when particles are not affecting the weight paint.
In those cases there is a leakage of particles in the center of the weight paint, which creates a lot of disturbance in almost all cases when you are trying to do some stuff where you mix weight paint and particles.

Exact steps for others to reproduce the error
You can do this in many ways. I will show two;
Way no 1.

  1. Create a plane as emitter.
  2. Create a vertex group on that plane
  3. Add a particle system to that plane.
  4. Add the vertex group you created in step 2 to "Density" in "Vertex groups" section for particles.

Run an animation... the particles are coming even if the weight paint now is unused and "blue".

Way no 2 using mask modifier and dynamic paint. "The hard" way.

  1. Create a plane as an emitter and call it "emitter".
  2. Create an icosphere called "Particle" and move it a bit so it is away from the plane.
  3. Now create another plane called "canvas" below the first plane.
  4. Subdivide "canvas" like 10 times so you get a lot of faces on it.
  5. Create a vertex group called "MyVertexGroup" on the "Canvas"
  6. In "Emitter", just create a default particle system.
  7. Set "render" to object and Instance Object to "Particle"
  8. Bake it.
  9. Now add dynamic paint of type "Brush" to the "Emitter" plane.
  10. Set the brush to "Particlesystem" and select the particlesystem you created
  11. Select the "Canvas" and do a dynamic paint of type "Canvas" on that one.
  12. Set Surface type to "Weight", check "Dissolve" and set it to 5 frames and uncheck "Slow".
  13. Save your .blend file.
  14. In "Output" of the canvas for the dynamic paint, select the vertex group "MyVertexGroup"
  15. Bake.
  16. Run an animation in "Weight paint" mode and see so it works (creates red areas when a particle hits the weight paint)
  17. Go back to object mode (if 16 works, which it should).
  18. Select the "Canvas" and add modifier "mask". In mask select vertex group "MyVertexGroup"
  19. Run animation and see so the mask seems to work.
  20. Select "Canvas" and create a particlesystem.
  21. In "Source" for that system, check "Use Modifier stack".
  22. Run animation.

Now the particles are created when the mask is visible... but if the mask is NOT visible, the particles are still created in the center of the object instead of being "off".
If you use "density" or not on that particlesystem does not matter. Still same behavior.

in console:

Can't create particles with the current modifier stack, disable destructive modifiers

Event Timeline

Ankit Meel (ankitm) changed the task status from Needs Triage to Needs Information from User.Apr 18 2020, 4:45 PM

To ensure that we're using the same environment, please add simple blend files to help redo the bug

This report is missing:

  • Last version that worked.
  • A blend file.

You can reproduce my reported bug from the steps using a default .blend file, so it should be very easy to reproduce...especially the first case.
I don't know when or if it has worked before. I have followed my steps from scratch both for case 1 and case 2 in all version from 2.79 and forward. Same result. It does not work!
So... just follow the steps in any version you like from 2.79 and forward and you should be able to reproduce the bugs.

Please include a blend file of both the simple and complex cases, so we can be sure a fix for this resolves both issues.

Ankit Meel (ankitm) changed the task status from Needs Information from User to Confirmed.May 15 2020, 3:48 PM

But I also get this in console:

Can't create particles with the current modifier stack, disable destructive modifiers
Can't create particles with the current modifier stack, disable destructive modifiers
Can't create particles with the current modifier stack, disable destructive modifiers
Dalai Felinto (dfelinto) changed the task status from Confirmed to Needs Triage.May 21 2020, 11:54 AM

@Ankit Meel (ankitm) hi, a confirmed issue should always be tagged to a module, otherwise it is not considered triaged (and it doesn't show up in the corresponding queries/workboards).

Also it needs to have all the required information to reproduce it in the task description, not only in the replies (in this case the file). I changed the status back to confirmed. Feel free to change it back as confirmed after updating the task.

I looked into this issue, the current code-base doesn't support using weights as a way to prevent particles from growing entirely.

It's always assumed a particle can be placed somewhere on the mesh.

We could mark this as TODO, however I'm not sure if it helps much as this area isn't being developed much at the moment.

Germano Cavalcante (mano-wii) changed the task status from Needs Triage to Confirmed.May 22 2020, 3:03 PM
Germano Cavalcante (mano-wii) changed the subtype of this task from "Report" to "Known Issue".