Point ID Behavior in Geometry Nodes?

So the question is: if I used Mesh to Points node, and then instanced something on those points, will instance IDs match the original point indices of a mesh? Or the order breaks at some stage? One of my recent geonode projects relies on a mesh and another object (made by instancing curves on the mesh points) sharing the same IDs between mesh’s points and curve object’s splines. But now I think those IDs turned out mismatched. 3-dimensional array (sort of) in Geometry Nodes? - #5 by DeckardX08

You could always check in Spread Sheet.

If in doubt, try using an Integer Attribute instead - it should be inherited by instances without any issues. (I think?)
IDs don’t seem to work the same way - and sometimes produce unexpected results. Keep your eyes on the Spread Sheet and see if any inconsistency turns up before and after instancing.

Tip: the less geometry/points/instances you use during building/testing, the easier it is for you to comprehend numbers.

Tip Too: going over node setup once in a while and thoroughly cleaning it up and untangling the mess will help the Future You and anyone, who tries to help you, make sense of it all.

1 Like

I thought about storing index as an attribute, the only problem is that I want the mesh made of instantiated curves to be editable (so I could hook some vertices to bones, for example). Geometry Nodes cannot be applied on Curve object, and if I use Convert - Curve, the resulting object seems to lose attributes

Sooo, if I understand this correctly, you want to:

  1. Create an “editable mesh out of instantiated curves” - which would be a Mesh made out of edges?
  2. It has to be a Mesh, so it could be manually weighted to an Armature.
  3. Then later you need IDs for…? What exactly?

I don’t quite understand your end goal (or the process), but I strongly suspect that you would lose Instance IDs after realizing instances anyway :person_shrugging:

Maybe you could describe the idea of your whole process, so that you could be given more relevant advice.

There is probably no point. I think that problem exploded in complexity too much (unrelated to your answer) and I better hack something using built-in tools. Wasted a better part of the week already