More advanced style of arrays?

In our current array modifier we can have a cap. an end and repeating body. What is I want to make alternating insertions in repeating parts? maybe just another material or different geo in certain position? Driven by some condition , or nearby objects maybe ?

Is there any geometry node trick to do so?

There may be more efficient ways to do this, but you can use the vertex index of a given mesh to control the instance object, at least in version 3.0 alpha:

instance_switch.blend (106.2 KB)


Thank you for the example file LordoftheFleas

and, another node just landed to make this even easier.

1 Like

You could use Collections and arrays, so you can set the order in this window:

collection_usage.blend (873.6 KB)

Thanks rigoletto .but i can’t make them follow the curve that way.

Anyway Initially I mean something like array modifier that deform and merge repeating things together . I just need an alternating parts with different material and shap. An armco rail for example with a few rusted and deformed sections.

Anything I am trying with geo nodes ends up without materials

You can use multiple objects with multiple array modifiers and use proper spacing with them. You can then use drivers to tie the values proportionally. If you want more advanced stuff you will need to use Geometry Nodes or Animation nodes or Sverchok.

You can assign different materials based on the index in geometry nodes:

Thanks LordoftheFleas. is there a way to merge vertexes and shift UV to have zero UV splits? Same way regular array modifier does?

You can try to use an additional weld modifier in order to merge the vertices, but I don’t know about UVs

Thanks LordoftheFleas.

1 Like