Unreal Engine 5 Part 1 | Color Management and ACES Integration

Unreal Engine 5 Part 1 | Color Management and ACES Integration

Written by Julian Pössnicker on April 2022

Since last year I had a deep dive into Unreal Engine 5 Preview 2 and its new Ray Tracing Features achieved with the new Lumen System. My goal was to use the unreal engine renderer as an alternative to offline renderers like cycles-x or redshift. Lumens’ Features and its speed could be a game-changer for Computer-generated graphics and VFX in general. In this three-Part Series, I will test Lumens features and show possible ways for integrating them into a VFX-Pipeline. This first part is about the:

 

Color Management

One of the most important key aspects to get a good-looking composite out of different sources is color management. Because if each of the color sciences of the different programs or sources matches, the effort to match the colors in the compositor gets less or distinguishes completely.

The following pictures show different color management set-ups in Blender and unreal engine 5. For each setup, the same test scene which consists of emissive blocks which gradually get more emissive linearly, and a color chart with standardized colors are used. Therefore, the resulting renderings and waveforms, and vectorscopes are being combined into one picture.

The first version compares the standard sRGB output of both programs. The result is comparable but there are various hue and saturation shifts. Especially the reddish and blue areas are very off. The resulting luminance “gamma” curves are also very off.

 

The next test shows the raw output of each program. Blender and Unreal Engine are configured to output a linearly sRGB OpenEXR-File. This method bypasses each scene referred to display referred conversion. The resulting colors of each program are in comparison to the first test more in line with each other. Now the linear curve is more similar. The colors are not shifted but slightly differently saturated.

 

This result indicates very different transforms used in each of the programs. To counteract this problem an “OCIO”-Configuration can be used. The next comparison shows the renderings with the ACES_1.0.3 config file.

 

Right out of the gate the resulting colors and luminance curve seem much more in line with each other. After a few tweaks, the results of both programs can become even indistinguishable.

The next chapter is about unreals and blenders uber-shader-systems.

 

 

 

Sources

 

aces_1.0.3 (opencolorio.readthedocs.io)

 

 

Academy Color Encoding System ACES Blender Blender filmic CGI Color Color Management Color Science OCIO unreal engine 5 Unreal filmic VFX