Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Different start times for synced attributes

  • Different start times for synced attributes

    Posted by Liam Solley on December 9, 2020 at 6:58 pm

    Hi all!

    Just a warning I’m very new to expressions, so while I couldn’t find this answer myself if this is a dumb question I apologize.

    Is there a way to set an expression where, say I’ve linked one attribute to another using the picwhip, the linked attribute only begins to sync with the master attribute at a certain point?

    The example I am using this for is I want to sync three strokes, so have keyframed the end of the stroke to animate but need the other two to start the same animation in sync but from a different point, if that makes any sense.

    Thank you! Any help would be appreciated 🙂

    Campion Kirkham replied 5 years, 9 months ago 2 Members · 1 Reply
  • 1 Reply
  • Campion Kirkham

    December 9, 2020 at 8:02 pm

    Not sure if this is what you’re asking, but two possible options come to mind. If you have 3 strokes with trim paths on them, and you want stroke A to animate its end from 0% to 100%. Strokes B and C you want to sit at 50% until stroke A has reached 50% then animate the end using the same value as stroke A. You can achieve this using clamp which will keep your value in a given range. Your expression on the end value of strokes B and C would look like this:

    clamp(pickwhipedEndValueOfStrokeA, 50, 100);

    The first argument is the value you want to clamp, the second is the lowest you’d like the value to go, and the third is the highest you want the value to go.

    The other option, if you have 3 strokes with trim paths on them, and you want stroke A to animate its end from 0% to 100%. This time you want strokes B and C to animate on from 50%-100%, but you want them to be animating the entire time (You don’t want them to sit at 50% until stroke A gets there, you want them to be at 50% when stroke A is at 0% and then they all reach 100% at the same time.) You can achieve this using linear which will remap a value range. Your expression on the end value of strokes B and C would look like this:

    linear(pickwhipedEndValueOfStrokeA, 0, 100, 50, 100);

    The first arguments is the value you want to remap, the second is the one end of your input value, the third is the other end of your input value, the fourth is one end of your output value, the fifth is the other end of your output value.

    Hope that helps!

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