I'm trying to keep the reflection (circled in green) visible but I don't want the source object (circled in red) to appear in the render. I first tried Gordon's answer in How to hide object in Render, but keep it's reflection by unticking Camera under the source object's Object > Ray Visibility but the object still shows up in the render just in black. Then I tried putting the object in a collection and setting it to Indirect Only as seen in the crooked arrow icon circled in green on the right, but that didn't work either as I can still see the source object. Am I missing any settings or steps to achieve this? I'm using Cycles in Blender 4.5.
-
$\begingroup$ hello, you say that the object still shows up, it should not, maybe it's its shadow and you need to disable the shadow option as well? $\endgroup$moonboots– moonboots2025-10-17 18:18:43 +00:00Commented Oct 17 at 18:18
-
$\begingroup$ @moonboots hi moonboots thanks for your comment. after i moved the object, then it worked and disappeared from render. so it looks like a bug. $\endgroup$Megan Love– Megan Love2025-10-17 18:25:04 +00:00Commented Oct 17 at 18:25
-
$\begingroup$ Apart from what I show in my answer - it actually looks as if the object would not be invisible to the camera but simply pure black. Can you show your Light Paths > Max Bounces / Clamping / Caustics settings in the Render Properties as well? $\endgroup$Gordon Brinkmann– Gordon Brinkmann2025-10-17 19:17:44 +00:00Commented Oct 17 at 19:17
1 Answer
When you look at my answer that you linked in your question you will see there are other visibility options that can be disabled as well. By the way: setting a collection to Indirect Only has the same effect as if you disabled Camera visibility for the objects inside the collection. The only difference is you do not have to do it for each object separately and can easily make all objects visible again with one click. Or make individual objects visible again by just removing them from the collection.
For your first problem: disabling the visibility for the Camera will make the object invisible only to the camera, not any of the other objects - an being "visible" to them means affecting them.
So I have this scene:
If I now disable visibility for the Camera, as you already experienced this will not keep the object from throwing a shadow onto the wall:
So next of course I will disable visibility for Shadow:
But now there is this red "shadow" on the wall - that comes from light bouncing of the wall to the back of the red text bouncing red light back on the wall. To get rid of this I disable Diffuse:
Now the only thing that is left apart from the reflection is the text being visible through the glass. That is a transmissive object, so I disable ray visibility for Transmission as well:
And now the reflection on the bottom plane is all that is left (well, technically there is a reflective part on the wall as well, but since it is very rough and a bright color it is not very visible).
But you also asked in the comments to get the opposite, making it all visible except for the reflection. That is a bit harder, you could turn everything back on and disable only Glossy - but this way you will still see the reflection of the shadow etc.:
So what you could do additionally is going to the Shader Editor of the text object and mixing whatever material you created for it with a Transparent BSDF and use a Light Path node's Glossy Depth output as mix factor:
And this is the result:
Now one might think that this material setup makes disabling Glossy in the Ray Visibility settings somewhat redundant, but if you take a look at this screenshot where I have it still enabled, there are some faint artifacts of the text showing in the reflection:









