Skip to main content
Participating Frequently
September 11, 2023
Question

ACEScg Color Shift in Substance Painter from Original Web Images

  • September 11, 2023
  • 3 replies
  • 2824 views

Hello everyone,

I've encountered a particularly perplexing issue with Substance Painter in the ACEScg workflow, and I'm hoping someone might have insights or has faced something similar.

When I download JPG/PNG images from the web and import them into Substance Painter, there's an apparent color shift from the original image. This discrepancy becomes even more pronounced when I export the textures and bring them into Maya, despite both being set to use the ACEScg color space.


Here's a breakdown of my process:

Source Images: These are standard JPG/PNG images directly downloaded from the web. They look as expected in any standard image viewer.

 

Substance Painter:

  • The color management is properly set up in Painter.
  • On importing these images, the colors appear different than the original.
  • On exporting, I ensure that color maps (like Diffuse/Albedo) are in ACEScg, while other maps (Roughness, Normal, etc.) are set to Utility - Raw.



Maya
:

  • The imported textures' color discrepancy is evident here as well.
  • The Color Space in the file node for Diffuse/Albedo maps is set to "ACES - ACEScg", and for non-color maps, it's "Utility - Raw".
  • The rendering engine is also correctly set up for the ACEScg workflow.

Despite all this, the color mismatch from the original web image to Substance Painter (and subsequently to Maya) persists. I'm trying to understand if this is a Substance Painter issue or something inherent in the ACES workflow that I might be missing.

That's the issue that I'm getting:

 

Has anyone faced a similar issue or has any suggestions on why this color shift occurs and how to fix it? Any help or guidance would be deeply appreciated.

NOTE: If I take the image DIRECTLY to Maya and set its color space to "Output - sRGB", the colors get accurate. But when it goes to Substance Painter first and then I export the texture to be used as "ACES - ACEScg" in Maya, the colors drastically change. It seems that Painter is the issue.

To make the understanding easier, that's what I need to know: how do you import images from the internet into Painter and keep its color accurate when using it in Maya as "ACES - ACEScg"?

Thank you in advance!

This topic has been closed for replies.

3 replies

Ricardo CGI
Inspiring
April 18, 2024

If you try this option for color conversion we can notice a huge difference, why? It seems to me that we ended up with colors that are not so dark and are closer to the original textures.

 

 

Ricardo CGI
Inspiring
April 18, 2024

Hi,

I'm facing the same issue, and that's exactly when you want to import some texture from the web, and colors must be the same. But it seems color conversions are not good enough to preserve them. The Aces_cg color space always toned down the highlights, and the images look dull. Take a look at this simple test. On top right we have the original image taken from the web.

 

The responsible for this color conversion is icio.config file, which, by the way, each software has its own built-in and they are not respecting a standard. That's the impression I have. 

Substance Painter has it and it seems to do better color conversion than Aces 1.2. I believe the key here is to load the same config file in all software.
Please correct me if I'm wrong and I would also like to know if you found a solution for this.

 

 

Léna Piquet Froyok
Adobe Employee
Adobe Employee
September 13, 2023

Hello,

 

The result you are getting is expected, but that's because you are not using the right color space.

Images coming from the web are very likely in sRGB, especially for png/jpeg (while exr are more likely to be Linear or maybe ACEScg).

 

If you use our default ACES configurations, 8bit images (aka non-hdr resources) should default to sRGB too. You likely want to keep that setting this way most of the time. Example:

 

 

 

 

 

 

Now if for some reason you want to import SDR images as ACEScg by default, you can still override the color space of a specific resource from within the layer stack. You need to enable the color space menu first, like so:

 

 

 

 

 

 

 

 

Here is an example comparing between the two color spaces:

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

For the export, if you want to use ACEScg to load it up in Maya afterward, make sur you use an appropriate image format like EXR or HDR. Otherwise I recommend sticking to png and sRGB as your color space. You can configure this from your project settings.

 

You can also check out our documentation on Color Management: https://helpx.adobe.com/substance-3d-painter/features/color-management.html

 

I hope that helps. 🙂

Nando_Author
Participating Frequently
September 13, 2023

Hi Léna! Thank you SO MUCH for this comprehensive explanation. I had already found out that what you showed was indeed the cause of the issue, but I was waiting to see if someone would come up with a different solution, just to have more options and potentially learn new ways of reaching the intended result. 

I have another question though: even when everything is set up like you did, when the texture is on Maya and set to "ACES - ACEScg", it has a slight difference from the original one that was taken from the internet (it looks a bit less vivid) and I have to use an aiColorCorrect node in order to get closer to the original image (but it never matches 100%).

So, does the conversion to ACES inevitably end up changing the colors a bit? I wonder if it's a caveat of this procedure and if there is nothing that can be done in this regard.

 

Thanks again!