Lighter shadows

I have an outdoor scene and I find that the shadows casted by my clouds (the red arrow in the picture below) are too dark for my liking. I would like the clouds’ shadows to be lighter BUT still have all the other shadows in the scene remain the same (black arrow).

I’m using Blender 4.0.2 and I’m rendering with Eevee.

Option #1:
I thought about modifying the darkness of the clouds’ shadows through a shadow catcher but I would need to apply it to MANY objects in my scene. This seems tedious as well as error-prone (as I can easily forget to apply it to any future models I might add later on to the scene). If the clouds’ shadows were only casted on the ocean (just 1 object), I’d be fine with using a shadow catcher but I have lots of objects outdoors.

Option #2:
I tried changing the clouds’ Shadow Mode to “Alpha Hashed” but that didn’t really do anything.

Option #3:
Another thing I tried was turning the clouds’ Shadow Mode to “None” (basically saying don’t render its shadows) and then placing a large plane in the sky spanning across my entire scene whose shader looks like this:

image

It’s just a noise texture with Blend Mode set to “Alpha Blend” and Shadow Mode set to “Alpha Hashed” (which you can see is circled as 1 in the image below). This noise texture casts a softer and somewhat lighter shadow (circled as 2) which is what I want, but now I don’t know how to hide that plane and still keep the shadows it produces.

I tried this https://youtu.be/454khvU5dCc?t=77 to hide my plane but it ends up hiding its shadows as well.

Option #4:
I thought about using light gobos but it’d probably place the “shadows” on the clouds which is obviously not what I want.

Any ideas on how I can make the shadows from my clouds lighter or at the very least hide that large plane in Option #3?

You need to use the light path node in the material editor.

This setup will make the plane switch to a different material for the shadows than what it uses for everything else. In this case, the plane will render as the transparent BSDF, except for the shadows, which will use the principled BSDF instead.

You might also be able to use a similar trick on your original clouds. You could have their shadows be rendered as a transparent BSDF and control their exact opacity by changing the color of that transparent shader.

Thanks. The plane thing worked. I’m not entirely sure how to go about doing your suggestion regarding the shadows produced by the original clouds though.

1 Like

You could do it like this:

The principled BSDF here represents your original material.

The color of the transparent shader decides how transparent the shadow is.
You also have to set the shadow mode to alpha hashed.

I tried that before but it ends up affecting the clouds and not its shadows.

Then, you probably should try swapping the 2 BSDFs in the “mix shader” node. It matters which is plugged in which slot.

This material is different from the first method (making the plane invisible), because in one you are making the shadows transparent and in the other the object itself.