I think that to learn geometry nodes is really important to have a transparent node that shows in a raw or readable format what passes through it. Sometimes I’m having a hard time understanding what really gets throught…
Is it a float? An integer? And what about a vector? Can you show me the coordinates of the input object?
Is there a way to get access to the first or last point and use only that point for Point Instance? Or is there a way to specify a point with vectors for point instance?
If there is no other way, I would like to suggest to add a Point mesh primitive.
Use case would be to use GN as an array for a collection for building floors, for example. I would like to have a unique bottom “cap” and top “cap” (a roof) as in the array modifier.
I don’t know if I’m interpreting your question correctly, but regarding specifying a point with vector for point instance, you can use a line primitive with count 1.
Would it be possible to add some kind of highlighting in the spreadsheet of geometry selected in the viewport (in edit mode)? You can already use ‘selected only’ for this, but for quickly identifying what geometry corresponds to which line, highlighting the corresponding lines would be nice.
I think it’s a bit slow? curious to see if there’s a faster/better method, I’m almost sure that i took a long detour as it is quite redundant. (the rate is basically calculated 10 times, with a generated random int attr from 0 to 100 which is then compared with user rate input, then with in some boolean maths we place a new idx on available spots of instance_idx attr)
Note that instancing by index can be really handy,
for example you can use a TextureSample node, remap the texture values as Integrer so they can be read as instance_idx then poof you have a multi instance texture cluster set up
There’s just an accumulated sum of all the weights used as a max for the attribute randomize, an attribute compare, point separate, and point instance in the node groups. I think there’s some math in there to fix up but I believe the basic idea works.
Conclusions-- hopefully there’s a better way of addressing this use case, and I wish sockets lined up with the grid when you use snapping to place nodes.
You don’t need a point distribute for that. You can use the vertex group as mask on a point separate node and connect that directly to a point instance node.
I am trying to instance little cubes on the vertices of the large cubes, and I want to input a rotation, but it is not there. If I use point distribute first, “rotation” would be there, but when I just simply want to instance on the vertex, it is not there.
I understand the logic, that the attribute needs to be created first, to be displayed on the drop down. But from a UX perspective, it also does not make sense why things like “rotation” and “scale” are not part of the point cloud’s built in attributes included in drop down, despite the “point instance” node clearly accepts a rotation attribute and scale attribute input. I hope I can soon see “rotation” and “scale” in the drop down without the need to manually create it.
A proper way to do per vertices point instancing would be to convert the mesh to a point cloud first,
it would avoid a lot of problems
unfortunately it’s not yet possible
Just a small oversight: You’re using the Attribute Math node instead of the Attribute Vector Math node
(The Attribute Math node creates a Float attribute that is automatically interpreted as a Vector by the Point Translate node by simply using the value of the float attribute for all three components of the vector. That’s why the points are translated along the diagonal.)
Is there a way yet to get the vert index of a mesh yet? I’m thinking about using Rigify/Skinify to get a starting series of verts, which, being procedurally generated, would always be in the same order and place, then referencing that to instance a mesh between 0 and 7 for the spine, 8 and 13 for the nose, etc.
Yeah, displaying vertex indices should really be moved out of the developer category now that procedural modeling is becoming a thing. I heard that there were talks about how to access the indices of a mesh but it was decided that an attribute interface was not a good way to go about it and it needed its own design. So nothing for now as far as I am aware of.
1- im creating a vector attr named scale, its affecting the scale of the points,
2- i want to control the z axes, so i separate the vector to 3 floats
3- i want to randomize one of the floats
Is this wrong ? if so i still dont understand, we normally should have the ability to control 1 float from a vector