I have a reduced node set for the purpose of this question. In the node group a grid is initialised with 10 by 10 verts (100 points). I am then instancing subdivided cubes onto these points but displacing the mesh with 'set position' connected to a noise texture. The goal is to use the index of each point to drive the 'seed' or 'W' value of the noise texture so each instance has a different displacement. As detailed I am using the 'store named attribute' node, which I believe to be similar in this 'use case' as the 'capture attribute' node (which I tried to no avail either). I have also added a viewer node and it looks as if the index information is being transferred yet the viewport does not show any variation in the instances. I will continue to dig until I resolve but any help would be greatly appreciated. Thanks
You are interested in using the index of an instance/point to influence different inputs of
You can achieve this as follows:
Capture Attribute instead of
Store Named Attribute. If you use
Store Named Attributes, you will add additional values to each element that are already present. Namely the index of the instance/point. In this case, this would only be additional ballast, which ultimately affects the performance.
If you capture the index directly after
Instance on Points with
Capture Attribute in the domain Instances, you can apply this value to every single point of the objects uniformly, even if you append the node
Realize Instances afterwards.
And this is actually the problem the other poster is causing with his "solution": Without
Realize Instances you can't move any points individually here at all!
Therefore you have to solve it this way, no matter if you use
Noise Texture or
The usual approach for this is to put a Set Position after the Instances on Points node and randomize the offset. Where you have the Set Position there is only one object to position, and its position doesn't matter because the instance position comes from the points, not the source. Here's a simplified version of an approach that leaves the X and Y coordinates alone but randomizes Z:
You can replace the Random Value/CombineXYZ node pair with another combination that will randomize in whatever fashion you would like. Here's one that randomizes all three coordinates:
Note that you don't need a Noise texture unless you want a specific noise pattern and the Randomize node doesn't need a driver.