Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Optimizing animations (link keyframes and markers)

  • Optimizing animations (link keyframes and markers)

    Posted by Rafael Braz on July 28, 2016 at 8:48 pm

    Hi, there!

    So, I’m working on a project that I have to replicate a lot of animations so I was searching for a way to optimize it.
    Here’s the thing.

    This is a shape layer, the first line is a path animation, the second and third are a transform shape animations (scale & rotation).
    I want to link the “in” and “out” animations to a marker so I can make it last as long as I need.
    It should work like the “Animation Composer” marker: the beggining (and the ending) of the layer is always when the animation begins (and ends), so, when I adjust the marker, the “in” and “out” animations would last as much as I drag the marker.
    The other thing for the pink keyframes is that I want to edit the first one and I want the second one to imitate it.

    The way I’m working now I have to edit both first and last pink keyframes equally to make it work.
    And drag all these “in” and “out” keyframes to adjust timming.

    I’m not sure if this is too much complicated, I think it’s doable but I have no expression skills at all.
    I’ve tried to research but it’s too specific.

    Thanks in advance!

    Doni Donovan replied 9 years, 9 months ago 2 Members · 1 Reply
  • 1 Reply
  • Doni Donovan

    July 29, 2016 at 3:21 am

    lol that is exactly what I looking for!
    i just try to pre compose all then use this expression on time remapping. but it only work for out transition

    fadeFrames = 60;
    n = 0;
    if (thisComp.marker.numKeys > 0){
    n = thisComp.marker.nearestKey(time).index;
    if (thisComp.marker.key(n).time <= time){
    n++;
    if (n > thisComp.marker.numKeys) n = null;
    }
    }
    if (n > 1){
    if (thisComp.marker.key(n).comment == "OUT")
    ease (time,thisComp.marker.key(n).time - framesToTime(fadeFrames),thisComp.marker.key(n).time,2,0)
    else
    0;
    }else{
    if (n == null) 0 else 2
    }

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