Particle Volumetric Translucent Shadows are broken since UE5.2!

I’ve just almost gone crazy trying to set up volumetric particle system in 5.3 wondering why no matter what I do, it looks wrong. It took me a while to figure out but I could not believe it. The volumetric translucent shadows are broken since UE 5.2. Last version they worked in is 5.1. Check the video:

Basically in order for particle volumetric shadows to work correctly, the particle sprites need to face the light source during the rasterization of the shadow pass. But in UE 5.2 and 5.3, they face the camera direction even in the shadow pass, creating unusable results :frowning:

1 Like

I am back, with answers! :grimacing::grimacing::grimacing:

If you need volumetric looking particle sprites, here’s a workaround:


And this goes into WPO:

Only changes in material are setting shadow casting of translucent materials as masked and setting the blend mode to translucent.

Here’s a video:

  1. The WPO workaround to get the sprites facing the lights in shadow pass needs a bit more work, as the shadows spin. Hopefully someone will help me figure out more correct way.
  2. On niagara system, you can disable Volumetric Translucent Shadows since we are using regular shadows. This also means you don’t need to have Support Volumetric Translucent Shadows shader permutation enabled in Project Settings.
  3. We can still get semi-transparent shadows even when casting shadows as masked by dithering the mask using DitherTemporalAA.
  4. The SkyLightEnvMap sample is a bit hacky. It’s used to tint the shadows to match Sky lighting but the direction selected (UP) may not work in all cases. Some smarter solution may be needed in some scenarios.
  5. You NEED to use the SubUV animation of the RayMarchHeightMap otherwise the shadow ray marching won’t be correct (if you were to use SubUVAnimation Niagara Module), so just set it up same as on the picture, where the Vec2 defines X and Y amount of frames in your SubUV texture.
3 Likes

Hey, any better solution have been found since then ? :slight_smile: