I started Blender guru's donut tutorial and it's brillant so far. But one thing really annoys me.

My sprinkles are intersecting at some points and in the tutorial he doesn't say how to fix it. It's not that big of a deal, since you can play with the seeds, but for a realistic amount of sprinkles there are always intersection, which bothers me.

I know that the solution for this problem might be difficult, but that's okay.

The (theoretical) solution in my head would be:

  • find intersecting sprinkles
  • choose one of them
  • move it on the z-axis (so it now would look like it's floating)
  • rotate it, so that it touches the icing and the other sprinkle
  • correct the positioning (since the rotation will lead to another - smaller - intersection)

But since I'm a beginner I really don't know how do this in blender. I'd be able to mathematically solve the issue and maybe I could also code this. But in blender I have no clue.

My icing geometry nodes so far

enter image description here

Playing around with the poisson disk, the sprinkles density and the seed doesn't solve the problem of intersection in the way I'd like. I think it would look more realistic if there are some sprinkles on top of each other, because that happens if you use sprinkles

Thank you so much!


1 Answer 1


The particles probably aren't the problem, as with the poisson disc that should all be separated. The instances aren't as intelligent. There may be a way to find out of the bounding box area of a sprinkle is inside the bounding box area of another and then, if so, remove it. I don't know the maths for that, but it probably is doable.

Otherwise, I would do the sprinkles with dynamics. Make a bunch of the sprinkles, make them active dynamic objects, the icing a passive collider with a lot of friction and drop them onto the surface. They will self-collide and then you can bake them out as objects after. this will do what you really want them to get in Geometry Nodes.

Hope this helps.

  • $\begingroup$ Yeah, that helps a little bit! I don't know how to do this, but I guess that I could find it out, since this seems like a more common thing to do in blender than find intersections and rotate things. But what's also strange: if I set the poisson disk distance to the size of the longest sprinkle (which should lead to no collision, but still much room for sprinkles) I can't get much sprinkles, no matter what I do. If I increase the sprinkle density, it doesn't really change the problem, that I only get a max of 10sprinkles, which is odd since there's room for like 100 not intersecting sprinkles $\endgroup$
    – Lisa
    Jun 18, 2023 at 19:24

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .