1
$\begingroup$

I can manually create 3 random objects, using the seed input to keep them unique.

enter image description here

I try to automate this with the help of a mesh line, but of course all 3 of the instantiated groups are identical because they use the same seed of 0.

enter image description here

So how do I simply instantiate each group with a unique seed, where each seed corresponds to the index of the group within the list [1,2,3]? Is this an operation I can carry out at location X, Y, or Z? I'm guessing position Z is too late, because by then the object has already been instantiated, but I'm open to suggestions.

enter image description here

Assuming that this question applies generically to all cases of instancing groups with unique seed values - i.e, I don't want to simply shuffle around the order of operations in this particular case so that green cubes can be distributed across 3 disks.

E.g the SCATTER_DISK group could instead be a SKYSCRAPER group that randomizes many many attributes like floors, spires, kingkongs, all with respect to a single input seed value.

The SCATTER_DISK group is also provided below, just in case the secret sauce needs to go in position (W).

enter image description here

$\endgroup$
1
  • $\begingroup$ If your question has been solved, please be so kind and mark the answer that contributed to the solution as "Accepted answer" so that this question will not continue to be displayed as unsolved. Thank you! Here you can find more information: What should I do if someone answers my question?. If you still haven't gotten a solution to your question, please be kind enough to address it. $\endgroup$
    – quellenform
    Commented Oct 24, 2022 at 17:55

1 Answer 1

4
$\begingroup$

With the instantiation of objects it behaves actually always the same: The individual properties of an instantiated object cannot be modified after instantiation. It is possible to change the scaling/rotation/position of an instance afterwards, but the previously available properties can no longer be changed.

As is so often the case, however, there is a little trick, and most of the time you have to think around the corner a bit when dealing with tricky issues.

Since the input Seed in the node Distribute Points on Faces requires a single value, it is not easy to use a dynamic value here. Unfortunately. This eliminates the goal you originally set out to achieve.

The solution would be to simply use a different mechanism for randomly creating your required points.

...this might not be as nice, but it still works.

It goes something like this:

  1. Create an object (grid, circle, ...) with the necessary number of points for each group.

  2. Create a curve/mesh whose points correspond to the number of groups you want. These points provide the basis for the instantiation of your groups.

  3. Then instantiate/multiply your grid to the previously created points.

  4. Next move all the points randomly on the X/Y axis within a certain range (within your circles/grids).

  5. These points are now the base available for your final instantiation.

  6. In order to be able to instantiate different objects, you could use a previously created collection, and randomly select the object to be instantiated.

The result can then look something like this:

enter image description here

Here is a summary of the node group that leads to the described result:

enter image description here

Have fun with it!

Here is the blend file:

$\endgroup$

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .