Unable to reliably render sequence to file

We are evaluating Cesium for Unreal as a potential solution for a video we are trying to create. I have things set up and working in the editor, and in PIE mode, but trying to render a sequence made in the sequence editor is giving me nothing but problems.
I am only able to get frames to render at all if I use the tiling feature via the Movie Render Queue, and even then the render frequently hangs and has to be re-started. Is there anything I can do to get this to work more smoothly?

Everything works fine in the editor; 120 fps on my GTX 1070. I can play back sequences without problem in the viewport. So much so I’m contemplating using a capture card instead of a proper sequence render. I can render sequences in other projects without Cesium with no issues.

Hi @BryceKaufmanTPS,

Can you please check if World composition and World origin rebase are on? The sequencer doesn’t work properly with those settings on. You can turn them off by going to World Detail menu and uncheck Enable World Composition and Enable World Origin Rebasing in the World submenu. After that, the render should work properly. Please let me know if it helps

Unfortunately, both of those options are already disabled.

Can you please let me know the names of unreal actors that are added to the scene currently? Some minimal actors should be good enough. I can try to replicate the setup to look into the issue further

The only thing in the scene so far is the Cesium terrain, a camera, and a level sequence. As such, the entire scene is under 50 kb uncompressed, so I can just upload the whole thing:
Content.zip (13.4 KB)
I did reduce the minimum screen space error to reduce texture pop in, but the render wasn’t working properly at the default 16 either.

For render settings, I am attempting to output 4K (3840 x 2160) with tiling set to 3. I have motion blur overrides set, but it doesn’t seem to matter on my end what I set them to; they affect how long each frame takes to render but not whether the render will complete or not.

System specs:
CPU: Intel Core i7-8700K CPU @ 3.70GHz
GPU: NVIDIA GTX 1070 8GB
RAM: 32 gb DDR4 3000

Thank you for your time on this.

Hi @BryceKaufmanTPS,

I tried out the scene and it seems like the hang problem comes from the Forbid Holes setting in the Cesium World Terrain. I’m still investigating the problem, but my educated guess is that the setting requires the tileset to request more detailed tiles to fill the current empty tiles. This setting is typically useful for real time performance where if we encounter an empty tile, we typically render the nearest parent tile that can be renderable in this frame, and download those needed tiles in the background for subsequent frame. However, when the capturing video mode is on (when we click the render button and not when preview in the viewport), the tileset will wait for all tiles to finish downloading before rendering, so if more tiles are needed, it will wait for a long time and maybe forever, which leads to the freeze problem.

Can you please try to uncheck the Forbid Holes setting in the Cesium World Terrain and see if it resolves the problem? After the setting is unchecked, you may still see the slowness of the video capturing mode because of the blocking call above, but it won’t be hang forever. After everything is finished, the final video shouldn’t have that problem. Increasing Maximum Screen Space Error setting to a higher number for example like 20, instead of 4 can also helps rendering it faster, since less tiles are needed to download. Also I see the Loading Descendant Limit is set to be more than 500, but it isn’t needed for capturing video since that value is automatically tuned to 10000. Please let me know if it solves the issue. Below is the setting I currently have at the moment:

1 Like

That did the trick! I was also having issues with tiles popping in and out of existence mid-render and those have gone away too. I’m even able to render straight from the sequence editor instead of having to tile the render via the movie queue, which means I can use TAA instead of multisampling.

Thank you again for your time, we are very excited about the possibilities this is opening up for us.

1 Like