Download

Solutions for small distant dynamic shadows

I have an indoor scene lit by several Stationary Spotlights and a Stationary Skylight.
The level is populated with 100s of dynamically instanced crowd characters. (Mobility is Movable)

The problem is I cannot seem to resolve any dynamic shadows from these crowd agents no matter what I try.

Because of performance I need to avoid Ray Traced shadows.
And for memory reasons I am reluctant to implement Mesh Distance Fields as a suggested solution for outdoor scenes with foliage.

Would Mesh Distance Fields be the best option in my case or is there something else I should explore (ie cascades and shadowmap resolution, etc).

Any feedback appreciated!

Distance fields are pretty much always best.

It’s either that, or you need to change engine to something that handles shadows better.

I guess potentially you could also re-write the shadow section of the shader, but at that point you may actually be better off looking at community supported GI solutions.

Keep in mind distance field won’t be animated shadows.

Nothing that offers performance can actually provide fully dynamic shadows…

And, to get the shadows to work on a skeleyal mesh as distance fields, you either need an impostor static mesh that’s invisible but casts a shadow.

Or you’d need to set up the phat asset with spheres and get it to cast that shadow instead - maybe. Still don’t think it would run on distance fields alone.

Also keep in mind that crowds are almost never skeletal meshes.
You make them static and you animate them with a shader.
The shadow will be static. The object will seem animated.

Thanks. Was finally able to get dynamic shadows working on instanced static mesh characters (driven via vertex animation)
But the results aren’t the best.

1 Like

Distance field, far shadow, and stationary+csm are your 3 choices. Choose your weapon.