Here is a checklist for you to go through about all things related color.
New to color management? Here you can learn the general concepts of color management
TLDR
Our recommended setup before you start lighting and color correcting your scenes:
General
These settings are off by default in Pixotope, but not necessarily in Unreal
-
Disable Auto Exposure
-
Set Exposure Compensation to 0
-
Unreal Engine 5 defaults Exposure Compensation to 1, which is one stop, all light in the scene is effectively doubled. With it set to 0, physically measured light values (candela/nits) behave as expected; with it at 1, every value you enter must be halved to be physically correct, and predefined colors can shift into super bright territory
-
When outputting SDR & content was created using Unreal tone mapper being the desired look
-
Keep the Unreal tone mapper turned on (Director > Show settings > Base settings > Filmic tone mapping)
-
For preview, use an sRGB lookup without builtin tone mapping
-
For inputs and outputs, use a Rec.709/Rec.2020 color space without tone mapping built in
When outputting any type of log based format (slog/clog/vlog…)
-
Disable the Unreal tone mapper (Director > Show settings > Base settings > Filmic tone mapping), as these outputs have tone mapping built in
-
If you are working on a PC monitor, set the viewport to use a sRGB with tone mapping or HDR with tone mapping lookup
-
If you have a broadcast monitor that supports log input, output your log signal directly to this and convert it in the monitor
-
Or if your broadcast monitor only supports Rec.709, use Pixotope to output Rec.709 for preview
When outputting HDR ensuring color consistency down stream
-
Disable the Unreal tone mapper (Director > Show settings > Base settings > Filmic tone mapping)
-
Set the color space in Unreal to ACEScg
-
Depending on the capabilities of your preview monitor choose an appropriate preview lookup, sRGB/ Rec.709/Rec.2020/HLG, with built in tone mapping
-
For output use an appropriate output lookup with built in tone mapping (HLG, PQ, Rec.709, Rec.2020, slog, etc)
Calibrate your monitor
To accurately replicate the artist’s intent on final output, it is assumed that the graphic content has been created on a color managed monitor, capable of displaying the full range and gamut as the desired final output.
Learn more about how to Calibrate your monitor
Convert non-color managed Unreal content
If you are bringing your content in from an Unreal project that has not been color managed your output might change when adding proper color management. It might be necessary to adjust exposure, color grading, tonemapping or lighting to achieve the desired results.
Learn more about how to Convert non-color managed Unreal content
Color manage your textures
Textures used in the project should be exported from your favorite painting DCC in the sRGB color space (which will be automatically converted to ACEScg), or if done in a different color space, properly configured in Unreal to convert from the known color space of a given texture to ACEScg.
Learn more about how to Color manage your textures
Set your default color profile
Color space or profile?
A color profile is used to convert between color spaces. However, depending on the type of software or OCIO config the terms are often used interchangeably.
What does a color profile actually do?
Selecting a color profile (space) defines the gamut, white point and transfer curve that we expect the input signal to be encoded in and that we encode the output video signal in.
-
On an input, you are telling the system: "treat this signal as if it is encoded with this color space". The system then applies the exact inverse of that encoding to bring the values into linear space (ACEScg)
-
On an output, you are telling the system: "the values are in linear space, apply the encoding to them that matches the expected output. Now both video and graphics will be encoded in this color space together."
Everything is encoding and decoding. If the output profile chosen does not match what the downstream devices expect, it will look wrong on those monitors / scopes.
-
Set the default color profile for your production in Pixotope Director
-
This is typically the one used for the final output
-
Camera Rec.709 is our default
-
Rec.709
Pixotope ships with two Rec.709 profiles. They share the same Rec.709 primaries (gamut), but they have different gamma:
-
Camera Rec.709(Gamma 2.2) — the camera/capture side of Rec.709 (the OETF). -
Rec.1886 Rec.709(Gamma 2.4) — the display side (the BT.1886 EOTF)
Same primaries, different transfer function. Pick the one thatr matches your down stream expectation (typically Rec 1886), and use that for BOTH input and output to ensure video does not shift.
Picking the wrong one results in a subtle but real contrast mismatch (gamma 2.4 has slightly more contrast in the shadows).
Rule of thumb: use the same color profile on input and output
For any display referred source — which includes the standard Rec.709 broadcast cameras most productions use — there is no fully reliable way to reconstruct the original scene light. The practical solution is the "inverse trick":
-
Decide which color profile your output needs to be
-
Use the same profile on your inputs, even if it is not an exact description of how the camera encoded the image
Because the input decode and the output encode are exact inverses of each other, the video plate passes through completely untouched, while the graphics are rendered through the same transform — so video and graphics stay matched, and behave identically through any downstream grading.
The only exception is when you have a scene referred camera source (a log format such as S-Log3, LogC, V-Log etc.) and a display referred output (Rec.709, HLG, …). In that case the camera's log encoding is precisely documented, so the input can be linearized correctly with its own profile, and the output can use a different profile.
Recommended color profiles
We recommend the following color profiles for most type of productions:
For images and videos encoded in sRGB
|
Production |
Default color profile |
|---|---|
|
Rec.709 |
|
|
Rec.709 with Filmic tone mapper enabled |
|
|
Rec.2020 |
|
|
HLG |
|
Various Log formats
Choose the combinations that matches your camera’s settings), some common settings:
|
Production |
Default color profile |
|---|---|
|
Sony |
|
|
Arri |
|
|
Canon |
|
|
Panasonic |
|
|
RED |
|
Learn more about OCIO and ACES in Pixotope
By default, all inputs will be converted to linear space (ACEScg) and then converted back again for output.
Learn more about Linear light and compositing
All internal compositing is done in scene referred linear color space
Learn more about Compositing in Pixotope
Update your working color space
For HDR workflows this is mandatory, but even for SDR workflows we recommend to update your Working color space to use ACEScg. This improves effects like reflections, bloom or when working with highly saturated colors.
As Unreal Engine uses linear sRGB by default, changing this can change the look of the project.
Learn more about how to Change Unreal Engines working color space
Check your inputs' color profile
If one of your inputs are encoded using a different color profile and/or you require an output with a different color profile, these can be overridden per channel (I/O).
Learn more about how to Configure routing
Set up your color managed preview in Editor
When working inside the Unreal Editor, the viewports color transform should be set to the type of monitor you are working on. This will ensure that the image will look the same (or as similar as possible) when comparing the output of for example a PC monitor (sRGB) and Broadcast monitor (Rec.709).
Learn more about how to set up your Color managed preview in Editor
Do color grading
All color grading, including changes to the filmic tone mapper, are done
-
per level
-
in a non destructive linear color space
This will allow you to make changes to the 3D Graphics, Video and the Final output independently, without losing any fidelity or clipping values.
Learn more about how to Adjust color grading
Camera shading during production
Everything in the color pipeline is built around matching the graphics to what the camera captures. Be aware that if a camera shader/painter adjusts camera parameters (gain, gamma, white balance, exposure) live during the production, the graphics will no longer match the video, the carefully matched black levels and colors will drift apart, even if the changes are small.
Our recommendations:
-
Lock the camera settings before and during virtual production segments wherever possible
-
If adjustments are needed, prefer making them downstream of Pixotope, or inside Pixotope using the Color grading panel. These are applied to graphics and video together, so the match is preserved
-
Avoid making changes (such as the video white point) on the camera itself after the system has been set up or calibrated
Using the Video Keyer?
If you are using the Video keyer, the system will automatically convert from any type of color input. It is therefore important that the input colors are set correctly.
Learn more about the Pixotope Keyer
Working with SDI?
When working with SDI, you have to inform the system in which video range your input signal is encoded in and in which video range your output should be encoded in. Available video ranges are
-
Legal (64-940) - default
-
Almost all applications within broadcast production will use this limited range
-
-
Full (0-1023)
-
Certain HDR signals might use this extended range
-
As a precaution, the system will default to clamp super bright values (as they are easy to make in Unreal, being an HDR system). We therefore adde a Super brights option on outputs which will let "super bright/white" values pass through.
Learn more about SDI signal range
Working in HDR?
Using the Unreal Filmic Tonemapper?
The Filmic Tonemapper, which is the default Unreal tool for converting a linear representation of light into something that simulates a film camera capturing the scene, is now always available as a creative tool for artists. It works in both SDR and HDR scenes and will behave as in a non color managed version of Unreal.
For HDR outputs and photorealistic compositing, it is recommended that the tonemapping of the graphics is processed downstream of the compositing. So we suggest to
-
disable Filmic tone mapping in the Show settings panel
-
use an output transfer curve that simulates the desired camera/film response
Outputting HDR?
When outputting HDR content (HLG, PQ, etc) special care should be taken to ensure that graphics are created on an HDR capable monitor and that the graphics values, especially for bright colors, look as intended on the final output. The color of white in a regular SDR broadcast graphic, will not necessarily be white when shown in an HDR output.
Learn more about working with HDR in Pixotope
Using XR?
When using Pixotope XR there are special tools and considerations for matching the colors of the set extension to the LED wall.
Learn more about how to Calibrate color matching for XR
Need to configure your own color pipeline?
However, the OCIO system is fully user configurable, so advanced users can replace the config file, if they have color management needs that go beyond what is offered out of the box.
Learn more about how to Make your own OCIO configuration