I've created a glowing sphere (basically a visible light source) and made a grid with an array. How do I randomize and animate the strength of the emission so none of the lights are the same brightness and the values change independently?


1 Answer 1


Blender doesn't give a lot of ways to distinguish between different elements of an array. One method that it does provide is UV:

enter image description here

I've created a UV map, then shrunk all vertices onto a single point. When I tell the array modifier to offset UV for each instance, this creates a unique number for each element that I can use as the "seed" for a noise texture lookup. The UVs of each vertex of the first element, shown, are 0.5,0.5; the UVs of each vertex of the second element are 1.5, 0.5; etc. Because these numbers are the same for each individual element, the strength is constant over that element. Because it varies from element to element, we get a different random output for each element.

Here, I'm also doing some manipulation of the noise texture's output to make it more obvious that I'm getting unique values for each element. The RGB curves and math/multiply are not necessary for the technique.


You must log in to answer this question.

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