How to Render Seamless Media Plates in 180/ 360 Degrees in Unreal Engine

How to configure media playback in 180/ 360 renders in Unreal to ensure no tearing or desync across high resolution tiles or cube faces and perfect color accuracy with no ghosting effects

Last updated 9 days ago

Overview

In high resolution renders, syncing of Media Plates is important for ensuring that media is decoded by each job at exactly the same time to avoiding tearing or desync between tiles/ faces.

In addition, you need to use the dedicated Unreal Media Plate to display the media which ensures that it bypasses anti-aliasing and post-process effects like motion blur and depth-of-field and thereby avoids ghosting.

Basic Set-Up

  1. Ensure that the Media Plate (Beta) plugin is enabled:

  2. We recommend to use an IMG Media Source for your playback media as it is the only absolutely reliable input format:

    1. IMG sequences are preferable over MP4s or other video formats because of the way MP4s handle and compress playback into I-frames.

    2. Using IMG sequences has less overhead when seeking to a particular frame, and leads to less potential mismatch on playback.

    3. Some video formats such as Apple Prores 4444 or Bink Video are reliable than MP4 but an IMG Sequence is always the most reliable approach

  3. Open the IMG Media Source asset and in the Sequence section set the Sequence Path to the folder where you have your image sequence. Save the asset and close it.

  4. Drag the IMG Media Source in to the level. This will automatically create a Media Plate Actor that uses the IMG Sequence as a source.

  5. In Sequencer, add the Media Plate Actor to it’s own track and disable autoplay on the Media Plate when prompted.

  6. Scrub the Playhead to ensure that the IMG sequence playback is dictated by the Playhead position. Movement should be visible only when the Playhead is moved:

  7. Ensure that the Sequence FPS matches the FPS of your IMG Sequence footage:

  8. Right click on IMG Media Source track, navigate to Properties > Advanced ensure that the Preroll Frames property is set to 0.

  9. You will now be able to play media in your high resolution render with no desyncing or tearing and perfect color/ media pixel representation.

Performance

  • IMG Sequences can be heavier on file size than Bink or Prores.

    • To save on rendering resources Bink or Prores 4444 can be used (test first to ensure pefect output).

    • Prores requires the Electra Player plugin to be enabled for playback.

  • Rendering a lot of very high resolution media plates will add to render times so to be most performant, image sequences should not exceed their necessary resolution.

  • Consider their size in the 3D scene and if struggling for performance, lower the resolution of any media that is smaller on screen in the final render.

Troubleshooting

  • The most common cause for visual tearing in Media Plates is Preroll.

    • Ensure that Preroll is set to 0 for any Media Plate in a sequenced render.

  • Double check that the IMG Source FPS matches the Sequence FPS exactly, even down to the decimal point if applicable.

    • A slight mismatch can cause differing frame values per face, resulting in frame drifting and visible seams.

  • A subtle Face Blend Percentage can help the visibility of seams.

    • A value of as little as 0.5 percent can reduce any remaining artefacts.