ACES in 3ds max and using megascans

This is two questions combined - one part is if anyone has experience with ACES in 3ds max ? It seems they even use different terminology, the arnold image node has different option than the ones normally mentioned, for example there is no utility - srgb input just plain srgb and so, so a bit of guesswork involved using it.

Then we arrive to megascans assets, tried using sRGB for the albedo which resulted a dark, unsaturated look, the closest we got their displayed references when all maps loaded as RAW, anyone has experience with this?

Thanks!

Further to this, in some cases some absolutely random input mode will give a right(ish) result, such as ACEScct or something … so when rendering the asset we get really close to the example they have on the website.

Some input would be much appreciated here.

The input files are .jpg files straight from megascans website.

Hello @hyperviktor

would this thread help you by any chance ?

Thanks !

No entirely sure, I’m trying now to go step by step, setting up a basic scene with lighting and some charts. Does this look correct ?

Also, where do I find a decent color chart so I can keep things consistent ? One that you’d say is correct / accurate / right color space etc. ?

Would be great to build a bulletproof method for testing things.

The one helpful thing was from tat thread that somebody pointed out they have .EXRs available, which eliminates the messing around with the jpegs , although I’d still like to know how ACES works in 3ds max as it seems to me it’s an unfinished and botched feature without using even the proper terminology that is present in other software when it comes to input formats for example.

Also, take a look at this - two images, one from megascans website and the other is a render from 3ds max, ACES , using downloaded EXRs not jpegs , is it possible that their renders on the site are incorrect ? It seems that the ACES render is so much more saturated and I had a similar issue with their jpegs, when I switch to EXR I get waaay more color , so much in fact that I get far away from their reference images.
I don’t even know anymore which one is correct ?

EDIT : If I desaturate my render in photoshop by about 44% then I get something similar to the ref.


Hey @hyperviktor ,
Have you made sure that the albedo of the EXR was set to Linear-sRGB? (which I believe their EXR versions are)

Oversaturation typically is the result of a file being interpreted as a larger colorspace than it actually is. Perhaps it’s set to scene-linear/ACEScg instead of lin-sRGB.

Furthermore, unless there is clear information on how Quixel made the example renders there’s little to say about how much it should match with what you’re rendering yourself. But it should be reasonably close of course with ‘neutral lighting’ as I don’t think they would add a lot of creative sauce for such examples.

Which OCIO config are you using in Max? The color space names will come from that OCIO config. Generally, you want to use one single OCIO config across all your DCC software.

Built in ACES config that comes with max.

Important thing to note about Megascans is that Albedo/Diffuse maps are not as PBR as they used to claim. Its too dark. I add about 0.02-0.04f across the board. Lumen in Unreal has a dedicated ‘boost’ parameter to correct for that.
Colorspace for colour Megascans maps is named “sRGB” (at least in max 2024) and “Raw” for value/data maps.
I would suggest using some other configs, based on cg-config-v1.0.0_aces-v1.3_ocio-v2.1.ocio or newer where you get more obvious naming like “srgb_texture” and “srgb_encoded_ap1_tx”.

In general - I don’t have much to complain about ocio colour management in 3ds 2024.
The colorspace rules editor for input files works as expected, it’s a great help. Just add rules for Megascans specific naming.
Not sure about 2025 but 2024 does not have “Look” from ocio 2 implemented - so if you are using ACES 1.3 ODT with Reference Gamut Compression you need to adjust your config file a bit.

This may be related to the fact that Unreal adds a gain adjustment of 1.45 to the ACES Output Transform, so if viewing in Nuke you would need to apply that as well to get a match. Alternately you could add that to the textures on input into Max by modifying the sRGB_texture color space.

- !<CDLTransform> {slope: [1.45, 1.45, 1.45], offset: [0.0, 0.0, 0.0], power: [1.0, 1.0, 1.0]}

A lot of dark Megascans materials are even 0 RGB in the Albedo tex. Gain would not fix that.
Also Megascans were targeted at UE4, and I do not think old scans were ever changed/adjusted.

Isn’t the 1.45 gain in UE just a part of “ACES-like” tonemapper?

Yes, the 1.45 gain is independent of the Megascans. The 0 “albedo” value is consequence of less than desirable authoring, there is not much you can do about it though, except reprocessing/blending the offending textures.

Hello !

For the O “albedo” value, you could write a small utility (like in OSL) to make sure your inputs are within a certain range. Like this:

float remapped_value;

if (original_value >= 0 && original_value <= 0.1) {
  remapped_value = fit(original_value, 0, 0.1, 0.05, 0.1);
} else {
  remapped_value = original_value;
}

This is useful to connect right before the material, especially if your shading networks contain color correct nodes.

Regards,
Chris