3 min read

[10/50] Unreal Movie Render Queue - Our Preferred Settings

A cinematic render from Paperplanes using the Movie Render Queue.
A cinematic render from Paperplanes using the Movie Render Queue.

While dialing the renderer settings to the max for the highest visual fidelity is a valid option when rendering scenes out from Unreal using the Movie Render Queue or the older Movie Renderer, it does take really sophisticated (and expensive) rendering hardware to complete the rendering within a reasonable time. Not a problem if you are a Disney or Sony but for smaller teams like us, we need to balance the visual fidelity with the time it takes to complete the rendering.

In this post we will discuss our preferred settings when using the Movie Render Queue (MRQ) which gives a reasonable balance of visual quality and rendering times at 1080p.

For a quick intro to the Movie Render Queue, we recommend this excellent video from William Faucher.

Movie Render Queue - Intro by William Faucher

Workflow

Our render workflow is essentially:

  • Setup the Level Sequence of the cinematic. We heavily use Sub-scenes - if you haven't heard about them, please give them a read.
  • Render out as 16-bit exr files.
  • Assemble and post-production in Da-Vinci Resolve.

The first shot is where we define our 16-bit exr format for exporting with PIZ compression which is a lossless format. The second one is the deferred renderer settings and it is pretty much all defaults.

In the Anti-aliasing section, look out for Spatial and Temporal Sample count, relatively higher numbers result in sharper details but they significantly increase the rendering times.

We set the anti-aliasing method to None in order to avoid unecessary overhead. As noted in the documentation:

When Override Anti-Aliasing is enabled, this field will select the desired anti-aliasing method. None will disable the anti-aliasing entirely. This is often desirable when using more than 8 temporal/spatial samples as this will match the quality provided by the default anti-aliasing without any of the downsides.

In the Color Output section, we use an Open IO Configuration to ensure that the colour information remains consistent between Unreal and Da-Vinci.

Next in the console variables section, we go crazy pushing visual quality to the max our systems can handle. Pretty much most of these will have a non-trivial impact on the rendering times and the computing resources used. In particular, the settings that deal with geometry or textures is likely to bump-up the GPU memory consumption leading to engine crash on account of out-of-memory errors. So keep an eye on them and fine tune per your requirements and resources available at your disposal.

The last screenshot is of the game-overrides settings where we release some of the configuration typically required for smooth experience when playing in real time but can be traded-off for higher visual quality when rendering. As noted above, disabling streaming features often requires higher memory usage in return for finer details in the rendered output.

While it is an absolute joy to look at the rendered visuals by boosting some of these settings, a note of caution is in order. These renders need to be appropriately qualified when used as marketing materials for video-games as the final real-time, in-game experiences cannot live up to this quality on account of hardware limitations leading to player discontent and, often, rightful accusations of dishonesty on the part of the developers and publishers.