[Cycles] Ground for HDRi Environment (aka Shadow / Light Catcher)

Simple ground material for a scenes with environment texture.
Material catches shadows and lights, no needs to composit render layers.

Ground material use the same environment texture as world, but ground material use “Reflection” texture coordinates with negative scale value for Z axis (-1).
Good only for flat surface. More info at blender.stackexchange.com

How to


Sample BLEND file updated for 2.9
test-Ground_sunraise.blend (126.5 KB)

Texture was quite big to post, you can download it from http://hdrmaps.com/freebies/urban-exploring-interior

or use any of Greg’s awesome HDRi Heaven textures


Wow, I can’t believe it’s that simple! Nice job. :slight_smile:

I can’t get it working.
If i use an emission-plane, i have problems getting the brightness correct; http://i.imgur.com/476cyrA.png
And without any other emission than the enviroment, the plane is too dark. http://i.imgur.com/wVl5gQv.png

Do you have any solution?

EDIT: Woops, dubblepost. Feel free to delete this one :slight_smile:

Yeah, add some lights, lamps, and all the magic is gone. Sorry.
Only a shadeless material can work correctly on the plane. However, a shadeless material is not a shadow catcher.

Maybe I was too short in description?

@michalis: Lightning is done by HDRi texture, there is no reason for additional lights.
(Plus, if you want to present something like a lamp that lights a light onto a ground, it seems to me as a benefit that ground catch this light rays too.)

@Monsaki: To correct light condition check end part of video, there is Greegzaal’s setup for world texture that fix your problem.

Anyway, did anyone of you noticed a link (from the first post) for more details on blender.stackexchange.com? There seems to me a better place for it, instead of repeating info here.

@michalis: Here is example of darker scene with emit material … since HDRi texture is 32bit, that means even very dark parts in image you can go and light it up :slight_smile:

For some reason Vimeo destroys video by their compression, hmmm

This material has its limits, but for many situations it’s very fast and easy way to get cg into photograph.
For outdoor scenes (what I tried) it worked just perfect (for flat surfaces of cource).
As I wrote on stackexchanger - there is an awesome OSL shader called QUIP, which could be the best if it would work under GPU. Under CPU it’s slow for me, and correct colors took me a lot of time.
With this material it’s fast as hell.
Or if someone of you knows how to project environmental texture from center, let me know …


With this interior texture I noticed one thing.
Ground plane was too dark (maybe because of dark ceiling).
When I tried to multiply light strength in world nodes, objects on plane become over brighted.

But at the end it was easy to fix it:

  • First hide ground plane and set strength of HDRi light for your cg like shown in video (Multiply node).
  • Than unhide (or add) ground plane that appeared for this texture still very dark, and bright ground texture. I added RGB Curve node on Environmental node output (see blend file).

That’s it :slight_smile:

test-GroundMaterial-Dark-02.blend (126 KB)

Texture was quite big to post, you can download it from http://hdrmaps.com/freebies/urban-exploring-interior

Original size

I’m so excited, it works so good :slight_smile:

Reflections to ground …

that’s a very nice trick!!! :smiley:

@Secrop: thanks, maybe I discovered america few centuries later, but when I searched how to place cg into photo enviro, there were only references to BI “Only Shadows” or complicated passes via Render Layers for Cycles, so I’m enjoying it very much in these days :slight_smile:

@michalis: If you spoke about placing cg into image, like background plate, there I can’t see a problem with light either.
In this scene is used one sun lamp and plane sized just take shadows.
In this case are coordinates of course Window type for World and plane. And there I didn’t use any additional color corrections.
Just increase strength of the sun since plane disappear on World BG. Soft/Sharp shadows easily setup by size as usual.
Since it’s only single image there is nothing to reflect correctly, only ground part that is projected on the ground is reflected correctly in this case.

Also for this Window type texture coordinates (that is actually projection from view) it’s not a problem to reconstruct environment to let objects cast shadows on any surface in photograph.

But this example has nothing to do with ambitions to “realistically” light scene or merge cg into photograph.

Yeah, I understand.
In your above example, the use of a color mixer in the plane material set up, as multiply may be more helpful. Avoiding to adjust the light energy.
However, you can’t use a spot or lamp or any emitter. Not constant lighting won’t work well.
OK, you used an emitter in one of the examples. However, it lightens a small area of the ground plane only. In this case, it works.

In any case, many thanks for the idea, I’ll probably use it soon.

:slight_smile: Still can’t see your problem with additional lightning by any type of light.
Doesn’t matter, there is not a reason to discuss it closer :slight_smile:

hello all :slight_smile:

Thanks for the solution.


Man this is just ridiculously easy, i start to ask myself if this is cg anymore :wink: Thanks for sharing :slight_smile:

Hmm, no matter what I do, I always end up with the catcher / reflection object sticking out in the scene. It is either too dark, or there seems to be an obvious edge to it. Will pack up a blend file for y’all to look at to see what I’m not doing / doing wrong.

Here we go, HDRI_GroundMaterial_pkd is too dark, HDRI_GroundMaterial1_pkd doesn’t “sit” properly.

cool thread!, thanks.

will greatly help in my character presentations.

@colkai: texture doesn’t “sits” properly in both of your blends, because you have set different rotations for world and plane material.
(Rotations of x/y axis doesn’t make sense in this case anyway, usually you need to rotate just z axis).

Blend with darker plane … your HDR image doesn’t light scene properly.

  • you can increase exposure of “sun” in your HDRi
    (see paragraph almost at the bottom of blender.stackexchange.com)
  • or use gregzaal’s world node setup what you already use in the second blend
    (as I wrote before - it’s good to correct world lightning strength without plane first, only with your spheres, and than correct colors of plane material if needed.)

Lightning by HDRi wasn’t goal of this thread, it’s quite self-category, but since these two things goes together, I will try to write few notes to the first post.

One more note to your HDR image – when you have background with ground like half shadow / half sunlight, it’s good to check if the camera was capturing enviro from shade or was standing on sun …and place your CG to the same lights. I never got a good result with CG object on sunny ground when camera was shooting environment from a shade (and opposite).

Thank you, will take a look at these issue. I can get nice HDRI using SiBL Gui on my Win7 laptop, but my old 32-bit PC doesn’t use it so was trying to replicate the HDRI lighting / shadow catcher here.