2
$\begingroup$

I'm trying to generate a piled stone wall that follows a curve with geometry nodes. Currently my approach is to generate points along a curve, then instance volumes along that curve. From there I use a Distribute Points in Volume node to generate points in each volume instance along the wall so I can instance geometry on each of those points.

The issue that I am having is that the points generated by Distribute Points in Volume are the same for all the volume instances along the curve. I would like for the distribution to be random for all the volumes but I cannot work out how to change the seed per instance.

How can I vary the seed per instance? Or if there is a better way of achieving this please let me know. Thanks

Image of current wall and geometry node setup

$\endgroup$
0

1 Answer 1

1
$\begingroup$

As I said in my comment earlier, the instances are basically clones of a single object, so all of them get the same points distribution in the volume. What I incorrectly said was that plugging the Index into the Seed input would help.

Although each instance has a unique index and this should work, the Seed on the Distribute Points in Volume node only accepts a single value as input, not a field of values - so what I suggested does not work. The node expects one large volume to distribute points in, not multiple volumes.

To make them all individual objects, you could use a Realize Instances node. However on volume objects this works differently. If you realize the instances you do not get multiple volume cubes along the curve, only one large volume at the start.

So as a workaround you should instance regular mesh cubes on the curve, then realize them and use a Mesh to Volume node afterwards. This results in one single volume as well, but separated into the individual cubes.

mesh to volume

$\endgroup$
1
  • 1
    $\begingroup$ That's worked perfectly for me. Many thanks. $\endgroup$ Commented Aug 8, 2024 at 7:44

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.