"Flatten ground" of environment

In most engines in the professional world there is an option to “flatten ground” which projects the bottom of the environment onto a flat surface. This makes rendering into the HDRI environment as a backplate considerably easier. I assume this can be accomplished with nodes but I have not been able to figure it out. I suppose as a last ditch effort you can just make a world mesh with a flat ground and project the environment onto that.

Examples from other engines:
Vray -see ground projection
Keyshot- I can’t find a visual example

I don’t know how to “properly” do it, so to speak, but a simple approximation can be attained by manipulating the Z element of the HDRI vector with an RGB curve, like so.


You might want to play with the curve to get it how you like it, but the general jist is that increasing the gradient at the bottom of the curve will flatten the ground out, but you’ll also want to maintain the 1:1 gradient for the top half and avoid horizontal gradients to prevent any stretching.

I spose if you’re only looking mostly downwards you can disregard stretching the HDRI in it’s top half.

1 Like