2
$\begingroup$

(Updated to be more concise and clear, I hope)

I'm working on a project where I've used a series of Geometry Nodes operations to significantly alter a base mesh. These operations have resulted in the creation of holes in the mesh, which I want to fill using the unchanged parts from the original geometry. Watch the screenshot:

Screenshot of a Blender session showing the problem

An example original base mesh is on the left.

After applying various (irrelevant for the question, and you should really not look at them) Geometry Nodes operations, some faces are deleted, and the rest of the mesh is heavily modified, as you can see on the model on the center.

I want to restore patches of the original mesh where they are missing in the altered mesh, as in the model on the right.

If you can do this without using any information from the (simulated) red group, you have won the challenge.

$\endgroup$

2 Answers 2

2
$\begingroup$

(Using Blender 3.6.12)

This proposal is based on a Raycast node, set in Face domain, from the "original" object onto the "altered" object. The Source Position is the "original" face centre slightly offset outward along the face normal to accommodate changes. If an "original" face is in front of a hole, the Ray Length is exceeding some value (find by trial and error for this demonstration). Consequently, the Is Hit socket is returning False. Otherwise, it is returning True and the associated face is deleted. Only faces in front of a hole remain and are merged with the "altered" geometry.

GN graph with Raycast node This figure shows the achieved results.

GN graph with haltered geometry This figure shows the "altered" geometry the GeometryNodes modifier is attached to.

GN Graph with faces to keep This figure shows the faces with a Hit Distance greater than the threshold set as Ray Length.

Resources:

$\endgroup$
2
  • $\begingroup$ Congratulations, I tried it extensively for my use case, and it worked! Can you satisfy my curiosity and explain to me why you repeated the word "haltered" several times in quotation marks? Is it a quote or a joke that I'm missing? $\endgroup$
    – crucchi
    Commented Jul 4 at 9:46
  • $\begingroup$ Sorry for haltered instead of altered. My bad with misspelling, I did not known what haltered means until 5 minutes ago. I used quotation marks to oppose the geometry you are starting from (i.e. "original") and the one that you described as achieved by "a series of Geometry Nodes operations to significantly alter a base mesh". $\endgroup$ Commented Jul 4 at 10:56
2
$\begingroup$

In this case, you could split the geometry with Separate Geometry, process the two resulting geometries separately, and then join them again.

Something like this:

Depending on how you process the mesh further, you could also use the Merge by Distance node at the end to merge the points again.

$\endgroup$
7
  • $\begingroup$ Hi quellenform thanks for answering. My question is not really clear sadly and maybe this is also a strange question. I tried to convey the fact that after those processes I get those holes in the mesh, without a defined prior selection I can use, as you show in your example. I need to find the patches from the original meshes using only the knowledge of where the holes are located in the modified mesh. $\endgroup$
    – crucchi
    Commented Jul 3 at 12:24
  • 1
    $\begingroup$ @crucchi Do you also change the number of points, or do you just add new edges and move the existing points? $\endgroup$
    – quellenform
    Commented Jul 3 at 12:27
  • $\begingroup$ I change points, make new edges... but not on the holes boundary. They match perfectly $\endgroup$
    – crucchi
    Commented Jul 3 at 12:28
  • 1
    $\begingroup$ @crucchi Sorry, just to clarify again: Are you adding new points or changing (the position of) the points? $\endgroup$
    – quellenform
    Commented Jul 3 at 12:33
  • 1
    $\begingroup$ @crucchi OK, then it would be really helpful if you could share your blend file (not just an example), because in this case it's a bit more specific. If you only know where the boundary line is and the points/faces no longer match in terms of index and position, then you don't know whether you have to insert the left or right part of the original object. $\endgroup$
    – quellenform
    Commented Jul 3 at 12:47

You must log in to answer this question.

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