Rendering animation with Render Layers?

So, I heard some people recommending rendering an animation in layers to render faster and save on memory. Is that possible?

I have an animation of a character doing some moves for a few seconds. Is it possible to render the environment and the character separately and then combine them together? And does the shadows and reflections carry over as well?

I’m very interested in learning about this but I can’t seem to find a whole lot of info on this…

I tried doing it by myself but I can only render one of the layers, all the others just show up as white for some reason. Would really appreciate some help with this.

It might be useful, just check it out.

This is for still shots not animations. Which he explicitly states that it won’t work for animation.

Is there any information on how to do this for an animation?

So I have attempted a simple scene(.blend included) where I have three Render Layers. One called “Plane”, another called “Objects” and finally one called “Cube”.

The scene has a plane to act as a floor, some objects and one of them is a cube. The cube has a simple animation of moving from one side to the other with it’s shadow interacting with the floor and the objects. All of these elements are on their own render layers.

When I tried to composite them, I noticed that the Ico-Sphere is no longer clipping trough the floor(plane) which is not what I want.

This picture shows you what I mean. The Ico Sphere is suppose to be going trough the plane but when I composited it put it on TOP on the plane which is not what I want.

What I also tried to do was to render it out as an EXR file but the files came out black showing nothing at all.

Blend file:

Render Pass Test.blend (597.8 KB)

There seems to be quite a bit of confusion here about terminology, so let me quickly try to sort a few things out. (The word, “layer,” is actually very ambiguous in the Blender world, meaning several different things at once.)

MultiLayer OpenEXR files contain the digital information that is produced by the rendering process – in a lossless format. The renderer can produce a number of different “layers” of information – RGB, alpha, Z-distance, shadows, object-ID and much more – and this file can store all of this information at once.

Trivia: The EXR format was originally developed by Industrial LIght & Magic. The “multi-layer” extension was developed by the Blender Foundation! (It was immediately embraced.)

Compositing is the process of constructing an image by “layering” parts that were separately rendered. For example, if the camera does not move during a shot, you only need to render the background once. To achieve this, there must be some way to mask the various pieces of data so that they do not overlap when the sources are merged. You must also capture shadow information so that the objects – though rendered separately – will cast convincing shadows.

As you can see, MultiLayer OpenEXR files are very important in a compositing-based workflow because all of the data is captured and labeled separately, without loss or change. The actual numbers produced by the render are exactly the numbers that come out of the file when it is used “downstream.” The “file input” node makes available all of the information that is contained in the file, as separate output-sockets.

Thanks for the clarification. But how do I mask the various pieces and capture the shadow data?

“Masking” and “shadows” are two different concepts.

Let’s say that you want a cube to move behind a cone. One way to do this is to use the Alpha layer of the cone (which indicates “transparency”) to determine what parts of the cube should be visible. This “masking” causes the appearance that the cube is “behind” the cone. You could also use “Z-distance,” which indicates distance from the camera lens. “There’s more than one way to do it.™” Anything that lets you determine where a pixel should be included in the output frame, versus where it should not, can serve as a “mask.”

Now, let’s change the subject. Let’s say you want the cube to cast a shadow on the floor. To do this, you need a “shadow-catcher” object in the original render of the cube. The shadow-catcher corresponds to the position of the floor. You omit the catcher from the render output, but keep the shadow that is cast upon it. (“Shadow” is another one of the “layers” of output in the MultiLayer OpenEXR file. It tells you, numerically speaking, where a shadow is located and how dense it is.) You then use the shadow’s location and density to produce a corresponding darkening effect when you composite the files together.

Blender’s powerful, node-based compositor gives you complete freedom to choose how you want to do this. Its powerful node-based renderers add to that freedom. “With nodes, the world’s your oyster. You must learn about nodes, and the many, many places where Blender uses them.”

By the way – “shadows are expensive!” They add very significantly to render times, and they can clutter-up the frame. So, sometimes you render objects without shadows, then go back and use tricks like “shadow-only spotlights” (which cast shadows but don’t emit light) to “fake” the shadows only where you want them to be. The shadows are produced by a render that creates only a shadow pass.

(“Pass” is another interchangeable term for the “layers” of information in a MultiLayer file. But even that word is ambiguous – we also have “beauty passes,” for example. Terms like this derive from common everyday human use and weren’t given their meanings in a dictionary. Someone used the word and it stuck.)

Every now and then you might notice that an object isn’t casting shadows when it should be. The compositor folks hoped that you wouldn’t notice that they purposely left it out.


Again, thanks for the help but I’m starting to think this is a little bit over my head for me. I just wanted short rendertimes without scraficing quality but I guess I better stick with EEVEE if I want that.

It’s really not as hard as it looks, and don’t feel bad if you feel like you’ve “taken a sip from a fire hose.” :slight_smile: (Myself, I feel that way all the time.)

Think about it – it really does make intuitive sense – and watch some video tutorials on the subject.

EEVEE is a wonderful renderer, especially because it’s so damn fast, and you can do a lot of things “in camera” with it. But compositing adds an entirely new dimension. Have fun!

As you read the documentation and tutorials and such, just look out for these ambiguous words and consider what they probably mean “in this context.” Realizing that the same word might mean something entirely different in another. That’s just the way the ball bounces. “There’s also more than one way to say it!”

My biggest issue with EEVEE is shadows. My characters aren’t lit proprely in EEVEE. Like for example, the inside of mouths always seem to be shinny or like there is a light in there when it’s suppose to be dark. Thin objects barelly cast shadows, things just look unnaturally light despite doing everything right and using light probes…etc…

That really bummed me out of EEVEE as I hoped to ditch Cycles for a “UE4 requivalent”. Hence why I have been trying to make Cycles a lot more friendly for animations.

That is true.