ACES set up for Blender using OCIO

Hi Uno,

I am not familiar with Kubuntu, but I guess the process to set a variable will be quite similar as it is in MacOS.
A quick google search gave me this result:

https://help.ubuntu.com/community/EnvironmentVariables

When you get it running, please share the commands here and I will update my page too.

Daniel

I was looking for a solution specifically for the Blender UI bug where all the separate options are displayed on-screen. With something around 350 entries in ACES 1.2, that list will cut off the later parts of the alphabet even on high resolution displays.

My interim solution was to edit the ocio.config file itself. Something that many people aren’t aware of is that the vast majority of the entries in the config are just aliases. These are designated with a specific family type, Family: Utility/Aliases. Out of 350 entries, roughly 250 entries are just aliases.

Now those aliases may be used by specific pipelines; for instance a Maya tech artist might prefer the aliases that use underscores for example. But they don’t appear to represent a unique transform. Deleting them from the list is probably the fastest way to solve the issue in Blender.

If you’re just using Blender then you’re done! Otherwise read on


See, if you set up your OCIO as an environment variable on Windows (as most people recommend you do) those edits you’ve made will show up in other 3D apps. And it turns out just deleting aliases is enough to cause at least Maya 2022 to crash on start.

So what we need is a special OCIO for Blender, with your truncated list, but a larger set for everything else. So my current approach is to set the OCIO environment for Windows to a correct/full ACES 1.2 config, then have a copy of that config that I use specifically for Blender. Blender will default to your environment variable version but you can use the .bat file technique Daniel shared to override it.

I tried initially to just edit the name of the ocio.config file to be something like “ocio_blender.config” or “ocio_global.config” but it seems that file name is important. So in the end I just made a copy of the whole ACES 1.2 folder for Blender and renamed the whole thing so that my config could still be distinguishable despite having the same name. My .bat file wound up something like this:

Set OCIO=C:\OpenColorIO-Config-ACES-1.2\aces_1.2_blender\config.ocio

START "Blender 3.0" "C:\Program Files\Blender Foundation\Blender 3.0\blender.exe"

The command to set a specific ocio on blender start on linux is:

Exec=env OCIO=/path/to//config.ocio blender

Hi all,

I know it’s an old topic but currently I have a config ACES 1.2 for Blender that I use in Blender 4.0 too but I would like to move to ACES 1.3 to fix some issue like clamping in some case. My setup I get sometime ago look like this (screenshots).

There is a way to duplicate my folder and just update the core file to move to the ACES 1.3 without changing my OCIO config ? Or tell me how to create the file needed to after update my ACES 1.2 to ACES 1.3 ?

Thank you,

Matt

Hi Matthieu,

did you try to use the OCIO environment variable?
I need to update my pages to Blender 4.0, but the steps are still the same. (1.4.1. Blender 3.6 LTS & OCIO v2-release – Brylka – TooDee – PanicPost)

I am having three Blender icons in my dock on the MAC: default OCIO, ACES 1.3 OCIOv2 and ACES 1.2 (for Display P3). This works very well for me.

Best regards, Daniel

1 Like

Hi Daniel,

Yes I use an environment variable for ACES and Use Blender Launcher to switch between version of Blender. I use only ACES now, more easier between all the softwares.

Maybe I didn’t explained very well what I try to do (not native English speaker).
I have ACES 1.2 package in Blender 4.0.2 using the environment variable but I want to get ACES 1.3 but I didn’t know how to got it as the same package I already have ACES 1.2. When I said package, I’m talking about the folders for “baked”, “luts”, “python” from my previous screenshot. Can I use the same folder with ACES 1.3 ?

I checked your link and I think it’s what I need :wink: I will follow your tutorial.

Just an other question, do you think it will be possible to match my ACES 1.2 config in the 1.3 config ? I have remaped some values to use some plugins in Blender (sRGB → Standard, use ACES - ACEScg for color picker) and to match after in Nuke and Davinci Resolve.

Could you look at my ACES 1.2 OCIO config in attachment and tell me what I need to do in the new one to match this one or can I do the same ? And if it’s good or if I need to avoid some changes I made.

I’m a quite beginner in ACES config :wink: I use the ACES 1.2 package since few years but never learn it really, I need to found good tutorial to learn it well.

Thank you

Matt

EDIT : I also not have the same Color space available than you at the end of your article (screenshot)

Here my current ACES 1.2 config :

ocio_profile_version: 2

search_path: luts
strictparsing: true
luma: [0.2126, 0.7152, 0.0722]

description: An ACES config generated from python

roles:
reference: Utility - Raw

Internal scene linear space

scene_linear: ACES - ACEScg
rendering: ACES - ACEScg

Distribution of colors in color picker

color_picking: ACES - ACEScg

Non-color data

data: Utility - Raw

For interop between configs, and to determine XYZ for rendering

aces_interchange: Linear ACES

Specified by OCIO, not used in Blender

color_timing: ACES - ACEScc
compositing_log: Input - ADX - ADX10
compositing_linear: ACES - ACEScg
default: ACES - ACES2065-1
matte_paint: Utility - sRGB - Texture
texture_paint: Utility - sRGB - Texture

displays:
ACES:
- ! {name: Standard, colorspace: sRGB}
- ! {name: sRGB, colorspace: sRGB}
- ! {name: DCDM, colorspace: Output - DCDM}
- ! {name: DCDM P3D60 Limited, colorspace: Output - DCDM (P3D60 Limited)}
- ! {name: DCDM P3D65 Limited, colorspace: Output - DCDM (P3D65 Limited)}
- ! {name: P3-D60, colorspace: Output - P3-D60}
- ! {name: P3-D65 ST2084 1000 nits, colorspace: Output - P3-D65 ST2084 (1000 nits)}
- ! {name: P3-D65 ST2084 2000 nits, colorspace: Output - P3-D65 ST2084 (2000 nits)}
- ! {name: P3-D65 ST2084 4000 nits, colorspace: Output - P3-D65 ST2084 (4000 nits)}
- ! {name: P3-DCI D60 simulation, colorspace: Output - P3-DCI (D60 simulation)}
- ! {name: P3-DCI D65 simulation, colorspace: Output - P3-DCI (D65 simulation)}
- ! {name: P3D65, colorspace: Output - P3D65}
- ! {name: P3D65 D60 simulation, colorspace: Output - P3D65 (D60 simulation)}
- ! {name: P3D65 Rec.709 Limited, colorspace: Output - P3D65 (Rec.709 Limited)}
- ! {name: P3D65 ST2084 108 nits, colorspace: Output - P3D65 ST2084 (108 nits)}
- ! {name: Rec.2020, colorspace: Output - Rec.2020}
- ! {name: Rec.2020 P3D65 Limited, colorspace: Output - Rec.2020 (P3D65 Limited)}
- ! {name: Rec.2020 Rec.709 Limited, colorspace: Output - Rec.2020 (Rec.709 Limited)}
- ! {name: Rec.2020 HLG 1000 nits, colorspace: Output - Rec.2020 HLG (1000 nits)}
- ! {name: Rec.2020 ST2084 1000 nits, colorspace: Output - Rec.2020 ST2084 (1000 nits)}
- ! {name: Rec.2020 ST2084 2000 nits, colorspace: Output - Rec.2020 ST2084 (2000 nits)}
- ! {name: Rec.2020 ST2084 4000 nits, colorspace: Output - Rec.2020 ST2084 (4000 nits)}
- ! {name: Rec.709, colorspace: Output - Rec.709}
- ! {name: Rec.709 D60 sim., colorspace: Output - Rec.709 (D60 sim.)}
- ! {name: sRGB D60 sim., colorspace: Output - sRGB (D60 sim.)}
- ! {name: Raw, colorspace: Utility - Raw}
- ! {name: Log, colorspace: Input - ADX - ADX10}
None:
- ! {name: Standard, colorspace: Raw}

active_displays: [ACES, None]
active_views: [Standard, sRGB, Non-Color, DCDM, DCDM P3D60 Limited, DCDM P3D65 Limited, P3-D60, P3-D65 ST2084 1000 nits, P3-D65 ST2084 2000 nits, P3-D65 ST2084 4000 nits, P3-DCI D60 simulation, P3-DCI D65 simulation, P3D65, P3D65 D60 simulation, P3D65 Rec.709 Limited, P3D65 ST2084 108 nits, Rec.2020, Rec.2020 P3D65 Limited, Rec.2020 Rec.709 Limited, Rec.2020 HLG 1000 nits, Rec.2020 ST2084 1000 nits, Rec.2020 ST2084 2000 nits, Rec.2020 ST2084 4000 nits, Rec.709, Rec.709 D60 sim., sRGB D60 sim., Raw, Log]

Hi Matthieu,

another non native English speaker here :slight_smile:

I am not familiar with the internals of the OCIO configs. I am merely a user.
I would point you to @Finn_Jager, as he created and modified a lot of OCIO configs to my knowledge.

Best regards,

Daniel

Hey Matthieu,

Perhaps you mean use the same source files as those that come with ACES 1.2?
The ACES 1.3 config uses OCIOv2.x where all the neccesary color spaces are built into OCIO and the .config file itself. The colorspaces and display spaces aren’t dependent anymore on external LUT files. The .config file is really all you need from now on. You can pick the CG config if you’re only doing CGI or the Studio config which includes all the available color spaces that come with that release (cameras etc).

If you’d like to transfer some of the things you’ve done in your ACES 1.2 config like changing the roles you can do so with a text editor. However the color space list will be different as the new OCIO format separates displays from color spaces among other differences. For CG content creation this shouldn’t be an issue I think, as there won’t be scenarios where you’d want to use say “Output - sRGB” as an input space in a material.

Hope that helps.

1 Like

Hi Daniel, Hi Shebbe,

Daniel : Oki, I’ve check and put my fingers inside the OCIO config. I remapped some name like to “Standard” for Blender for the “ACES 1.0 - SDR Video” put the Blender params and it works great. The only thing a quite boring, ACEScct is like the old “Matte Paint 8bits” and not found the “linear_to_sRGB” for the HDR files so I use Raw and seems close but if someone know what is the old “linear_to _sRGB”, I got it. I need also to remap some name to have something close to the name of the ACES 1.2.

Shebbe : Yes it’s working, I used them from ACES 1.2. Great news for all is in the OCIO file now. I use the CG one and for camera, I convert them in Davinci Resolve to EXR or png so I have the “studio profile” directly in Davinci Resolve. Thank also for all the others tips you gave to me. As I found the “Output - sRGB” that I used for 8bits is ACEScct in ACES 1.3, solved my issue.

Right now, my workflow from Substance Painter to Blender, Nuke, Davinci Resolve is optimal and the color is the same, including in the Fusion page using ACES 1.2 as view display + the gamut compression.

Do you have some ressources to learn the OCIO 2.0 / ACES 1.3 format ? I want to learn it and have the possibility to change name and customize it more accuratly than now :wink:

Thank you for all your answers and sorry for the long delay to answer you, my week was heavy on duty (lighting on two movies and one using UE 5.1 and I’m beginner under UE 5.1).

Have a nice weekend,

Matt

1 Like