Stop light hitting a specific object?

Using cycles, I’ve got a light that I want to hit everything except one object (the ground plane in this instance) what’s the easiest way to accomplish this?

I’m using materials set up as emission lights.

It’s not clear what you mean by “stop light hitting” an object. Do you mean you want it to seem to absorb light completely, or be totally transparent? Try the Holdout and Transparent shaders for your ground plane.

If you’re talking about one specific light not affecting an object, I think you’ll have to use compositing.

It seems conspirisi wished to exclude only his floor from the action of one light. I guess if he changes the material, it will exclude it from all light? is there not a way to tell the light: “don’t hit that object, leave it to other lights”?

With Cycles, as far as I know you have to use composite nodes and the Exclude layer option to do this kind of light-linking. If you need I will try to explain in more detail later.

I’ve attached a picture to clarify.


Yes RaphaelPoli, that’s what I’d like, an option saying to the light “don’t effect/reflect/touch this object”

you should set up renderlayers, but try also to leave checked only glossy in the object (lamp) property, since you need only speculars…

Fine CD38 I’ll be interested in your explanation. Actually I’m starting to guess that “cycles” is a better renderer for blender. I still did not find it though.

Sorry for the delay. Here is one way to exclude objects from a specific light in Cycles.

In this example, the scene is lit by two emitter meshes. The Suzanne model is lit by both the pink and green meshes; the sphere is lit by only the green. We can use correct layer management and compositing with the Exclude Layer option to create the effect.

The light source (pink) that affects only some but not all objects is placed on its own scene layer.
The object (sphere) that is NOT lit by the pink mesh also lives on its own scene layer.
Everything else (Suzanne, green emitter) is together on the third scene layer.


Set up two Render layers as follows. The Sphere layer is set to render only Layer 1, and most importantly to Exclude Layer 3, which contains the emitter that should not light this layer. The “AllElse” layer is set to render scene layers 2 and 3. Make sure Transparent is checked in the Render -> Film tab.


Use this compositing setup to combine the two render layers.


1 Like

Here is the .blend file for the previous post.

LightExclude.blend (516 KB)

How do you do something like this in Blender 2.8?

Render Layers are now called View Layers and can be created at will, upper-right corner. Instead of turning on-off the tiny layers squares, now you want to enable-disable collections and if needed set them to be holdout or only indirect with specific toggles in the outliner

1 Like

Can u please explain it in detail, as i am having trouble executing it.

Thanks

1 Like

See if this helps: https://docs.blender.org/manual/en/dev/render/layers/layers.html

edit: the manual has changed, the link now is:
https://docs.blender.org/manual/en/dev/scene_layout/view_layers/introduction.html
and then:
https://docs.blender.org/manual/en/dev/render/layers/introduction.html