I want light on my object..but not on the floor..how do i do this

So i have a setup with multiple light… (4)… Just a object in the middle of a room, on a concrete floor.

I have a light, exaclty over my object shining down. Its a spotlight, and it creates a nice spotlight effect on the floor, like a circular gradient. The other lights are used to light the object, but they are also shining on the floor, and are messing up the spotlight effect.

So basically, I just want my spotlight lamp to illuminate the floor, (and the object)…and I want the other lights to JUST light the object, but I dont want their light emmission showing on the floor…

Can this be done?

You didn’t specify the render engine so I will assume cycles. The workflow is to setup 2 render layers — one with just the scene + spotlight, the other with just the object and lights for that object — then merge the 2 layers in the compositor.


Layer 1: just the cube
Layer 10: spot and floor
Layer 11: just area lights

In the RenderLayers property tab (sorry I covered that up), setup the 2 RenderLayers as in #2. In ‘spot.plus.scene’ I want to render just layer 1 and 10. The inset shows ‘object.lights’ which is layers 1 and 11. I’ve noted at #3 that the view is set to see all layers I have stuff on.

When setting this up it is import to pay attention to the ‘Exclude Layers’.

In the Render tab, be sure to set the ‘Film’ to ‘Transparent’.


F12 will perform 2 renders. Once you have both you can use the push-pin to just render one or the other. This uses a simple alpha-over to blend the 2 images.

Attachments

ignore-lamp.blend (673 KB)

Thank you for your reply! This makes total sense (mostly)

Im almost there…im just struggling with the shadows that are casts bij the toplight… I can’t figure out the right rendlayer setup for it to show on the floor…

This is what it looks like atm


renderlayer 1 : floor + spot light
render layer 2 : object and other lights

and this is my layersetup
render layer 1


render layer 2

so im overlooking something…

edit: when I enable the second layer (object and lights) in the exclude panel of the first layer… I do get the shadow from the toplight on the floor…but also al the other lights appear on the floor…so that’s not it either…

thanks!

Move the speaker object to a third scene layer and include it in both render layers:

Layer 1: floor + spot
Layer 2: other lights
Layer 3: object

Layer 3 will be in both RenderLayers:
One RenderLayer (spot + object): Layer 1 + Layer 3, exclude Layer 2
Other RenderLayer (other lights + object): Layer 2 + Layer 3, exclude Layer 1

The order of inputs to the AlphaOver node are important: the top image is the background, bottom one is the foreground. You will want the RenderLayer with the spot light to be the background so you can crank up the spot. It looks like that is how you have it set up.

Nice modeling on the speaker, btw.

Thanks :slight_smile:
Im still trying to get it more realistic, but im getting close

Your solution worked btw… everything is how I wanted it to be now…thank you so much for you help.

Small follow up question: If I would have 4 or 5 different render layers (that might happen in the future)… how would I combine those in the composite editor? Cause im only seeing 2 inputs in the alpha over node…

And a bigger question:
This scene is part of an animation…With a couple of cameras flying around the speaker…
I know now how to get the lighting the way i want for a still image

how would I translate this technique (with the compositing) for an animation?

You “stack” multiple Alpha Over nodes behind each other. Same principle as e.g. with the Mix shader.

There is no difference.

To add a render layer to this scene, you would attach the output of its RenderLayer node to the appropriate input of a new AlphaOver node (fg or bg). The other input is the output of your existing AlphaOver node. It cascades, layering one over the other.

I don’t think think there is much to do to translate this to an animation. The problem is that you have to render each layer for each frame. In the current set up you are rendering the speaker in 2 layers so you could save some render time by making a duplicate in the background render layer and give it a neutral gray diffuse material. It is just an object in the way of the spot light to generate a shadow and it is overlaid with the fully-lit speaker in the foreground layer.

You might want to use that neutral-gray speaker scene to finesse the tracking of the camera since it will render quickly. For animation, you could output these separately and composite them as an alpha-over effects track in the VSE.

I’m not an animation wonk so you might explore animation options in another forum category.

If you happen to be one of those enlightened individuals who still uses BI … :wink: … then “layer-specific lights” are your friend.

These are lights which consider only objects which belong to a layer (the “group of little buttons …”) that intersects the corresponding layer-mask of the light. Any objects which do not match are not considered, so a light can literally “shine through(!)” another object. Very handy, sometimes . . .

(“Reality? We don’t need no stinkin’ reality! This is CG!”) :wink:

Another very-handy feature of this environment is the “shadow-only spotlight.” It doesn’t emit light, but it does cast shadows.

It’s also worth pointing out that in Blender you do have several, very-different, rendering options available, and that you can creatively use more than one of these at the same time through the magic of compositing … and, without ever leaving the Blender software environment.

I’m with @sundialsvc4 on this attitude. Use whatever tool is in the bag, scalpel, ax, laser drill, or backhoe. As long as your image pizza looks exactly like you want.

That depends very much on the criteria for the job, don’t you think? I would be very careful about going the BI route if you’re going for a consistent look if these are to be commercial product shots and have other products coming up. If personal project, then doesn’t really matter. In any case, I agree it can be beneficial to learn both to have additional attack vectors to get any job done. Although I don’t myself know anything about BI.