8
$\begingroup$

I have a reflective object and I want it to reflect only light and not the surrounding objects.

I have moved it to Layer 2, but it still reflects the objects from layer 1. What should I do to prevent objects on Layer 1 from casting reflections on objects in Layer 2?

$\endgroup$
6
$\begingroup$

Cycles:

Set the renderlayer with the reflective object to Exclude layer one:

enter image description here

Now objects on layer 1 will not have any affect on layer 2.

Example .blend

Blender Internal:

In BI this is more complicated, because it appears to be impossible to separate reflections into separate layers with BI.

In other words, you can either reflect every object in the scene, or reflect nothing (no selective reflecting). You might be able to do something with the Material Index pass, but with even a simple scene it becomes complex quickly.

As a workaround, you can use multiple Scenes.

  1. Create a new scene in the Info panel by pressing the +:

    enter image description here

    Select one of the options. You probably want Link Objects, but check the wiki for an explanation of each option.

  2. In the new scene, setup a renderlayer that only renders objects on layer 1.

  3. Back in the first scene, setup a renderlayer which has only the reflective object. Put objects you do want to reflect on a different layer, but in the same scene.

  4. Mix the two scenes with an Alpha over node:

    enter image description here

Example .blend

$\endgroup$
  • $\begingroup$ Okay, I thought I was done, but no, I still can't build a composite layer from the two layers in Cycles without background on the top layer interfering. I need to apply "mask transparency" to my top layer so that the background in that layer is rendered as transparent, but I haven't yet figured out how to do this in Cycles. $\endgroup$ – seadeer Jan 31 '14 at 1:20
  • $\begingroup$ @AnnaClawson You can make the Sky transparent by enabling Transparent in Render Settings > Film $\endgroup$ – gandalf3 Jan 31 '14 at 1:24
  • $\begingroup$ that's exactly what I tried to do! But it made sky transparent on all the layers instead of just on the top layer. $\endgroup$ – seadeer Jan 31 '14 at 1:26
  • $\begingroup$ @AnnaClawson You can add the background back in with compositing, or you could try Zmask instead. $\endgroup$ – gandalf3 Jan 31 '14 at 1:27
  • $\begingroup$ Your answer on another thread explains pretty well how to do masking in Cycles: blender.stackexchange.com/questions/3092/… $\endgroup$ – seadeer Jan 31 '14 at 1:53

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.