I'll try to explain myself as clearly as possible. At the moment I'm working on a volumetric LED installation (over 10000 LEDs) and need to render a few short animations (previsualization) for a client. The way I decided to go about this:

Create a cube with emission shader which represents a single LED.

enter image description here

Using array modifiers I create the shape of installation.

enter image description here

So now, I'd like to be able to control RGB values of emission shader of every single cube separately by feeding those values from external software through python. My initial idea was to separate materials for each of those cubes, but then I would end up having 14040 materials, one for each cube (LED). Plus each LED has 3 values (RGB). So in total I'd need to process 42120 values per frame.

  1. Is this too much for blender?
  2. if yes, is there any other ways to achieve this that wouldn't be so processor costly?
  3. if not, how do I separate materials for every single cube after I apply the array modifiers and separate cubes by loose parts?

Cheers :)

  • $\begingroup$ Are the objects merged (merge option) by the modifier? $\endgroup$
    – lemon
    Nov 24, 2020 at 7:32
  • $\begingroup$ @Gorgious, 14040 times? $\endgroup$
    – lemon
    Nov 24, 2020 at 7:36
  • 1
    $\begingroup$ This is a lot of materials. Is there a background context that leads to this question? (could be another way to do it?) $\endgroup$
    – lemon
    Nov 24, 2020 at 7:38
  • $\begingroup$ you need to give more details, if all these objects are the same you should use linked duplications, and materials can be different for linked-duplications. You can also use one material but use the Object Info > Random output so that each object looks different $\endgroup$
    – moonboots
    Nov 24, 2020 at 7:40
  • 1
    $\begingroup$ @Gorgious, yes we're missing information. Eventually, the material variation is not only about color. $\endgroup$
    – lemon
    Nov 24, 2020 at 8:43


You must log in to answer this question.

Browse other questions tagged .