0
$\begingroup$

I've been creating a timelapse effect in Blender 2.79 by keyframing the visibility of each object in my scene one by one. Each object goes from hidden to visible with a one second gap before the next.

There are 1000's of objects in my scene, and as you can imagine, it's pretty time consuming and repetative.

I've been trying to speed up the process using animation nodes, but I just can't figure it out. Does anyone have a simple setup that they can share?

Thank you :)

$\endgroup$
1
$\begingroup$

It is very easy to do this effect in Animation Nodes (AN). I have divided this effect into two parts,

  1. Setting up the pass index of the individual objects in AN.
  2. Setting up shader and controlling it with object's pass index.

Part-1: First, I have arranged the objects (cubes in this example) in a linear distribution for simplicity but this may be different in your case. enter image description here

Then, we have to create a float list (using Float Range Node) which should have the same length as the number of objects (10 in this example), and we will use this list to set the pass index of objects. You want "Each object goes from hidden to visible with a one-second gap before the next". So, we are going to use Delay Falloff with both delay and duration option is set to 24 frames (i.e., 1 second) (see the Float Node in green color). Now, we have to evaluate the Delay Falloff on each object location i.e., what is the value of falloff for an object at a certain time (see the result in the Viewer Node). enter image description here

Next, we are going to make the pass index zero for completely hidden objects and 10000 (a larger number to get a smooth transition in the shader from hidden to visible) for full visible objects. So to do this, we have to multiply the float list with the evaluated falloff values (see the result in the Viewer Node), then set this as the pass index for each object using Object Attribute Output Node. enter image description here

Part-2: We need only one Shader for all objects. First, get the pass index of the object using the Object Info Node, then divide it by the same value (i.e., 10000) we used for full visible objects in the float list. Then, use this value to control the Mix Shader Node or visibility of objects, enter image description here

Final Node tree, Shader Nodes, and Blend File: enter image description here

$\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.