Unless, like me, you haven’t been very updated on the new techniques used in color grading, you might have heard about the ACES color profile.
A few years back, this workflow was brought to my attention when I presented some renders to a client. The colors looked off to him. What he was implementing into the engine and what he saw on my shots raised a question towards me. Have you applied the ACES tone mapping?
My reaction was nervous. What was he even talking about? Why would I want to alter the colors on a render that I presented him?
To my understanding, at that point, tone mapping and LUTs were used to apply filter-like styles to your renders, just to make them a bit more appealing or achieve a certain effect, like a more night-looking scene or a Matrix-style green shadows render.
Applying these corrections to my scenes meant providing him colors that weren’t true to the work I had done. In this particular scenario, I was in the wrong.
The issue, in this case, was the following. Unreal Engine didn’t apply the same color space as Marmoset Toolbag 3 was showing, creating a discrepancy between the two shots.
Take a look at these two pictures. Notice a difference? I certainly do. On the left, and ACES tone mapped image. On the right, a linear color space is used to render the shot.
Something like this can cause a big issue if not detected. My client would have been providing feedback based on a result that isn’t what I’m seeing. Luckily, ACES came to the rescue.
Not only it provides a unified way to visualize the colors and how the scenes are lit in general, but it also looks incredibly realistic and cinematic.
I cite, as the Wikipedia Background section for ACES describes pretty well its advantages:
“The ACES project began its development in 2004 in collaboration with 50 industry technologists. The project began due to the recent incursion of digital technologies into the motion picture industry.
The traditional motion picture workflow had been based on film negatives, and with the digital transition, scanning of negatives, and digital camera acquisition.
The industry lacked a color management scheme for diverse sources coming from a variety of digital motion picture cameras and film.
The ACES system is designed to control the complexity inherent in managing a multitude of file formats, image encoding, metadata transfer, color reproduction, and image interchanges that are present in the current motion picture workflow.”
In essence, ACES came to unify various color profiles coming from the different technologies that digital cameras used to create their own version of a true-to-life color.
As far as I understand, and I can’t be very precise with this information as I haven’t had the chance to experiment with this, film stock provided a cinematic look that digital cameras weren’t able to, which led to ACES being created.
Now for the interesting part. How can you work with ACES? Let’s start from the beginning of coloring a shot, texturing.
Nowadays, we all work with Adobe’s Substance Suite. Both Substance Designer and Painter allow you to work with a viewport tone mapped to the ACES color profile. Here’s how to activate it:
- First, navigate to "Edit" and select "Preferences". A window like this will open. Click on the "Projects" section.
- Under the "Color Management" tab, you will find a "Color Management" drop-down. Choose "OpenColorIO."
- For the configuration, we will choose "ACES 1.2" on the "OpenColorIO Configuration" menu.
- To ensure everything is ACES ready, set all values to "ACES - ACEScg" under "Bitmap Color Space Defaults." The 2D and 3D View Display Default can be left at "sRGB".
- Apply and restart Substance Designer. When you open your project, it should be ACES calibrated.
Things aren’t as straightforward in Painter. First, you’ll need to download this LUT (Lookup Table) that Bryan Leleux kindly shared with the world:
Once you have the files, follow these steps:
- Drag and drop the ACES_Standard_Log.exr file to your Assets and set the import type to “colorlut.” Assign a destination, like your shelf, for the texture.
- Assign the LUT Profile under the "Viewport Settings" in "Display Settings". You’ll need to set "Activate Color Profile" to active.
That’s it. You are now ready to create textures that will not suffer from differences in your game engine.
I recommend setting scenes up in the engine your game is running on for your renders. Unreal Engine support ACES natively, but if you want to use something like Marmoset Toolbag, you can change the color profile in the camera settings "Post Effect" section. ACES is one of the supported color profiles.
Unity's solution for ACES requires the in-engine post-processing, but it's setup is quite simple as well:
Working with a new color space shouldn’t pose any issues to an artist. In this case, what you will notice is a huge difference in your render’s realism and cinematic quality, as well as a richer color and deeper tones.
Discovering this has been one of the biggest game-changers I’ve ever experienced, so sharing this with the world is a must for me. Whether you are a more experienced artist or someone who got started recently, you have discovered something new to play with if you didn’t know about this color profile.
As always, thank you for reading, and if you have any questions, please let me know. I’d appreciate your feedback too!