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.
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:
- Create an “editable mesh out of instantiated curves” - which would be a Mesh made out of edges?
- It has to be a Mesh, so it could be manually weighted to an Armature.
- 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
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