Is it possible to use the rendered output of one renderlayer in the materials on another render layer?
How can I achieve this?
Blender Stack Exchange is a question and answer site for people who use Blender to create 3D graphics, animations, or games. It only takes a minute to sign up.
Sign up to join this communityYes, this is possible.
You can achieve this with an Image Sequence Texture node:
Set up two render layers with each layer excluding the other:
Set up compositing nodes so the render layer that is being used to influence the materials renders out to a separate directory.
This is possible with the File Path node:
Render only the influencing layer once to that directory by Pinning that render layer.
The file will be named something like Image0001.png
. Rename it to Image0000.png
Set up the material you want to be influenced.
You can pull in the result of the other render layer by adding an Image Texture node, setting the image to Image0000.png
, setting the Source to Image Sequence, and setting the Offset to -1
This is the result of the other render layer.
Render the animation. (CtrlF12, or Info > Render > Render Animation
Here is a simple test with two spheres (one on each layer) and a moving light source:
Keep in mind that with this technique, the two layers are one frame apart. This could be fixed by rendering the influencing layer completely beforehand, and adjusting the offset accordingly.