More precise control over disabling dynamic shadow casting from actors that are culled?

Hello! I have a question about culling and shadow casting. I searched for a while and came across a couple other posts asking about the same thing, but with no clear answers yet:

https://forums.unrealengine.com/development-discussion/rendering/1437233-dynamic-light-culling-and-freezerendering-how-it-all-works

https://answers.unrealengine.com/questions/725122/view.html

https://answers.unrealengine.com/questions/264316/view.html (The very bottom answer here seems to answer my question directly, but this thread is 5 years old…)

From my own testing using the “freezerendering” command, I have noticed that all objects that are culled still cast shadows. This of course is normal and expected behavior, because you’d still want to see a building’s shadow, for example, even though you can’t see the building itself.

My question is: can this be more precisely controlled? Can shadow casting be disabled (if the actor is culled) on a per-actor basis?

We have a very large datasmith project with thousands of actors spread across 4 houses, and currently, due to time constraints, are optimizing it to run with only dynamic lighting. At the moment, the only light source in our scene in a SunSky (skylight, directional light set to moveable, etc). While standing inside of another house and looking in the direction of the other houses, all of the other houses and the meshes inside them are all indeed culled, but ALL of their shadows still seem to be rendered, which, by looking at Stat RHI, seems to be costing a huge amount of performance. I’ve tried messing with the project setting “Min Screen Radius For Cascaded Shadow Maps” but it doesn’t seem to do anything, regardless of the value set.

Thanks for any help!

1 Like

did you ever solve this? Trying to achieve same thing , culled actor still casting dyn shadow.

Desperately need this as well. Surprised that an in engine solution doesn’t exist, or at least I haven’t found one yet

I sort of did it with distance checking to the player. You can experiment

This one is set without culling, its based on players distance, hardly most efficient but might give you some ideas.