Hi, this may be by design, or a current limitation, or maybe I’m doing something wrong.
In Unreal 5.3.1, my translucent particles can only cast shadows if I switch my project to use traditional shadow maps. If virtual shadow maps are enabled, translucent particles cannot cast shadows. This seems like an odd limitation - the material in question interacts with virtual shadow maps just fine if I apply it to a plane, but a niagara system (which is just emitting a bunch of planes) can’t do it?
Upon further examination, it seemed to be ONLY the directional light in my scene that was failing to produce shadows.
I can work around this by raising the “DynamicShadowDistanceStationaryLight” value above the default of zero, it forces particle shadows to eventually appear, though it does increase the sharpness of the rest of my objects shadows by changing what cascade I’m seeing.
If I disable cascaded shadows on my directional light entirely, I get no niagara shadows. I’m not entirely sure what’s going on - seems like cascade zero for virtual shadow maps just isn’t working on my particles.
Maybe try setting the shadows to cast as masked materials in the material details panel, and then use dithered masked opacity for the shadow pass using the shadow pass switch.
First thing I would double check, is that your particles are set to cast shadows in the emitter.
Second, on the directional light, make sure that Cast Translucent Shadows is checked.
Third thing to check (In the Particle Material) is the translucent blending mode you’ve chosen. I would set it to volumetric directional or something along those lines to test with initially.
Fourth thing to check (In the Particle Material) is the settings in the Translucency Self Shadowing section. Reset any settings there to the default if any are changed for testing.
I can go one better here, I am currently unable to get even masked niagara particles to cast shadows with VSM enabled.
Can’t locate the link now but a colleague told me they’d searched online for a solution and there was someone from Epic saying something like, “this will never work for VSM and we have no plans to address it”.
Apparently it was quite an old link, so I thought I’d post something here in an effort to find out what’s going on.
There was a suggestion on a forum to also spawn mesh particles that are shadow only.
Is this the best way forward to get masked particles to cast shadows again?
This is still a thing. I’m commenting so I can follow this.
Also, here is how to cast shadows from Niagara particles, quite a lot of steps for such a simple thing:
Project settings > Shadow Map Method > Shadow Maps (Virtual Shadow Maps does not cast shadows, limitation? might change in the future)
Niagara asset > Rendering > Cast Shadows ON
Niagara actor in scene > Lighting > Cast Shadow ON
Niagara actor in scene > Lighting > Volumetric Translucent Shadow ON
Niagara particle material > Cast Dynamic Shadows as Masked ON (make sure opacity mask is connected)
Hello. Do you know, by any chance, how to set the Volumetric translucent Shadows on on a spawned system inside a blueprint? I can check the box if I drag the particle system in the scene, but it seems this is not accessible through blueprint.
Any Ideas?