"Separate loose elements" geometry node request
A node that can separate all unconnected geometry in a mesh out into individual objects. For example, let's say I join 4 cubes and a monkey. None of them are connected, but they are all in the same mesh. Having a geometry node that separates these objects back into individual objects would be amazing.
Story of why I want this:
Recently did my first geometry nodes projects. In it, I had a large, simple subdivided plane with many points. I used a displacement texture and animated it to add a wave-like appearance to the plane. I then instanced cubes on each point. The cubes had a material that randomly assigned a color to each cube. This worked okay and gave me the effect I wanted.
Here's where my problems started. I liked the random coloring but, I wanted to boolean out a section of the cubes in the center to place a logo there. I found that I can't boolean the cube itself as it will boolean all the cubes at once. I can't boolean the result as the cubes are all separate. I can "realize instances" and boolean the result of that, but then my cubes are all treated like one object and there is no random coloring.
I ultimately ended up manually deleting the vertices of my plane where I wanted the logo. It wasn't ideal as my cubes didn't have fancy cuts in them in the shape I was going for. It worked, but I'd like to be able to operate with booleans on a large group of instanced objects like this for motion graphics.
I think it would be nice to be able to realize instances, boolean or do any operations, and then turn all disconnected geometry into individual objects.
2 Comments
As bestelix says, it is already possible in Blender 3.1:
Also, Raycast lets you delete all geometry inside the monkey:
you can filter out those instances with a Proximity or Raycast node