How to get some sort of shadow from SkyLight

Hi all,

My scene is being lit by a skylight and a directional light for the sun.
It seems that I’m only getting shadows from the directional light (shining on the objects on the left wall)
The Skylight is generating no shadows, … or they are to soft for them to be really seen.

I would expect the SkyLight to at least generate somewhat harder shadows under the Pipes and the Canvas objects hanging over the windows.
The rainpipes seem to be floating a bit imho (especially visible in the first screenshot), cause they have no dark shadow.
I also feel as if the Canvas objects get too much light from the bottom … the only way to prevent that is to set the checkbox “set lower end of atmosphere to black” in the Skylight settings.

Any ideas ? let me know if I need to share my scene setup.

https://docs.unrealengine.com/latest/INT/Engine/Rendering/LightingAndShadows/DistanceFieldAmbientOcclusion/index.html

Maybe this is what you are looking for?

This honestly doesn’t look too bad to me. You may want to play around with Screen Space AO in your post processing settings.

If you’re using static lighting, you can just increase the lightmap resolution of the walls until the pipe’s shadows are visible. If you’re using dynamic lighting, I’d recommend either the DFAO or SSAO solutions already suggested.

thanks so much for the feedback guys.
I’ll dive into the DFAO and SSAO … so much to learn …

Skylight is more so used to give lighting some more depth and dimension, rather than just black shadows, there’s an amount of ambient lighting that doesn’t cause shadows (unless you use DFAO) that brightens up the shadows. Skylights are used to make shadows appear dark, but not so dark you cannot see them, they’re used to fake the effect that indirect has on shadows.

What you’re looking for is ambient occlusion, or the occlusion of ambient light from geometry in the scene, causing indirect shadowing. You have two methods, SSAO or DFAO. SSAO seems to be the higher quality one, currently, but only provides indirect contact shadowing, where if you have a surface that contacts another surface (like a wall contacting a floor or a ceiling), SSAO will smooth the lighting out so it actually looks like the two are touching. DFAO is lower quality and somewhat slower to update, and requires signed distance fields (meaning you have to have this enabled in the engine and DFAO won’t work on anything that doesn’t have a distance field, like pawns or BSP geometry), however the shadowing DFAO provides is larger in terms of affected area, doing an excellent job at faking indirect and shadowing.

SSAO is a separate post-process effect which can be controlled in post-process volumes, DFAO is a function of skylights that are set to movable (movable skylights use DFAO for shadowing), and hence require a movable skylight. Both should work in tandem to give the best quality if you wish to use DFAO.

You can either use Ambient occlusion because it’s cheap and does the job. (also pretty much mandatory in a dynamic-lit scene)

Or turn it off completely, use static lighting and bake the scene with very high quality lightmass settings. You will get very nuanced, soft shadows. It’s what we use for architectural scenes because it looks much more realistic than AO.

wow guys , this info is just incredible. Thanks so much for taking the time.
I will take the time to investigate DFAO and SSAO further. Sadly I can only do UE4 in my spare time…for now.

Did you ever find a solution to this problem?

I’m having the same problem myself, unfortunately the only solution I’ve found is to not use skylights, which really is a shame!

Skylight DOES generate shadows, but they behave very strangely. if you make a house inside of your levels (assuming skylight is set to stationary, if set to static the result is super weird) then the inside of this house will actually be black, so the shadows are kind of working. But if you make a 100m high wall in an open landscape, that wall will barely cast a 2cm shadow.
My theory is that from a lightbake perspective a skylight is simply 2-5 directional lights arranged in a circle, which then gets extremely smoothened out to avoid it looking like a few directional shadows. If this were to be the case then I really wish they would allow us to bump up the quality and reduce the blurring, sure this would severly add to the lightbake times but as it stands right now I’m finding the skylight to be unusable.

Using AO is not the solution. For example if you have a house in a landscape you want that interior to be shielded from the skylight, both AO techniques won’t differentiate between light from skylight and light from other sources.

there are actually 2 other methods you can use that aren’t mentioned. take this scene i made, based off of the ‘lets make lightmass epic’ topic:

after I added a basic ‘box reflection capture’ and set its bounds to cover the whole scene, it immediately looks better (you can refine this with smaller captures, but its generally not worth it):

the second thing you can do is to enable lightmass ambient occlusion, which is in World Settings:

TTpymNF.png

both of those should be better solutions than SSAO.