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?
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
...
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.
Copy link to clipboard
Copied
I will give it a try the next time, i thank you for now.
Copy link to clipboard
Copied
Naah, 2020 still has the dropdown for alpha type grayed out when EXR is selected as the output format 😞
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.
Copy link to clipboard
Copied
It doesn't work for me either! Did I dream it?
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
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)
Copy link to clipboard
Copied
There is another way to write a straight RGBA file using ProEXR, now built into AE.
Obviously this method is much more trouble, but it's there.
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);
}
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!
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! :)))
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?
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
Copy link to clipboard
Copied
Copy link to clipboard
Copied
Copy link to clipboard
Copied
I'm not totally sure what you're seeing, but if you render your EXR out straight, you also have to interpret it straight when you bring it back in.
Copy link to clipboard
Copied
Hello,
Your script is good, thanks ! But, I have the same problem here.
I would like to export an EXR including both RGB and alpha (I have a phone overlay layer, with a finger rotoscoping layer on top and a background underneath). However, I can't decide between the alpha of the phone layer and my final composition when I import it into Davinci, when it should be an EXR multichannel. Could you enlighten me please? 🙂
Cordially
Copy link to clipboard
Copied
Yeah, sounds like you have multiple layers and want to make a multichannel EXR using Composition > Save Frame As > ProEXR.
Copy link to clipboard
Copied
Hello, thanks for your answer ! Yess, I would like to do that but when I import my EXR exported according to this method I only have one RGB layer without the alpha, all my layers are grouped and I cannot choose to display only the alpha of my phone's layer.
Copy link to clipboard
Copied
You can import your EXR as a composition and all the channels will be available to you via the EXtractoR plug-in. You can also get a menu item to do it as described in this post.
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.
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.
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.
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 🙂