Maniphest T63166

Particle systems emitting in grid-like patterns when vertex groups are used
Closed, Archived

Assigned To
Jacques Lucke (JacquesLucke)
Authored By
Sam Van Hulle (sam_vh)
Mar 31 2019, 11:53 PM
Tags
  • BF Blender
Subscribers
Jacques Lucke (JacquesLucke)
Juan Gea (juang3d)
Marco (nacioss)
Sam Van Hulle (sam_vh)
Sebastian Parborg (zeddb)
Stephen Swaney (stiv)
William Reynish (billreynish)

Description

System Information
Operating system: Windows-10-10.0.17134 64 Bits
Graphics card: GeForce GTX 960/PCIe/SSE2 NVIDIA Corporation 4.5.0 NVIDIA 397.93

Blender Version
Broken: version: 2.80 (sub 53), branch: master, commit date: 2019-03-30 19:37, hash: rB700346d377dd

Short description of error
When a vertex group is used to control the density, particle systems emit from grid-like patterns, also emitting multiple particles from the same spots. This is most obvious in Hair mode of course.

Exact steps for others to reproduce the error

  1. Create two random objects to act as the emitter and the particle.
  2. Set up the particle system.
  3. Now paint a vertex group and set the particle system to use it to control the density.

Related Objects

Event Timeline

Sam Van Hulle (sam_vh) created this task.Mar 31 2019, 11:53 PM
Stephen Swaney (stiv) lowered the priority of this task from 90 to 30.Apr 1 2019, 2:32 AM
Stephen Swaney (stiv) added a subscriber: Stephen Swaney (stiv).

Having a .blend will save some time for whoever works on this AND it will let us see your settings.
Got one for us?

Marco (nacioss) added a subscriber: Marco (nacioss).Apr 1 2019, 10:23 AM

I can't reproduce the issue.


Used Weight Paint to control the Density of the particles system.

William Reynish (billreynish) added a subscriber: William Reynish (billreynish).Apr 1 2019, 10:32 AM

I can make it grid-like:


But that's not a bug afaik - it's just to do with the distribution settings.

You can make it totally random by choosing the Random distribution method, or semi-random by changing the jittering.

Sam Van Hulle (sam_vh) added a comment.EditedApr 1 2019, 12:13 PM

You can make it totally random by choosing the Random distribution method, or semi-random by changing the jittering.

That's the thing - I didn't change any of the defaults except for the Density vertex group, and it did *not* look like it does now, with the same settings.

Now, as Murphy would have it, I just compiled on Linux here at the studio and I can't reproduce it myself either. It's been a very elusive bug in that we have seen it before, but it seemed very short-lived every time.
I do however have some blends at home, I can post them here tonight.

Sam Van Hulle (sam_vh) added a comment.Apr 2 2019, 12:38 AM

On Windows I'm still having the problem. Here's a blend file that shows what I mean. In my experience the problem manifests itself in different patterns, but the repetition is noticeable nonetheless. Additionally, the system generates multiple particles in the same spot. Changing the jittering does nothing but change the angle of the lines in the pattern, and the seed value doesn't resolve it either.

Sam Van Hulle (sam_vh) raised the priority of this task from 30 to 90.Apr 2 2019, 2:42 PM
Sebastian Parborg (zeddb) changed the task status from Unknown Status to Archived.EditedApr 3 2019, 1:42 PM
Sebastian Parborg (zeddb) claimed this task.
Sebastian Parborg (zeddb) added a subscriber: Sebastian Parborg (zeddb).

As pointed out, this is how the Jittered distribution works.

Even without the vertex group to limit it, you can see that if forms patterns:

You can either:

  1. Choose the Random distribution.
  2. In this case manually change the amount of particles per face to 30 or so to get a nice pattern.
  3. Implement or use a noise distribution model that spaces out the particles in an even but random manner: https://github.com/BorisTheBrave/blue-noise-particles
Sam Van Hulle (sam_vh) changed the task status from Archived to Unknown Status.EditedApr 10 2019, 4:06 PM

After performing a test just now at the studio, it seems that the Random distribution method is now render farm safe, which I hear it hasn't been before. Is this correct?
If that behaviour remains consistent, I frankly don't need the Jittered method anymore - since it was only used here to circumvent that problem.

Regardless of this, I disagree with our concerns regarding Jittered being marked as invalid. It might not be high priority, but results of this have not been reliable over the past few months, and have caused problems in production more than once.

As pointed out, this is how the Jittered distribution works.

And as I pointed out, it hasn't been consistently acting like this. We can clearly see actual particle generation in the same spots, which does not happen every time. Presumably, this happens when the number of particles to emit exceeds the amount of emission spots. But:

  • Setting particles/face to 0 (automatic) is an indication that the artist doesn't care about the distribution ratio
  • Blender clearly has more than enough space to scatter more particles

And still, it opts to emit in locations that already have a particle. This leads us to believe that there's a bug at play, especially when it only seems to happen sometimes.
But if Random is now render farm safe, I don't even see a reason to keep the Jittered mode around. Unless I'm missing something?

Sebastian Parborg (zeddb) removed Sebastian Parborg (zeddb) as the assignee of this task.Apr 10 2019, 4:42 PM
Juan Gea (juang3d) added a subscriber: Juan Gea (juang3d).May 24 2019, 1:29 AM

@Sam Van Hulle (sam_vh) probably what you want is a blue noise distribution pattern, this will give the impression of random and organic but at the same time will give the particles evenly distirbuted without forming clumps, somethign that now happens, I wish this could be implemented

Cheers.

Garry R. Osgood (grosgood) mentioned this in T67058: Issue in hair particles..Jul 16 2019, 3:16 PM
Jacques Lucke (JacquesLucke) changed the task status from Unknown Status to Unknown Status.Aug 7 2019, 4:06 PM
Jacques Lucke (JacquesLucke) claimed this task.
Jacques Lucke (JacquesLucke) added a subscriber: Jacques Lucke (JacquesLucke).

Closing since this with very very high probability this will not be "fixed" anymore, if it even is a bug.

Juan Gea (juang3d) added a comment.Aug 7 2019, 4:42 PM

Does this means that your work for particles is taking shape for 2.81?

I would love to see a document on what you are working and a place to talk about it, particles is such an important feature that would be lovely to be able to have some experts in particles (software agnostic, or what is the same, people that have worked with particles in every software out there with different types of productions) to test the new workflow :)

Jacques Lucke (JacquesLucke) added a comment.Aug 7 2019, 4:47 PM

Here are quite a few documents I wrote, some of them are about particles: https://wiki.blender.org/wiki/Source/Nodes.

Juan Gea (juang3d) added a comment.Aug 7 2019, 5:36 PM

Thanks will take a look soon and I will try to start a conversation in devtalk :)

Juan Gea (juang3d) added a comment.Aug 7 2019, 5:38 PM

The link doesn’t work :S

Jacques Lucke (JacquesLucke) added a comment.Aug 7 2019, 5:53 PM

The link does work. There is a list of documents.

Also I created a thread on devtalk some minutes ago: https://devtalk.blender.org/t/particle-nodes-ui/8808