This blog post will guide you on how to set up Academy Color Encoding System in Autodesk Maya, Substance Painter and Nuke. ACES is mainly handled by OpenColorIO, a colour management solution which makes setting up projects for ACES easy across all operating systems and applications.
“OpenColorIO (OCIO) is is a complete color management solution geared towards motion picture production with an emphasis on visual effects and computer animation. OCIO is compatible with the Academy Color Encoding Specification (ACES) and is LUT-format agnostic, supporting many popular formats. OpenColorIO is natively supported in commercial applications like Katana, Mari, Nuke, Silhouette FX, and others.” – OpenColorIO website.
- ACES OpenColorIO (OCIO) configuration files: Google Drive or GitHub
- Substance Painter Look Up Table (LUT): Gumroad, Artstation Post
Before we start, we will look at the basic theory behind colour management.
In order for the image to be displayed properly on different devices, colour spaces were created. sRGB is among one the most widely used today – on smartphones, printers and others. It has a gamma of approximately 2.2, as opposed to Linear, with a gamma value of 1. There are many different colour spaces, such as Rec.709 (Used for 1080p HDTV Content) and Rec.2020 (4K UHDTV Standard Dynamic Range Content.) Not all colour spaces share the same gamma and/or gamut. Wikipedia article about colour spaces and their uses.
Managing colours with ACES means that different colour spaces will be converted into one single colour space. This is made possible by using colour space transforms.
- Input Device Transform (IDT) – Color conversion from input material. More properly called an Input Transform. (for example sRGB to ACEScg)
- Reference Rendering Transform (RRT) – Colour transformation from scene-referred (ex. ACEScg) to display-referred space (ex. sRGB), using an S-shaped tone curve, image preparation for output.
- Output Device Transform (ODT) – Transforms to an output device, a transformation such as sRGB, Rec. 709, DCI-P3, Rec.2020.
In practice, the RRT and ODT are combined and called an Output Transform.
ACES contains different colour spaces, we will look at the main ones:
- ACES 2065- 1 – This is a wide-range Linear colour space, with a larger coverage than the human eye, so it is used for archival copies and transfer of material between departments.
- ACEScc and ACEScct – Logarithmic colour spaces intended for grading and colour correction.
- ACEScg – This is a Linear space for working with CG/VFX. This is the space you need to use as the main colour space for working with colour set-up and light in your rendered images. More information is available here.
Setting up ACES
- After downloading the ACES configuration files, extract them on your C: or another drive. (X: for Escape Studios)
ACES as a global environment variable
- It is possible to use the ‘OCIO’ environment variable pointing to the ‘config.ocio’ file. This will be picked up by the majority of DCC applications, including Houdini, Nuke, Katana, Mari and others.
ACES in Maya
- Start Maya and create a new project.
- Open the Preferences window, (Windows – Settings/Preferences – Preferences) and go to the colour management tab.
- Under Color Management Preferences, set the “OCIO Config Path” to the path you extracted the ACES configuration files to. The file the path has to be set to in our case is called “config.ocio”.
- After setting this, make sure to click check on the “Use OCIO Configuration” checkbox. The configuration will then take a few seconds to load.
- Finally, we want to set our default Input Color Space to transform to raw, as we will mostly be using Raw (Linear) images exported from Substance Painter.
- Do not forget to set your colour space transforms properly! Most images you download or use are encoded using sRGB. Info channels (roughness, metalness, or AOVs) are linear. Image plane sequences should be set to sRGB unless you have converted them to ACES or other colour space in Nuke.
ACES in Substance Painter
Using ACES in Substance Painter merely a matter of Reference Rendering Transform. The workflow I will be showing you transforms how the viewport in Substance Painter displays your textures. This means that even after you completed your texturing work in Substance Painter without configuring it, you will still be able to fully implement ACES into your workflow. Extract the files downloaded from Gumroad and drag them into the Substance Painter window, import them as ‘colorluts’ to your shelf, so you don’t have to import them every time.
Substance Painter exports Base Color textures in sRGB. All other textures are exported in Linear (raw). When bringing Base Color maps into Maya, use input colour transforms (srgb_texture or Output_sRGB) instead of gamma correction, as these transforms are more accurate.
Other software, such as Adobe CC Apps or Nuke have colour management configurations natively supported. It is only needed to enable them and set them correctly.