Light emission strength animation

Hi guys,



I have made this simple model of tube lights and I want to make a quick little animation of the lights lighting up down the corridor in staggered fashion (one at a time).

I am thinking I need to separate the lights each into their own object and then make a single user copy of the emission material for each object. Then I could either just do staggered key frames (which I’m wondering if there is a nice, fast way to do that?) or I could use the Animation Nodes plugin which I have just installed and don’t know how to use.

Regarding AN, I saw a tutorial on using the object distance node to check the distance between 2 objects. So I could have a box (hidden to the render) sliding down the middle and have the materials light up more as the distance to the box gets smaller?

I know I can make this animation if I just sit here grinding for ages, but I’m looking for any helpful advice on how to speed the process up.

Thanks in advance!

Animation Nodes has a Time Info Node - this gives you the frame number of the animation as it runs, so you can use this to automatically light up lights further ways from the camera. As for the actual lighting up, I think you need one material for each light ring, then animate the Strength value in AN using a Material Node.

The is one case where there is no massively quick fix, often there isn’t, but it is good practice to get to know animation techniques. It’s good to draw yourself a flow diagram for the animation, that helps decide how it should be built for maximum efficiency. Don’t look for shortcuts everywhere, often there are none, this is why animation take so long and cost so much…

For AN, read this: http://animation-nodes-manual.readthedocs.io/en/latest/user_guide/index.html yes I mean ALL of it.

Cheers ,Clock.

I think Animation Nodes can be a good choice for this task.

If you want to switch the tubes on or off it could be an approach to use two sets of identical objects where one set has a material_on (emission strength high) assigned and the other set is assigned to a material_off (emission strengt low). So you do not need a separate material for each tube object, you only need two materials. Via Animation Nodes you “just” switch the object visibility either on or off depending of you want to see the tube with the material_on or the material_off.

I used this technique to realize the cube with some blocks being switched on and most of them switched off in my sketchbook.

https://blenderartists.org/forum/showthread.php?t=439393

This might sound complicated but compared to acomplish this task with drivers it should be a lot easier with Animation Nodes.

As clockmender mentioned the frame number from the Time Info Node can switch the visibility via some boolean comparisons.

Wow, that Animation Nodes manual. I’ve got some bedtime reading for sure :smiley:
Thanks for the suggestions guys, I’ll have a look into AN some more and let you know if I get a good result!

I gave up on AN for now. I kept it simple and made a new scene with just the lights. I made the animation for one (a simple up and down curve for the emission strength) and then duplicated it (Shift D) a bunch of times.



Now just select each one in turn and push U to turn it into a single user copy. From memory I think I did the bottom option “Object Animation”. Finally slide the animation curve over by like 5 frames for each one so they light up in sequence. :smiley:

I’m happy, I learnt stuff! Thanks for all your help again guys.

Since objects are offset from one another, you can use their position information to light them separately : geometry node, position output, separate desired axis, remap with math node, and then you just need one single animation datablock.