ADOBE AFTER EFFECTS: Forum Expressions Tutorials Creative Cloud

Cross-Composition Time Transformations

COW Forums : Adobe After Effects Expressions

<< PREVIOUS   •   FAQ   •   VIEW ALL   •   PRINT   •   NEXT >>
Kyle Sorenson
Cross-Composition Time Transformations
on Jun 28, 2010 at 11:50:35 pm


I've been doing a lot of thinking about cross-comp timing transformations and the issues they create.

When you link parameters from a "slave" comp to an a "master" comp, After Effects translates the timecode of one composition to the other linearly - i.e. if you trigger an animation in the master comp at the 4 second mark, the slave comp will start to animate at 4 seconds. Intuitive enough...

This starts to become interesting when you nest the slave comp and offset its starting point. After Effects takes the offset into account. So if your slave comp starts at 1 second, the start of animation will also be shifted 1 second (in the above example, the animation would start at 5 seconds). Again, this still makes sense...

But I'm looking for a way to BYPASS these transformations.

There are many cases where I'd like After Effects to ignore the offset. If the master comp triggers an animation at 4 seconds, I want the slave comp to start to animate at 4 seconds, regardless of whether I've offset its in point. I don't want the slave comp to take into account when the animation was triggered in the master comp.

In this particular hypothetical, I could write an expression that calculates the offset and accounts for it... but it gets much more complicated when you start dealing with time remapping the slave comp.

Is there an function that can pull the current position of the composition playhead? Seems like an expression like "comp("master").valueAtTime(PlayheadPosition) might be what I'm looking for.

Is this even possible to fix? Am I crazy for thinking this? It seems like there should be some sort of "collapse time transformations" switch.

Thanks for any help,

- Kyle

Return to posts index

Dan Ebberts
Re: Cross-Composition Time Transformations
on Jun 29, 2010 at 12:24:26 am

It gets pretty weird in a hurry. As you've discovered, you can do something like this to match up the times (assumes the position of the layer with the expression is linked to "Layer 1" in "Main Comp":

C = comp("Main Comp");
offset = C.layer(;
C.layer("Layer 1").transform.position.valueAtTime(time + offset)

If you throw time remapping into the mix though, I think that really complicates things.


Return to posts index

Kyle Sorenson
Re: Cross-Composition Time Transformations
on Jun 29, 2010 at 12:40:29 am

The thing is, that sort of expression is like pouring dirt into filtered water. If all you wanted was dirty water, you should have grabbed some from the river before it was run through the filter (OK... perhaps not the most apt analogy).

Seems like there must be a way to access parameters prior to After Effects performing all of these pesky time transformations on them.

Return to posts index

Gordon Glenn
Re: Cross-Composition Time Transformations
on Jun 27, 2017 at 11:43:44 pm

Thank you so much!! This worked for me after 5 hours of Googling without success. It's the best way to fix your pre-comp's expression misinterpreting the keyframes from the master start time to make it match. I'm saving this one for sure!

Return to posts index

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