How to export to Open EXR with alpha chanel without being premultiplied

Participant ,
Nov 14, 2019 Nov 14, 2019

Copy link to clipboard

Copied

How to export to (Open EXR with alpha chanel without being premultiplied)

 

just render to Open EXR with alpha packed up within frame and not being premultiplied?

 

 

Any thoughs?

Ofcourse88
TOPICS
How to

Views

6.3K

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Explorer , Feb 12, 2021 Feb 12, 2021
Sorry, this DID work! I created a script file called EXR.jsx and added the code:var section = "Misc Section"; var pref = "Allow writing straight alpha into EXR"; var type = PREFType.PREF_Type_MACHINE_INDEPENDENT; if(app.preferences.havePref(section, pref, type)) { if(app.preferences.getPrefAsBool(section, pref, type)) { alert("EXR straight alpha pref already set to TRUE."); } else { alert("EXR straight alpha pref was set to FALSE. Setting to TRUE."); app.preferences.savePrefAsBool...

Likes

Translate

Translate
Enthusiast ,
Nov 14, 2019 Nov 14, 2019

Copy link to clipboard

Copied

In AE 2020 you can switch to Straight alpha from premultipled. Previous versions forced you to use premultiplied, because that confroms to the EXR spec.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Jan 29, 2020 Jan 29, 2020

Copy link to clipboard

Copied

I will give it a try the next time, i thank you for now.

Ofcourse88

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Nov 17, 2020 Nov 17, 2020

Copy link to clipboard

Copied

Naah, 2020 still has the dropdown for alpha type grayed out when EXR is selected as the output format 😞

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 10, 2021 Feb 10, 2021

Copy link to clipboard

Copied

hey fnord, can you explain how to enable this straight alpha feature inside AE? I cannot figure it out! Im running latest version of AE 2020. Im even willing to use a different (older) version of after effects to unlock this feature.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Feb 10, 2021 Feb 10, 2021

Copy link to clipboard

Copied

It doesn't work for me either! Did I dream it?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 11, 2021 Feb 11, 2021

Copy link to clipboard

Copied

Hey fnord, 

 

Thanks for your reply! Do you know any way under the sun to export an EXR from After Effects with a Straight alpha channel? Does your ProEXR plugin allow this?

 

Kind regards,

Felix

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Feb 11, 2021 Feb 11, 2021

Copy link to clipboard

Copied

What you're supposed to be able to do is quit AE and then open the AE Prefs file (e.g. Adobe After Effects 17.7 Prefs.txt) navigate to the ["Misc Section"] and … (see additional post below)

 

 

 

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Feb 11, 2021 Feb 11, 2021

Copy link to clipboard

Copied

There is another way to write a straight RGBA file using ProEXR, now built into AE.

 

  1. Drop your final comp into a new comp and duplicate the layer.
  2. For the top layer, apply a Shift Channels with Alpha set to Full On. Keep Red, Green, and Blue as they are. Name this layer RGB.
  3. For the bottom layer, apply Shift Channels with Alpha set to Full On. Set Red, Green, and Blue to Alpha. Name this layer A.
  4. Write the file using Composition > Save Frame As > ProEXR.
  5. In the ProEXR settings, turn off "Include layer composite".
  6. Click the Render button.

 

Obviously this method is much more trouble, but it's there.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Feb 11, 2021 Feb 11, 2021

Copy link to clipboard

Copied

OK, I have the correct answer for you, courtesy friends at Adobe.

 

Quit AE and edit the Prefs file called something like Adobe After Effects 17.7 Prefs-indep-general.txt. In the ["Misc Section"] you want to have this:

 

"Allow writing straight alpha into EXR" = 01

 

You may already have it there, with the value set to 00.

 

You can also run a script like this:

 

var section = "Misc Section";
var pref = "Allow writing straight alpha into EXR";
var type = PREFType.PREF_Type_MACHINE_INDEPENDENT;

if(app.preferences.havePref(section, pref, type))
{
	if(app.preferences.getPrefAsBool(section, pref, type))
	{
		alert("EXR straight alpha pref already set to TRUE.");
	}
	else
	{
		alert("EXR straight alpha pref was set to FALSE. Setting to TRUE.");
		
		app.preferences.savePrefAsBool(section, pref, true, type);
	}
}
else
{
	alert("EXR straight alpha pref not set. Setting to TRUE.");
	
	app.preferences.savePrefAsBool(section, pref, true, type);
}

 

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 12, 2021 Feb 12, 2021

Copy link to clipboard

Copied

Hey fnord!

 

thanks for all these replies. I had the same response from Rameez Khan at Adobe about adding

 

"Allow writing straight alpha into EXR" = 01

But I couldn't make it work. I tried 00, 01, "1" but none of these numbers enabled the straight alpha feature. Did you manage to get this to work in your after effects? Thanks for ur ongoing help!

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Explorer ,
Feb 12, 2021 Feb 12, 2021

Copy link to clipboard

Copied

Sorry, this DID work! I created a script file called EXR.jsx and added the code:

var section = "Misc Section";
var pref = "Allow writing straight alpha into EXR";
var type = PREFType.PREF_Type_MACHINE_INDEPENDENT;

if(app.preferences.havePref(section, pref, type))
{
	if(app.preferences.getPrefAsBool(section, pref, type))
	{
		alert("EXR straight alpha pref already set to TRUE.");
	}
	else
	{
		alert("EXR straight alpha pref was set to FALSE. Setting to TRUE.");
		
		app.preferences.savePrefAsBool(section, pref, true, type);
	}
}
else
{
	alert("EXR straight alpha pref not set. Setting to TRUE.");
	
	app.preferences.savePrefAsBool(section, pref, true, type);
}

 

Then saved it and ran it inside AE and the option is there now! THANK YOU! :)))

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Mar 09, 2021 Mar 09, 2021

Copy link to clipboard

Copied

Works, thanks.

Does any of you know if it is the designed way, or is it just a bug and they will fix it in the futue?

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 09, 2022 Feb 09, 2022

Copy link to clipboard

Copied

Sir, this script is not working in After Effcets 2022 and i also try to run the script in old version i,e. After Effects CS6... Still not working. (Its giving a notification that, an error occured in 3rd line.. I m clueless.. Plz help me out.

Thanks

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Feb 09, 2022 Feb 09, 2022

Copy link to clipboard

Copied

Works as expected for me in 2022. Here's the .jsx file you make. Run it with File > Scripts > Run Script File…

 

This forum wouldn't let me upload a .jsx, so you'll have to take off the .txt part before you try to run it.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Feb 09, 2022 Feb 09, 2022

Copy link to clipboard

Copied

Sir, its so much of help and thank you a lot, its working.. Now i get the
straight(unmatted) option on at the time of exporting. But i am unable to
get alpha channel into the rendered file its still showing the background
but no alpha embedded in it. So is there any setting or something to get
both background and alpha together in the footage without any extra render
pass.
Please guide me one more time.
Thanks

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Feb 10, 2022 Feb 10, 2022

Copy link to clipboard

Copied

LATEST

I'm not totally sure what you're seeing, but if you render your EXR our straight, you also have to interpret it straight when you bring it back in.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Apr 29, 2021 Apr 29, 2021

Copy link to clipboard

Copied

Just came to find out the same thing. Why has this not been addressed yet? Seems like a simple fix. 

There is a caveat to the script file as well - Although the alpha is correctly being exported straight, the flag inside the file is still set to premult so any other software and indeed After Effects will interpret it incorrectly as premult when imported and needs to be manually changed.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Apr 29, 2021 Apr 29, 2021

Copy link to clipboard

Copied

This option is intentionally left hidden because the EXR spec calls for files to be premultiplied. There is no flag in an EXR to mark it as straight.

 

Some people wanted to put a straight alpha in an EXR for whatever reason, so this allows them to do it, but they are responsible for dealing with whatever issues it may cause down the line.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Apr 29, 2021 Apr 29, 2021

Copy link to clipboard

Copied

The reason is quite simple.

With a straight alpha matte you can give the colorist a shot with a matching alpha mask in a single file sequence.

More and more colorists ask for alpha masks for particular objects so they can use it during grading. If we can't save alpha as straight the same process requires two separate file sequences - it's just easier to put everything into one.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Participant ,
Apr 29, 2021 Apr 29, 2021

Copy link to clipboard

Copied

Sure you could say that that's what layers in EXR are for but seriously, extracting layers from an EXR sequence is waaaaaay beyond the capabilities of any colorist I know. You just can't teach them the core concept of layers in a single file 😕 The alpha trick is thankfully something they can use - partly because Resolve does this for them 🙂

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Apr 29, 2021 Apr 29, 2021

Copy link to clipboard

Copied

Right, but EXR was created for use in 3D rendering, where alpha means transparency and renders are premultiplied. Premultiplied is in the spec.

 

I'm glad you're able to write a straight alpha and use it this way, but it was not the intention of EXR. It could also be a little risky because you're not guaranteed to get good RGB pixels in areas where the alpha is 0, but if it's working for you I'm glad.

 

If you think EXRs should support straight alpha, you can make your case to the steering committee.

 

 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
New Here ,
Jun 11, 2021 Jun 11, 2021

Copy link to clipboard

Copied

The part about this being beyond the colorist's ability is not true anymore.    Their support team breaks everything out.    We are getting specs from D.I. houses now that show exactly how to do this in Nuke.     They're giving how-to documentation on multi-layer EXRs with 4 mattes per layer.       After Effects is woefully far behind the industry in this area.    We just got the ability to write timecode reliably in AE 2020.      Really puts AE artitst at a disadvantage here. 

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Enthusiast ,
Jun 11, 2021 Jun 11, 2021

Copy link to clipboard

Copied

After Effects can now export any channels you like in an EXR using Composition > Save Frame As > ProEXR. Granted, it's kind of a hack and doesn't go through the regular AE render queue, and you have to figure out how to set your layers up properly. But it works.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Engaged ,
Apr 30, 2021 Apr 30, 2021

Copy link to clipboard

Copied

Interesting. I've always considered straight alphas to be far superior to premult due to less colour polution in semi-transparent pixels and there's no risk of it being matted with the wrong colour. Premult is pretty terrible when the BG is not a solid colour as well but I suppose this happens less often when coming from a CG render. It surprises me that staright is not written into the spec as an optiona at least rather than the default.

Likes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines