FORUMS: list search recent posts

Reference expression time issues

COW Forums : Adobe After Effects

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
Vincent Rikkers
Reference expression time issues
on Nov 13, 2017 at 2:39:24 pm

Hi all,

I ran into a very annoying problem which I feel never used to be an issue before.

The situation is like this:

I have a main composition which holds several sub compositions and a 'controller' layer. On this controller layer are some slider controls. The sub comps all start at different times in the main comp, since some need only contain a short animation. Some of these sub compositions contain effects that I connected to the controller layer in the main comp using the expression below. So far, so good.

5*comp("HOA2 - Intro").layer("Distortion Control").effect("Distort")("Slider")

Now here is the weird part (since cc 2018, maybe?):

At 0:00:04:18, I change the value for one of sliders (let's say: "distort") on the controller layer in the main comp from 0 to 50.
Now, one of the sub comps starts at 0:00:05:07. It stands to reason that the referenced slider amount should now be 50, as it is in the main composition.
It is not, however. Somehow, the reference layer decides it doesn't inherit the current time from the main comp, but counts from 0. In other words, its value switches from 0 to 50 at 0:00:04:18 into the composition. Which, in the main composition is 0:00:04:18 + 0:00:05:07 = 0:00:10:00 (framerate = 25).

Absolutely not what I mean to achieve, and it doesn't make any sense. It feels like there should be a switch somewhere which I'm not switching, but I'm at a loss.

Does anyone have any idea how to help me out?

Return to posts index

Walter Soyka
Re: Reference expression time issues
on Nov 13, 2017 at 5:09:49 pm

Synchronizing time across compositions with expressions does not happen automatically. If you're referring to another comp which is running on a different colock, you need to accommodate this offset with .valueAtTime(). Something like this ought to work:

offset = framesToTime(5*25 + 7);
5*comp("HOA2 - Intro").layer("Distortion Control").effect("Distort")("Slider").valueAtTime(time+offset);

Walter Soyka
Designer & Mad Scientist at Keen Live [link]
Motion Graphics, Widescreen Events, Presentation Design, and Consulting
@keenlive [twitter]   |   RenderBreak [blog]   |   Profile [LinkedIn]

Return to posts index

Vincent Rikkers
Re: Reference expression time issues
on Nov 14, 2017 at 10:13:12 am

Thanks for your quick reply, Walter.

I'm going to try this, asap and let you know if it worked.

It does still feels very counter intuitive (it's kind of the whole point of creating a controller in a parent comp, no?) for the expression not to follow the clock of the comp that contains the referenced source. It would also mean having to manually change the offset every time I move the layer around on the timeline, which pretty much defeats the purpose of automating the whole thing in the first place.

Either way, thanks. Can't believe I haven't ran into this before.

Return to posts index

<< PREVIOUS   •   VIEW ALL   •   PRINT   •   NEXT >>
© 2019 All Rights Reserved