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$
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$
  • $\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 at 2:59
  • $\begingroup$ @3ifdj30 - if this answer helped you, please do not post "Thank you" comments, instead mark it as accepted $\endgroup$ – metaphor_set Jul 6 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$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.