2
$\begingroup$

I want to make an Object which cant be seen on Reflective Surfaces, for example: Metal. I want to make it so that if I Place the Object over a Reflective Material, it should not be seen on there. How can i make it so the Surface doesn't Reflect my Object?

Thanks in Advance!

$\endgroup$
  • 1
    $\begingroup$ you could deactivate Glossy option or in the Properties panel > Object > Cycle Settings, but it won't be reflected by any object, I don't know if you can make it reflected by some objects only $\endgroup$ – moonboots Jun 14 at 15:54
  • $\begingroup$ If you're rendering in Blender-Render, select the object, go to it's Material properties at right, open the Options tab and untick "Traceable". (or vers 2.8 equiv) $\endgroup$ – Edgel3D Jun 15 at 4:44
  • $\begingroup$ You got to add your render engine to the tags, please. $\endgroup$ – Leander Jul 15 at 7:00
5
+50
$\begingroup$

You can do this with the Light Path Shader Node.

EDIT: Do note that I what I posted works with the default settings in cycles, but EVEE reflections behave differently so it might not be the exact same.

FOR CYCLES:

Here is a basic shader setup that prevents reflective surfaces from seeing your object. In fact it prevents it from casting any reflected light at all.

You can turn this

Reflecty Ball

Into this

Non reflecty ball

By using this Shader setup Involving the afformentioned Light Path Node.

enter image description here

You can read more about the Light Path Node here but the value you are interested in is the "Is Reflection" value.

Long story short, things that have light reaching you only as a result of reflection from other objects (in this case the underside of the ball) are flagged as "reflection" rays by this light path.

For reference:

This shader setup works by using the mix and transparent shader nodes, driven by the light path. If a ray is a reflected light path, it has a value of 1 being put into the FAC value of the mix shader. This makes the mix shader choose 100% of the SECOND input shader.

Non reflected light gets classified with a 0 in FAC therefore it only chooses 100% of the FIRST input of the mix shader

You can use this effect to for example, make reflections semi transparent if you replaced the second node with a translucent shader instead of a transparent one or you can put a complicated node graph to use in place of the reflection while leaving the original directly viewed object as its normal shader.

This is especially interesting if you plan to do NPR (Non photo real) renders etc.

$\endgroup$
4
$\begingroup$

Just uncheck the Glossy ray visibility mark in Cycles settings for that object:

enter image description here

This turns the object into vampire and won't be reflected from any glossy surfaces.

$\endgroup$
1
$\begingroup$

Considering that the object can have shadow or be emissive, we would possibly want to avoid this (which shows shadows on the mirror and cuts the emissive on the cube outside of the mirror):

enter image description here

This setting intercepts all these effects so that it is totally invisible from the glossy plane above, but all its properties stay visible outside of the glossy plane:

enter image description here

The node setting is set so:

If the ray depth is more than one (for reflective light and shadow) but not if this is a diffuse (we want the object still emit or cast shadow in non reflective space), or if this is a reflection, then we set to transparency.

$\endgroup$

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.