How to get dynamic shadows on translucent surface?

I’m trying to get dynamic shadows casted on translucent surface but can’t find how. I’ve read that I should use “per pixel lighting”, which means using the “Surface ForwardShading” as lighting mode in the translucency settings ( Lit Translucency | Unreal Engine Documentation ) but it doesn"t work.
Here are two screenshots with the material set to opaque, then to translucent with an opacity set to 1 for testing purpose (and “Surface ForwardShading” lighting mode)


Hi Haoris,

Found this on an Answer Hub post https://answers.unrealengine.com/que…ml?sort=oldest

Have you tried this? I think it will let the translucent material both receive and cast dynamic shadows.

1 Like

Hi,
“This will cast a shadow from a translucent material”
I’m not trying to cast a shadow from a translucent material but on a translucent material.
Like this :

Yes, if I activate the “Volumetric Translucent Shadow” then the green plane will cast a shadow on the red one but I want the green plane to receive a shadow from the white cube like on the first screenshot.

1 Like

I believe the Forward lighting model doesn’t receive CSMs, but the Translucent Volume one does. Are you using dynamic shadows for your Directional Light?

Yes I do. I triyed “Surface TranslucencyVolume” too but with same result.

has anyone found solution? objects glow in darkness if light is behind wall

1 Like

I just ran into this problem. Doesn’t even work with raytracing on, which to me seems like it should definitely work even if there is a performance hit.

My guess is because the light is dynamic and not static. Sad to see that the engine doesn’t at least have an option for this.

It works in my project:

I got it working, but is still does not accept shadows at the same distance as an opaque material. Also, it does not work at all with ray tracing.

This thread is one year old. Yes, the Surface ForwardShading mode has been fix long time ago.

I still can not get a translucent material to recieve shadows, even with the Surface forwardshading…any ideas?

2 Likes

I think i found a solution. Change the blend mode to “masked” and active the option in “advanced” right below: “dither opacity mask”. Remember to reconnect the opacity parameter in the “opacity mask channel”. Than you will get the shadow on the translucend surface, but note that in the maske mode, the translucend isn’t as good as in the translucend blend mode.

2 Likes

Worked for me, thank you.