Media Texture video plays but shadow freezes

Hi everyone,

We’re hoping someone can give some advice to solve this UE5 shadow problem…

We have a stationary plane with a masked Media Texture (with alpha channel) obtained from our greenscreen footage. A directional light casts a shadow (UE5 Virtual Shadow Maps) of the actor, as seen in the image below.

When the actor moves, the shadow moves along for a bit, then freezes, while the actor continues moving.

Why does the shadow freeze? How can we get the shadow to keep moving along with the live video?

Advice is greatly appreciated.

Thanks,

Paul

Problem solved!

Initially the alpha-card (as we call them) wasn’t entirely stationary. It moved to change the actor’s position. While the card moved, UE5 generated fresh shadows for each frame. As soon as the card stopped moving—but the video with alpha continued playing—UE5 stopped refreshing the shadows, probably as a performance optimizing method (which we can appreciate).

The workaround was to move the card a tiny amount—visually imperceptible—even though the actor is actually standing still. In this way we “trick” UE5 to continuously refresh the alpha mask shadows for each frame.

It would be handy to know if there’s a variable we can override to do this without a workaround.

1 Like

To override UE5 cached Virtual Shadow Maps, so that they refresh each frame (handy for live videos casting alpha channel shadows from a stationary card) use the following console variable…

r.Shadow.Virtual.Cache 0

This switches OFF the shadow cache.

Here’s the video we rendered using live video shadows…

@Newimo are you playing media texture from file or from media bundle? I have an issue with UE5 & Blackmagic Media Bundle- after a few seconds the video stops playing in UE5, i dont have this problem in UE4

Apologies for this very late reply.

We play the media texture from file, without issues, except what we mentioned above.

Moving the actor solved my problem after more than 5 hours trying to figure out what was going on! hahaha thank you so much man!