1
$\begingroup$

In Blender, I have a collection with multiple meshes, and I’m using Geometry Nodes to generate a convex hull between pairs of these objects. The convex hull creation works well, but I'm having trouble deleting specific parts of the hull based on the proximity of the geometry. How can I selectively delete parts of the convex hull in this setup?

Here's my goal: I want to delete only the outer connected surfaces of the convex hulls, where they extend beyond each object, while keeping the parts of the hull that connect the two objects intact. In other words, I want to preserve the portion of the convex hull that lies between the objects (let’s call it the "interior" area), and only delete the "exterior" faces.

  • Here My Scene with comments:

What ı want always

Another example ı always want to achive: enter image description here

  • When instances (each object in TARGET Collection) getting close each other ı get problems so no need to delete between two object faces but how? Proximity and delete geometry delete them that ı do not want...

Bad artifacts when close each other enter image description here

Another gif

To illustrate, let's say I have objects A and B, with a convex hull around them. Visually, it would look like this:

[(A) - Convex Hull - (B)] 

Here:

  • (A) and (B) represent the objects.
  • - is the area of the convex hull connecting the objects that I want to keep.
  • [] represents the outer parts of the convex hull that I want to delete.

Currently, I’m using a Geometry Proximity node to control the deletion, but it ends up removing portions of the connecting area (-), which I want to retain. This is problematic because, as the objects get close to each other, parts of the convex hull I need are deleted as well.

Here is current Geometry Nodes Setup: current Geometry Nodes Setup Same Same But Different (setup) Same Same But Different (setup)

I don’t want to start a new node setup; instead, I need modifications to my current setup to achieve this selective deletion. Ideally, I'd like a solution where the Delete Geometry operation targets only the outer faces, leaving the inner connecting regions untouched.

Any advice on how I can modify my setup to achieve this behavior would be greatly appreciated!

Thank you!

$\endgroup$
7
  • 1
    $\begingroup$ I can not find any geometric criterion to tag faces of the convex hull to delete. By construction, these are "outside" of the pair of objects the convex hull is connecting. Is it OK for you if a vertex group is defined to tag faces inside the spheres, as here : i.sstatic.net/A2qNA118.png ? Those should be kept and any convex hull face "in front" should be deleted. $\endgroup$ Commented Nov 14, 2024 at 21:09
  • $\begingroup$ I added two more gifs to make it clear, I deleted last thing ı wanted make. $\endgroup$ Commented Nov 14, 2024 at 23:26
  • 1
    $\begingroup$ Is the general size of objects smaller than the general distance between objects ? I may have a solution. $\endgroup$ Commented Nov 15, 2024 at 13:42
  • $\begingroup$ When there is a gap as big as the size of the object, the remaining bridge convex hull starts to disappear, yes! $\endgroup$ Commented Nov 15, 2024 at 15:16
  • 1
    $\begingroup$ Can we assume that the "lip" between convex and concave parts of the spheres is always a plane (I mean the edges between blue and green in this figure : i.sstatic.net/kKzu6Eb8.png) ? $\endgroup$ Commented Nov 17, 2024 at 18:01

1 Answer 1

1
$\begingroup$

Here's an idea: add the edge of the hole (the vertices you already have selected in Edit Mode) to a vertex group convex edge, then after Convex Hull check by proximity if the newly created vertices are at the same spot. Then remove all faces that are built only by those vertices (the average of the selection attribute gives $1$, that is, all vertices building the face have a value of $1$).

Imgur mirror (SE image hosting has problems)

Imgur mirror

(Blender 4.3 β)

$\endgroup$
2
  • $\begingroup$ Thank you for sharing your idea and perspective! It’s a valid approach, but not quite what I’m looking for. In my solution, there’s only one issue: if we could prevent erasing between two objects—maybe using proximity checks or raycasting—it might work. The problem only happens when the objects are close; when apart, it’s fine. In your approach, though, only the first and last geometries are visible, while those in between disappear. Still, I appreciate your effort—thanks for your input $\endgroup$ Commented Nov 15, 2024 at 14:53
  • 1
    $\begingroup$ @HtoiVinci when they disappear, inspect if there even is a supporting geometry to just delete something and end up with the result you want: just apply the geometry nodes modifier and see if you can get the desired result by manually deleting faces. If not, this seems hopeless and perhaps a better approach would be to resign from convex hull altogether... $\endgroup$ Commented Nov 15, 2024 at 15:09

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.