Is there a way to affect all the layers of a multichannel EXR?

Hi All,

I have a multichannel EXR from CG. I want to do some transformation to parts of the image - stuff I’d typically do in Action with images and GMasks. Is there any way to do this on the EXR itself so that it is applied to all the passes, or do I have to do each pass individually?

Thanks!

Andy

There is no (good) way. Fire up fifty 2D Transforms with w-links. (hacky post-script pro-tip: the matte inputs of the 2d transform behave the same as the fronts, so you can pipe RGB layers through them with no issue should you want to use half as many nodes)

I could have SWORN there was a FR asking for this, but I can’t find it.

Multi-channel in general has a long way to go. I can only imagine how much spaghetti I could avoid if I could tuck various channels back into the main flow and pull the m out only when I need them. I had a FR for that complete with mockups of a giant spaghetti piece running between special Mega-Mux nodes, but it’s been many years and the FR site does not remember my dreams.

1 Like

Not sure if it works or what you want to achieve, but maybe you can do some TL FX on Clip Level?
But I assume, that it only affects the RGB layer.

I can’t tell if you want to grade (image and gmask) or if you want to apply a transform to all the channels. If you just want to transform, maybe just do it in Nuke?

Thanks everyone. That’s kinda what I thought, too.

Do you want re-export the exr again with your transformations, a kind of quick edit? or is it for exr comp workflow?

It’s for the comp. There’s a logo as part of the CG, and I might need to nudge parts of the logo - re-kern in the comp because it’s a long CG render.

Interesting. The 2d matte thing is one of those behaviors I’d wondered about but never actually tried. It’s so on brand for flame though that I sort of imagine it is inadvertent and will be ‘fixed’ at some point.

Following up on @ytf ‘s tip about matte inputs only respecting the blue channel, what would we think about a feature request that would amount to a node-level ‘separate’ type behavior, where you could specify R/G/B/lum/passthru in the node setup panel for input and output?

1 Like

What I do is precomp in several stages using actions for every general task, adding an special output premultiplied. Keeping the right premult/unpremult workflow, you will be able to expand and add intermediate nodes as much as you need until the last node to make final comp over the background. The point is create a “beauty” layer premulted. Comp in “parallel” way (linking nodes) can be extreamly hard. I did this sometimes and it becomes crazy.

But I’m not sure if it’s the answer that you are looking for :thinking:

1 Like

Thanks man!

This is exhibit A why people use nuke to comp CG

Perhaps I’m missing the obvious, but unless the nudging you need to do has to happen on every layer of your breakout pre-recombining them into your own bty then why can’t you just tweak the rendered bty, alpha and z-depth (or whatever other aovs you may need), rather than dick around with every layer cg put out. You most likely can do all the work in a single action, inputting the required layers 1:1 into action layers, link your transforms, nudging a and whatnot, and output separate comps per layer from action.

It’s not elegant but it works. Things are much more of a pain if it needs to be tweaked around in the breakout… and of course, if you can’t do the nudging you need to do in a single action, well, that’s also a pain and like other folks mentioned, Nuke starts looking much better.

Thanks, Chris. It’s a bunch of passes for CG water. They rendered it without a camera move, and I’m projecting it/diffuse map onto an animated alembic. Each of the passes that I used had to go into an action to get slapped on the alembic, and that action has like 10 outputs to create moving CG passes.

I don’t think I could make a master beauty pass because pretty much each pass has to do some combo of Add/Screen/CC over the bg plate, but I could be wrong.

Some of the CG water was a logo, and I needed to kern the logo, so I build a group with a custom UI (1 in, 1 out) that fed a pass into an action to do the nudgery, and I put a copy of that group on each pass.

Sufficed to say, I’m gonna put in a feature request for better handling of multichannel EXRs!

Thanks for the suggestions everyone!

1 Like

So, just because I can’t let things go. I loaded up a multichannel, added the bty as a front and back in action. Inside action I added a layer for the back and one for the front, gmasked out a logo on the speaker in the image, added a diffuse map for the layer one image and moved it in x so the logo wasn’t visible.

In the output menu, added a uv output and enabled all objects. Added a matte output and enabled all objects. Then after negating the matte output I added a uvwarp, connect the uv, the next layer set in the exr and the output matte. I then duped that setup 11 more times after link the dupe to the original and connected up my other 10 layers.

They all move and tweak based on the original action…

So not the smoothest but manageable… and maybe faster than 11 actions. Who knows.

3 Likes

Thx man!!

1 Like

I guessed that the question was harder than it looked. :grinning: I can’t think in any way to do it in flame. If you can use nuke, you can open the exr and apply a transform + mask using ‘transformmasked’ node (or something similar) and apply that transformation to all channels, and re-export. The node apply the transform to all channels automatically only selecting “all channels” in the way that you are looking for (I think). If you can use other effects (blur, color, etc) in a generic way, most of the nodes can propagate and apply in one click the effect to all channels.

1 Like