0
$\begingroup$

I have many cylinders duplicated with an array. The material emits light. I need to make the cylinders light up and turn off one after an other in a loop.
Any idea on how to do this?

$\endgroup$
2

2 Answers 2

4
$\begingroup$

since the array is an exact copy of the first object, I don't think there is a way to do what I understand you wanna do. What I suggest is copying the object with array (to keep it in case), then apply the array.

Without separating your object and materials, you can animate the light changes with a texture that, depending of the UV, will either light up or not your objects only by keyframing the texture coordinate. So UV unwrap all your cylinders from the front: enter image description here

Then you have to make a texture that looks like that: enter image description here

Finally in your material, set it up a bit like that and move the X value of the mapping node to align the white part of the texture over the cylinder you want to light up: enter image description here

enter image description here

OR you can always have multiple objects with different material that are animated independently (probably more time consuming).

$\endgroup$
2
  • $\begingroup$ Thank you! I ended up just keeping them in the array and adding a driver to the mapping x axis, making the white square jump every ten frames. in my case: 0.2+0.25*int(frame/10) $\endgroup$
    – 3ifdj30
    Jul 6, 2019 at 2:59
  • $\begingroup$ @3ifdj30 - if this answer helped you, please do not post "Thank you" comments, instead mark it as accepted $\endgroup$ Jul 6, 2019 at 7:20
0
$\begingroup$

I could be way off but once you apply the array modifier, I believe you'd manually have to key frame the emission strength per copy of the cylinder. I'm curious what others recommend.

$\endgroup$

You must log in to answer this question.

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