I think I managed to make it work (Using Unreal as an ACEScg rendering space, and viewing it with the Correct OCIO config right in the viewport).
think the reason the image on the right for you Sinekraft looks oversaturated because youâre indicating through OCIO that an sRGB gamut picture is an AP1 one (which is not, youâre performing an Aces-to-sRGB conversion onto an already sRGB render, resulting in a super-saturated image). I believe Unrealâs final image by default is in a linearized sRGB space (When you export it in Render Queue as an EXR for example, unreal thankfully takes off the sRGB display curve, guessing EXR is an intermediate working file, for every other 8-bit formats (thankfully) he bakes that in, guessing thatâs a final image).
https://forums.unrealengine.com/core/image/gif;base64
â
Btw I think **ACES **(at least for a CG artist) isnât really a âmagic switchâ that makes your renders instantly look prettier - unless you have a scenario with extremely saturated colors of materials and lighting like the guys had at Lego Movie (although they did not render in ACEScg, according to this video they used LegoP3 primaries (which is also quite wider than the sRGB), and used ACES workflow after that, i guess during the composite+grade). ACES has a much noble goal than just improving CG renders, However if Unreal calculates Lighting & Shading correctly on this wider ACES gamut (like AP-1), it can give you more accurate render results to the real world, because it can work with many colors thatâs visible to the human eye but arenât exist even in the traditional linear workflow (which is unfortunately limited to the sRGB gamut) - thatâs used by most render engines including unreal by default. Not because render engines are bad, AFAIK render engines are color-space-agnostic, theyâre just calculating whatever you throw at them; itâs because what input artists give to them.
I tried to recreate Chris Brejonâs simple-but-spectacular example in Unreal with success I guess, which he achieved in Guerilla Render, and shared his knowledge in this really great and helpful read about this topic:
https://chrisbrejon.com/cg-cinematogâŚg-system-aces/
https://forums.unrealengine.com/core/image/gif;base64
â
The
Left image is the** âvanillaâ unreal render** with itâs own tonemapper (No OCIO or ACES was used here, itâs basically The final image! If itâs an EXR, an sRGB display-transform (Not ACES sRGB!) is needed to look like a final-image. If itâs exported as jpg or png, unreal automatically bakes the sRGB gamma-correction to the image). Actually this is unrealâs âtraditional linear workflowâ result.
The **Middle **one is with the unreal tonemapper turned off (so I handled it with an **IDT **of âUtility - Linear - sRGBâ in OCIO). The tonemapping is done via ACES. **ODT **is ALWAYS dependent on your outpute device, for 90%+ of the time itâs a regular monitor with -> Output-sRGB.
With the correct ODT added, there is automatically an S-curve like tonemapper in the ODT that gives a pretty close result to unrealâs - after tweaking unreal a bit: removing the blue correction, the fake wide gamut, and pre-gain your final image with 1.45 according to this thread by Thomas Mansencal on ACES central. You may want to add the Blue correction Fix as an LMT to the final render if your bright-saturated-blues are becoming violet, thatâs an ACES specific problem that can be fixed by an LMTwritten by the ACES guys - unreal actually uses this same exact code when tonemapping the final image. The middle image hasnât got the richer lighting details because (sadly) Lighting & Shading is still calculated within the sRGB gamut.
AFAIK by default Unreal operates in a Linearized-sRGB gamut, although (only for tonemapping) the image is transformed into ACES space, gets tonemapped (and gets some other magic juicy stuff), then comes back to sRGB when done, resulting in a Linear-sRGB image again at the end, but with a tonemap that was applied at ACES space. You can check it in this code, around line ~330.
The image on the **Right **however was rendered in an **ACEScg **working space, previewed in the **viewport OCIO **with an IDT of âACES - ACEScgâ & **ODT **of âoutput - sRGBâ (if you render it as a Linear, untonemapped, no OCIO baked in EXR, thatâs considered as an ACEScg AP-1 EXR - and THATâs how you should deliver to the comp / colorist department -, and you can preview or work on the render in ANY application that has OCIO | ACES support: RV, Nuke, Fusion, Resolve, AfterEffects, Blender, Maya, Houdini, Unreal 4.26âŚ). The right image for instance **has richer GI details **(the indirect **lighting **happily **works with **4.26 GPU Lightmass & RTX GI as well, & with Photometric camera + light values)!
If you guys are interested, Iâm planning to make a tutorial on how to achieve this (Please note that Iâm not an official ACES teacher, Iâm just a regular CG artist excited about the topic, probably iâm doing some stuff wrong, but iâm pleased to show you what I know by far - dear ACES gods: please do correct me if Iâm doing anything wrong!).
Cheers,