Random color on multiple multi-component objects obtained by applying an array modifier I have a shipping container made up of around 30 different meshes. I want 3200 containers stacked together, each with a single random colour of a selected gradient (red container, blue container, green container, etc).

Another post on the site suggests to "Separate as loose parts" after applying the array, but this assigns a random color to each SINGLE mesh component (observable in the monkey's eyes).


Is there a way to merge all objects into a single one, joining all intersecting external faces automagically? (Boolean modifier doesn't appear to be designed or smart enough to handle several complicated meshes)
Is there another way to apply random colors to array items without separating into loose parts?


Thank you!
I think that you shouldn't use an array.

Use a particle system instead. Create a mesh were the containers would be:


Then add a particle system, star on 1 and end on 1, choose volume as emit form and grid.


Now you will have this:


If your containers aren't square (probably) change the scale in object mode of the emmiter to be similar to the container ratio.

Change the physics to "No", render to "Object" choose the object (with the material of the link that you already visited) and change the size as you need:



Any other question, just ask.