1
$\begingroup$

I have been fighting with intersecting instances in a volume for a long time now and can't find a solution and also lack knowledge of nodes. "Distributing points on faces" node has a "Poisson Disk" setting which helps prevent points intersection, unlike "Distribute points in volume" node. As the result, I've been banging my head against the wall for two days now, trying to find a solution.

SCENE: General Scene

I need to scatter black pebbles within an object (it's orange in edit mode), avoiding blue object.

Geometry nodes (applied to an orange box): Geometry nodes (applied to an orange box):

The box is converted to a volume and then points are scattered in it. Raycast node is used to identify the blue object and its bounds to avoid points generation and it does the job partially.

The problem:

This node tree completely disregards the mesh of all instances and generates points too close to the faces of the orange box. Obviously, when instances of pebbles are applied to points, a mesh of pebbles intersects with the face of the orange box.

enter image description here

Ideally, I need instances not only to avoid intersections with the volume (orange box) but also to avoid intersections with each other, providing simulation-like results.

.BLEND File:

https://drive.google.com/file/d/1F79uOL5ygOjlA7HKpEUrQUSOe2MAy1js/view?usp=share_link

P.S.: Running an actual simulation is not an option, it will murder my CPU.

$\endgroup$
1
  • $\begingroup$ Hello and welcome! Unfortunately, this is not a task for Geometry Nodes, since you have no way to precisely place the instances in a volume without overlapping. However, you can solve this with Physics. $\endgroup$
    – quellenform
    Dec 28, 2022 at 19:05

2 Answers 2

6
$\begingroup$

To get Poisson Disk in 3D (Poisson Sphere?) Spawn random points then merge them by distance. Since Merging moves points to their average position, you need to repeat the process a few times. You won't achieve as much density as possible with Poisson Disk algorithm…

$\endgroup$
2
  • $\begingroup$ +1 really nice idea...again! $\endgroup$
    – Chris
    Dec 29, 2022 at 9:35
  • $\begingroup$ Hey, that's a great idea! It didn't do much in my case but it's something I will keep in mind for the future. Is there some sort of collision system for geometry nodes that we are currently missing in blender? Feels like other 3D programs can manage that issue at ease $\endgroup$
    – Alex
    Dec 29, 2022 at 21:28
0
$\begingroup$

I've been doing something else and discovered apparently Poisson already works in 3D??????????

$\endgroup$

You must log in to answer this question.

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