Ever tried the NLA Editor in Blender? It might solve your problem.
If you've never tried it, I'd recommend watching a good intro video on YouTube, since it can seem a bit confusing at first, but it is a very powerful tool once you understand it.
But here's a quick run through for your assignment :
- Create the required animation for any one object.
- Open your Dope Sheet editor, switch it to an Action Editor and give you action a good, memorable name of your liking.
- Switch to NLA Editor. Push the action clip down to create a new animation layer.
- Now select all your other objects to which you want to assign the same animation, then select the previously animated object in the end, hit Ctrl + L and select Link Animation Data. This will assign the same animation clip to all the selected object. You can change the timing of the animation by simply dragging the layers in the NLA Editor.
- To edit the original animation, select any one layer and hit Tab in the NLA Editor. This will turn your layer green and allow you to edit the animation like you would generally do. After editing, make sure the hit Tab again.
EDIT-01 :
It seems like offsetting animation layers in NLA does not work for animated Shader nodes... but here's a weird trick that might work :
- Select one of the objects you need to fade out, go to Object Properties > Relations > Pass Index > animate the value from 1 to 1000 (1 where object should be invisible, and 1000 where it should be visible)
- Set up you shaders as follows :
(the value for Divide node needs to be the same as as we used above for the pass index. You can try as low as 10 or as high as 10,000...lower values might give choppy result, while higher values will smoothen out the transition...)
- Now you you can offset the animation layers in the NLA Editor as mentioned in the previous answer, and tweak the settings as you like.
Hope this helps !