Expressions to apply adjustment over multiple comps?
by Lawson Deming
on
Jun 25, 2008 at 8:59:52 pm
I'm doing beauty work on a music video that requires a number of masked adjustment layers applied to each shot (grain reduction, selective color correction, etc.) There are around 50+ shots that all need the same work done on them - the only difference between the shots is that the masks for each adjustment layer have to be keyframed differently because the artist is moving around differently in each shot.
Each shot is its own composition right now - its no problem for me to simply copy the adjustment layers from one comp to another and re-keyframe the masks, but there is a potential problem if any of the effects end up getting changed...
If, for example, the director decides to tweak the eye color again after I've done work on all 50+ clips, I have to go back into every single composition and change eye color adjustment layer values - I'm making the exact same change 50+ times. Then if he changes his mind and wants to go back, its the same thing all over again. Instead of wasting time doing this, I'd like to be able to change the value once and have it affect everything.
It seems to me that there should be some way to make a separate Precomp for each of the adjustment layers and then link to those precomps in every shot composition. Then, if I need to change the eye color by five points or change the grain reduction to make it a little bit softer, I just go into the appropriate precomp and change the adjustment layer and 'bam' - it applies that change to every shot comp that references that precomp.
Obviously, the problem with this idea is that precomps are specifically designed to keep the adjustment layers within them confined to the precomp. They don't carry over to the compositions that reference them. That's often the point of precomposing something. So, if I were to create a precomp that contained only an adjustment layer and I called on that precomp from one of my shot layers, I'd essentially be bringing in an empty layer.
Is there any way to use an expression to do what I need it to do? Each adjustment layer is exactly the same in every shot - I want to change it once and have it apply to everything. I could simply dump all the shots into one comp and lay a single adjustment layer over all of them, but then the problem is that I'm stuck trying to manage a huge timeline and I also need to create tons of tracking layers and mask keyframes. I'd rather keep each shot as its own composition so that everything is clean and manageable.
A couple people suggested that there may be a way to do this with expressions. What do you think?
Re: Expressions to apply adjustment over multiple comps? by Mike Clasby on Jun 26, 2008 at 12:05:17 am
This should work. Link the effects back to an Adjustment layer in a comp named Control, then make a preset so you apply the setup easily to new or existing layers.
Make a comp named Control. Add an Adjustment Layer. Add the Effects you want to control. I used Remove Grain and Color Balance when testing.
Now's the tedious part. For every parameter you want to control in the other comps, we need to link them back to the Control Comp, but we really only need one since we can make a preset from that, then apply it anywhere we want.
In one of the comps to be controlled, click an effect, say Remove Grain,
then twirl down and Alt_Click the parameter you want to control, I opened Noise Reduction setting to get to- Noise Reduction. Alt_Click the Noise Reduction Stopwatch, then pickwhip (looks like an "@", middle of three boxes) to the Noise Reduction of that Adjustment Layer in the Control Comp. You'll probably need to pickwhip to the effects palette or drag the comps apart in the timeline. Anyway you get an expression like this:
I did it for all ten stopwatches in the effect, Color Balance.
When you get one of the layers completely linked back to the controller via expressions, then select the Effects in that layer you want to make a preset of, Remove Grain and Color Balance in the test, then click, Animation>Save Animation Preset... give it a name.
You can now apply that preset to any layer you want to control with the Adjustment layer in the layer named Control, and the effects will be applied, with the expressions to link them up.
Unfortunately, there is one little catch, some effects even though they have stopwatch cannot accept expressions, like Levels and Adjust Hue Saturation, so it's a no-go for those.
Re: Expressions to apply adjustment over multiple comps? by Lawson Deming on Jun 26, 2008 at 4:48:02 am
Thanks for the advice. Sounds like it will work well for me, despite the fact that some of my layers (such as hue) may need to be tweaked manually if they don't transfer over, as you mentioned.