My team is having problems when rendering from Movie Render Queue in a large World Partition level using Lumen. The problem is that it takes a long time for shadows to display properly, usually 150-300 frames. I’ve managed to make it work by setting a custom frame range and rendering 300 extra frames before frame 0 - that way shadows have time to load in and it renders properly. However, in my mind it should work by setting warm-up frames to render and discard, but it doesn’t seem to work.
Does anyone know a way or some settings to make the shadows load in quicker? If not, does anyone know how to make warm-up frames work properly when set to render and discard so we don’t have to manually remove the extra frames after the render finishes?
Can you tell me a bit more about your shadow setup? Do you have any screenshots or a video showing the issue? When loading into the engine, are you in the space where the render will capture, allowing the world partition streaming to happen when warming up the render?
Generally speaking, using the warmup setup you have should suit your needs, so I would suspect the issue might be elsewhere.
When rendering without extra frames we can see shadows pop in layer by layer given enough time during render, and in the rendered result.
In the screenshot we can see the difference between having extra frames (left) and without (right).
[Image Removed]
We also have an interior shot that has almost no light (we even use extra light-blocking geo to make sure no light leaks in from the external environment light when seeing it in the viewport) that looks completely lit up until the shadows load, and then it turns dark as expected after 150-300 frames.
We always open the level before rendering. It’s a very large level used in our game that we’re making rendered assets for, and it usually takes 3+ minutes to load up. We also usually load the area where we’re working in the World Partition window but that shouldn’t make a difference? Are there any other precautions we could try to make sure it loads correctly?
Assuming you’re using Nanite and VSMs, you might try disabling VSM caching:
r.shadow.virtual.cache 0In theory, you’ve already cached the VSMs, and you don’t need to build the cache again, and this could be doing just that as you try to render.
Epic is on a studio break till next week, but in chatting with the team before then, I think we might need to setup something more to be able to diagnose the issue. Would you be willing to make the case private and share some files with us?