Accessing individual members of instanced geometry

 

Hi Folks.

This is slightly related to that other question:
https://my.aximmetry.com/post/1619-instancing-uv-texture-coordinates

So when I create a grid of objects using instancing nodes,
is it possible to still access a specific object in that instanced group
and modify it's position?

So if I have a grid of 6x4 'Cards' (to stick to my example),
and I want to access the second card from the left in the third row
to move it in z or scale it up, how would I do that?

I assume there's some sort of index applied to instanced geometry,
but I haven't figured out how to make use of that.

Cheers & all the best.


   EricWest

 
Profile Image
EricWest
  -  

Answering my own question here, the secret lies in the script that controls the grid itself.
Modifying the script allows to fast and easily pick and highlight the desired card.
Plus, adding a Smooth Vector also makes the cards move nice and ...well... smooth.

Aximmetry doesn't stop to amaze me in terms of feature set and robustness.
Thanks for such a great tool, guys!

 
Profile Image
Eifert@Aximmetry
  -  

Hi,

Just to add to this.
You don't need a script to access individual members of the geometry.

You can make an Array compound from a simple compound:


Set how big array should be: (same as how many instances will you make the geometry)

Inside the Array compound, you add every position vector to a final vector: (vectors can have more than 3 values in them)

Outside use the Serial Instancer and Instanced Node modules with the Array compound:

The above example will generate 10 boxes near each other in a line, along the x coordinate. The x coordinate has been set in the array compound into a vector. This vector will have 30 items (30 values stored inside) when it leaves the Array Compound and connects to the Serial Instancer, as the vector has received vectors (Vector Merge) with 3 items 10 times.


Also, there is another way to do it, where you use the Manual Instancer module:

And you have an Instance Item module inside of the array which receives the position:
The above example will generate exactly the same layout as the previous Serial Instancer method.

Warmest regards,


 
Profile Image
EricWest
  -  

Hey Eifert.

Thanks again for another brilliant support!