Is there a way to set objects' origin points to be separated from each other at certain distance in Particles System(Hair)? While I was watching Blender Guru video for 2.8 Blender, he set the origin point of 5 different sprinkles in Set origin to geometry. And it occurred to me that the overlapping problem with particle system could be solved by using a script to restrict or block any particle from spawning within a set distance of a particle. For example, a sprinkle on donut has a distance of 5mm from another sprinkle, with both the origin points from two sprinkles as the radius to determine the set distance.
So the question is - If it's possible to make code for origin point and particle system and set restriction for within a certain distance of "first" particle so newer particles won't spawn within it but any other area than that, then can you show the code with this instructions in mind?
If not, then is there any other workaround methods for Blender 2.8? 

PS: Setting origin points of objects to geometry could tremendously help with the question I have in mind.

PSS:If I commit any errors, I apologize in advance for lack of my knowledge.
Daily Blender Secrets - Fix Overlapping Particles with Blue Noise Particles add-on

Daily Blender Secrets - Fix Overlapping Particles

Daily Blender Secrets - Non-Overlapping Particles (Method 3)

First video: 


Download the zip file
In Blender, go to Edit; Preferences; Addons; then select install from file and pick the zip. Tick the checkbox to enable the addon.
Select the surface of the object you want to distribute your particles onto.
Press Shift + A to open up Mesh menu and select Blue Noise Particles
Choose highest quality for more evenly spaced particles from the context menu(opens only when you initially make new Blue Noise Particles)
Select Even in Noise Type
Select Vertices in Generate
Click OK in context menu
After generating the particles, go to Render from Particles Settings and select Object in Render as
Note: Make sure it is in emmiter instead of hair
You will be prompted with a dropper to select which object you want to pick for particles.
Note: Be sure to enlarge them if you only see origin points as they may be scaled down significantly


After fumbling around this one, I had to use subdivision modifier on surface of object because if it's too low, vertices generated will be messy for particles clumping together from one point. If too high, it will take considerably long time or Blender or computer may crash from extreme high poly objects. I used collection of objects as particles. Here are the difference between overlapping and non-overlapping particles in those two pictures

Blue Noise Particles

Overlapping Particles

Yes they look practically same. Both are used with denoise node in Composite.

Second video:
(There is an issue, the method won't let you accept color random node for the particle system and instead it will produce one randomized color for all of your meshes)


Have desired particles on surface first.
In Blender, go to Edit; Preferences; Addons; then tick 3D Mesh Toolbox in Official list addons
Select the surface with particles. Go to Modifier Properties and click on Convert to turn them into meshes.
Note: Do not select anything else
Go to Particle Properties and remove particle system from the surface object
Select one active object from all of selected particles then Use Ctrl + J to join them
Press N and go to 3D-Print tab. From there, click on Intersection and go into Edit Mode
The Intersection will give a result that consist of meshes in contact with each other by faces. Press Ctrl + L to extend to whole separate meshes of selected faces that Intersection gave you.
Press x to delete them and you have one object containing all meshes that don't overlap with each other.


I refuse to give instructions for video 3 because it requires physics.