Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Linking 4 Layers scale together

  • Linking 4 Layers scale together

    Posted by Chris Meadmore on August 20, 2020 at 1:27 pm

    Hi, I need help with an if/else expression on 4 layers.

    In this project file I’ve got 4 Headline comps, each containing text layers with auto scaling applied.

    I need to set up an array so they all monitor each other’s scale and adjust to the smallest value. I’ve tried a few if/else expressions but can’t get it working.

    So in HEADLINE 4 – All text layers need to monitor each other’s scale and make sure they’re always consistent with one another.

    What I’ve tried is if/else on each layer’s scale to create a sequence (A -> B -> C -> D -> A) in the hopes that it creates a chain where any change in scale affects the next in the chain till they’re all equal. Not working though!

    Any help would be appreciated.

    https://gofile.io/d/eAFTbO

    Dan Ebberts replied 6 years ago 2 Members · 1 Reply
  • 1 Reply
  • Dan Ebberts

    August 21, 2020 at 12:03 am

    This is kind of hard to explain, but in general, you want to avoid situations where expressions form a feedback loop. For example, expression A uses the output of expression B and expression B uses the output of expression A. That can create an unpredictable situation, where you likely won’t get the outcome you expect. Most of the time it happens when people try to make checkboxes work like radio buttons, but I think what your doing here qualifies as well.

    A safer approach, I(MO, would be to go back to the source for your scale calculations, which I assume might be sourceRectAtTime() expressions for each of your headlines to calculate each scale. Use all four of those in each of your scale calculations and pick the smallest result. Then there’s no feedback loop and the expressions won’t be fighting each other.

    Dan

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy