2
$\begingroup$

I'm trying to have geometry nodes know the difference between the original vertices and the "resampled" ones and create a selection mask from it. The curve isn't a standard curve however. It's a mesh that is converted into a curve after being split at the edges.

I have my reasons for this, however to do what I want, I need to be able to delete the points that correspond to the original vertices and keep only the "new" ones from the resample curve. From the example I provided this is represented by the larger points being the ones to delete (it should be obvious, but in case it is not: This is only adding a second, larger, version of the original points before resampling for the means of demonstration).

fig.1

Essentially I need to create a selection of just the larger points and use that in a delete geometry node.

$\endgroup$
1
  • $\begingroup$ I think you overlooked the Curve to Points node looking at your node tree $\endgroup$
    – Gorgious
    Commented Mar 17, 2022 at 10:27

2 Answers 2

2
$\begingroup$

Actually, you only have to check if there are points in your original mesh whose position matches with points of your curve.

You can do this by querying the position with Transfer Attribute, and then using the node Compare (set to Vector).

You can then use the output of this node directly as a selection to delete the corresponding points with the node Delete Geometry.

enter image description here

Please note: I have hidden the unnecessary sockets and options of the nodes here in the screenshot and in the file to save some space. You should just show them.


(Blender 3.1+)


Update
Unfortunately, I realized only after writing the answer that I have solved such a task before ....and in fact this is also the better solution: https://blender.stackexchange.com/a/266739/145249

$\endgroup$
0
$\begingroup$

I am not sure whether i don't understand what you want...or you did not understand what resample does....resample does replace your old points.

Here is the proof:

enter image description here

you can see i instance blue icospheres on the original curve. I instance red ones on the resampled curve.

They will be replaced as you can see...so what you want is simply default behaviour.

enter image description here

the original curve has 6 vertices.

The resampled one 10.

$\endgroup$
1
  • $\begingroup$ i know what the resample curve does in practice, not so much how it works in code. the fact remains though that i need a way to remove specific points from the curve that happen to coincide with the vertices of the original input mesh. thx for the input though :) $\endgroup$ Commented Mar 17, 2022 at 20:02

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