Visibility of spotlights in a render

I have a problem with spotlights appearing as white disks in a mirror reflection in a render.
There are four control options for visibility of spotlights in DS: (latest 4.11)
1) Visible
The ON option has the light on and visible in the Viewport and the render.
The OFF option hides the spotlight in the Viewport and the render AND switches the light off.
2) Visible in Viewport
The ON option has the light on and visible in the Viewport and the render.
The OFF option hides the spotlight in the Viewport only. The light is on AND visible in the render.
3) Visible in Render
The ON option has the light on and visible in the Viewport and the render.
The OFF option hides the spotlight in the Viewport and the render AND switches the light off.
4) Visible in Simulation
Presumably controls visibility during a Simulation. As I am not running a Simulation this control is not relevant.
So, What is the difference between option 1 and 3? None, as far as I can see.
I had expected the Visible in Render OFF option to have the light ON but not visible as an object in the render, but that is not what happens.
There is also an Illumination ON/OFF control which does exactly the same as 1 and 3. Why are there three controls that do the same thing?
Does anyone know how I can have a spotlight ON but not visible as an object in the render?
Comments
There is also a control called Render Emitter which has an ON/OFF option. On the basis that a spotlight is an emitter, I tried switching that to the OFF option in the hope that the light would be on but not rendered as an object in the scene. With Render Emitter OFF, the light is still on AND is still rendered in the scene as an object, so I have no idea what function this control has.
Render Emitter affects only direct views of the light, it doesn't affect reflections (or refraction) as that would stop the light generating highlights. What you can do is repalce the light with a model (a flat cylinder for a disc, or even use the geoemtry Editor to chop one end and the sides off a cylinder) and apply the Emissive shader preset, then lower the Cutout Opacity to just above zero - but again, that will not contribute towards specular effects on shiny surfaces.
1 includes 2, 3, and 4 - the latter affect only the one area of interaction.
Hey Richard, do you know if there are any plans to fix this issue of light geo appearing in reflections/refractions? It's pretty gross, and it's been around for a while... just wondering what the priority is. The work-around with using models with emission is certainly helpful, but I'd really like to use lights and all of their functionality without playing peekaboo with them in the renders.
I would not expect it to change - it's the "correct" way for a light source to behave, using the opacity trick is actually a cheat. As I said above, if lights are not visible in reflections then the scene will look very flat as it would kill the specular highlights. The real fix, as with photography and film-making, is to place the lights so they are not being seen directly or indirectly.
Hi Richard, thanks for your reply.
I can see that Function 1 (Visible) is an overall "Light is visible/invisible" switch, and functions 2, 3 and 4 are then subsets of that function, but why is Function 3 (Visible in Render) behaving exactly the same as function 1?
From the name "Visible in Render", I would expect the ON option to make the light object visible in renders and the OFF option to make the light object invisible in renders. Indeed the OFF option does do this, but it also switches the light completly off, exactly the same as function 1 (Visible) and the Illumination ON/OFF control.
Is this a bug or has it been designed this way?
If the light isn't visible it can't cast (visible) light. The different Visible sub-options may make mor sense when applied to a model.
Sorry to disagree with you Richard but that can't be true. We are not dealing with real light but with a computer algorithm that simulates real light, as I'm sure you understand perfectly. The fact that the object that emits "light" in the scene can be made invisible proves this.
I have been doing some experiments and I think the problem is due to a bug which might be caused by something in my scene.
I rendered an ball object in front of a mirror object with a single spotlight; nothing else in the scene. With the Visible in Render option ON, the ball is illuminated and the spotlight disk appears in the render (black disk as it is viewed from behind) and in the mirror reflection as a white disk. With the Visible in Render option OFF, the ball IS illuminated and the spotlight disk does NOT appear in the render, including not being seen in the mirror reflection. So the Visible in Render control is working perfectly in this case.
However, in my scene this is not the case. I will do some further experiments to find the cause of the bug.
I am perplexed. I loaded my problematic scene again and the lights now work as expected. The Visible in Render OFF option now behaves exactly as it should do, that is make the spotlight itself invisible in the render, both as an object as a reflected object.
I know this was not happening before. If the same problem reoccurs, I'll try reloading the file to see if that changes anything. Thanks for your help.
That's not my undresatanding of how the Visible in render button shoudl work, not my experience (you can argue over how it should work, and i can see strengths in both having the light show and having the light not show, but to my understanding it is meant to go when the emitter goes). Are you sure there wasn't another light in play?
I just checked and for me turning off Visible in render does indeed turn off the light.
Yes, I was very careful about making sure about which light I was seeing in the reflection, even switching one of the two to a square instead of a disc to avoid mistakes. I suspect this was a random bug, because it has now gone. The spotlights do not now appear in the render (niether as a reflection in the mirror) when I switch "Visible in Render" to OFF, and the illumination remains ON. This is how I would expect the control to work and it now does work this way. So problem solved. Thanks for your help; if the problem occurs again I'll report it to the help desk as a bug.
Could you post a demo scene - it shouldn't, so far as I am aware, be behaving like that.
Rendering atm, will get back to you on this.
I have just tried a scene with just a mirror, a ball in front of the mirror and a spotlight.
Initially I got Render 1 with the spotlight settings all on and Render 2 with the Visible in Render control OFF
However, I had forgotten about Environment lighting and if I turned that to zero and rerendered I got Render 3.
This confirms that the Visible in Render control set to OFF does indeed switch the illumination from the spotlight off as well as hiding it, as you said.
However, the same effect is given by switching the Visibility control to OFF (the spotlight illumination is off and the spotlight is invisible in the render).
So, what is the difference between the Visibility control and the Visible in Render control? They appear to do exactly the same thing!
The follow-up question is therefore how do I get a spotlight to cast light in a render but not itself be visible in the render (not even as a reflection)?
Visible in Render is the same as Visible when rendering, the difference is that Visible includes all of the Visibility options - simulation and viewport as well as render.
So basically, using spotlights where there are mirrors is a pain in the butt in DS as you can't switch the object visibility off without switching the light off as well. I know you can not do that in real life, but the reflected spotlight in DS looks nothing like real life, so I'd rather do without the visibility issue.
I'm afraid that's true - you can do what real lighting techs do and carefully position them so they are not caught in mirrors, or you can use ghostlights (at the expense of killing all specular effects).