2
$\begingroup$

The way that I "thought" Blender worked is that if you had multiple render layers checked, Blender would automatically render all those render layers and then you could switch between those render layers in the UV/Image Editor and save the ones that you want or save all of them.

Now unless I am experiencing some kind of bug, this is not the way Blender works. What I would like to know is how I can set up Render Layer 1 to have Film>Transparent enabled so I get the alpha channel where it is masked and then to have Film>Transparent disabled for Render Layer 2 so I get the background showing and then to press Render and have both render layers produced for me in one shot as opposed to having to setup and render Render Layer 1 and then afterwards, uncheck Render Layer 1 and setup Render Layer 2 and then render again.

Is there a way of doing this natively in Blender or is there an add-on that does this? Is it just me or is it confusing that Blender lets you have multiple Render Layers enabled but it only renders the first enabled render layer?

Thanks to anyone who can clear up my confusion. BTW..I am rendering a single image and not an animation.

$\endgroup$

1 Answer 1

4
$\begingroup$

You were right the first time; all renderlayers are rendered when you press F12. You can view them independently in the image viewer:

enter image description here

Typically the compositor is used to combine renderlayers into a final image.

To make the background transparent on one renderlayer and include the sky on another, you must use passes.

Only settings located in the renderlayer panel can actually be set independently per-renderlayer, so enabling Film > Transparent will make the background transparent in all renderlayers. To get the background, there are two approaches, both using the Environment pass:

  • Create a separate renderlayer that doesn't render any objects, but with the Environment pass enabled. Then alpha over the desired renderlayers using the compositor:

enter image description here

This is the simpler of the two, but it requires the slight overhead of rendering the sky separately (you can set the samples to 1 on just the sky renderlayer to mitigate this)

  • Mix the environment passes of all the other renderlayers to get a all the background/sky you need to cover the areas not obscured by objects in both other renderlayers:

enter image description here

Potentially slightly faster, but you're not guaranteed to get the entire sky.

Note that there are a lot of different "layer" settings surrounding renderlayers, which can be rather confusing. See my answer here for more detail.

$\endgroup$
1
  • $\begingroup$ Thanks for confirming the problem I am having, which seems to be memory related. I am very grateful for your detailed response. It is very helpful. $\endgroup$ Nov 18, 2015 at 17:53

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .