Introduction
This document provides an overview of using mipmapping for image sequences.
As of 5.1, you can use the Process EXR tool to generate .exr files with the correct settings to use with the Media Plate Actor.
Mipmaps
Mipmaps are used in image sequences to reduce the amount of data loaded in.
Mipmaps are not imported into the Engine as a normal texture, therefore there will not be a UAsset created for the EXR mipmaps. Due to this behavior, the mip levels need to be generated manually before using them in the Engine. See Creating Image Sequences with Mips.
Limitations
Mips are supported for EXR, TMV and DDS image sequences.
Only EXR files are supported at this time.
Anisotropic mips are not supported.
Reduction of data loaded in is achieved by only loading the required mip levels.
For GPU optimized streaming into Unreal, all EXR Image Sequences should be uncompressed.
You will only get GPU acceleration for loading EXRs if they are uncompressed.
All mip levels need to be either compressed or un-compressed. Having one level compressed and another uncompressed will break the chain.
Creating Image Sequences with Mips
ImgMedia reads mips that are stored inside each image file. Use a format with embedded mips, such as TMV, tiled EXR with mips, or DDS.
You can create tiled EXR sequences with mips with the TMV Transcoder or the Process EXR tool.
ImgMedia doesn't read mips from separate resolution-named folders, such as Smoke_Element/1024x1024.
Editor Setup
To use the mipmap functionality, the ImgMediaPlayback component must be added to all objects that display the images. If the component is not present on an object, then the object will not be used in determining what mip levels should be used.
You can enable debugging with the following console command:
ImgMedia.MipMapDebug 1
This will display which mip level each image sequence is currently using.
Mip Level Selection
Mip levels are selected based on an estimated pixel to texel density for each object displaying the image.
The camera position is used for these calculations, so fast moving cameras can introduce more errors in the estimation. Further work could improve the estimation and take camera movement into account.
The mip level selected can be manually adjusted with the LODBias setting on the ImgMediaPlayback component.