Excluding light sources from reflective surfaces in 3D renders

Every product photographer knows this problem and pocket watch photographers especially. Underneath a glass cover you have some wonderful metal parts that you’d like to show. But if you put your light or even just a white card in the right position, the glass cover will reflect that light source/card as well. Usually a photographer would take multiple exposures and then use photoshop to brush in the reflective surfaces just where he needs them. In 3D luckily we can cheat. We can actually tell a light source not to shine on a specific object, by excluding that object from the light source (in Cinema 4D, light settings – project – exclude). But that actually doesn’t solve the problem yet! Because now, the light rays stop at the glass surface and therefor no light hits the metal parts underneath. What else can we do, well, we could simply hide the glass from the render. But then we loose the refractive properties of the glass. Check out these examples.

watchdesign_nolightexludeswatchdesign_noglasscoverwatchdesign_withexclude

10 mins ago I found out a trick that solves all of this in a nifty way. You create two glass materials, one that’s just refractive and one that’s just reflective. Then you copy the glass object itself. On the original you apply just the refractive glass material and on the copy just the reflective material. If you render it now, things will look weird, because the two glass objects intersect. So on the copy, I deleted all faces that aren’t front facing and moved the object away from the original glass object, but only a tiny little bit. Just so much that the two don’t intersect anymore. Now you can actually go to the light that is intended for lighting the metal parts underneath the two glass objects and you exclude ONLY the copy of the glass object (the one with the reflective material). So this glass object retains SOME reflective properties. It’s only blind to that one specific light source.

This trick should work regardless of your render engine. The only requirement is that your render engine can exclude certain objects from light sources. In Cinema 4D this is done under: Light properties – Project – Exclude. VRayForC4D uses this setting too.

watchdesign1-2glassmaterials

Leave a reply