Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Follow the Leader Expression–Only on one axis

  • Follow the Leader Expression–Only on one axis

    Posted by Thomas Downs on September 18, 2006 at 4:03 pm

    This well-known expression makes a layer ‘follow the leader.’ It works on both X and Y. How do I restrict it to only the X dimension?

    delay = 5; //number of frames to delay

    d = delay*thisComp.frameDuration*(index – 1);
    thisComp.layer(1).position.valueAtTime(time – d)

    Cheers!

    Jason Mika replied 18 years, 5 months ago 6 Members · 6 Replies
  • 6 Replies
  • Mylenium

    September 18, 2006 at 4:35 pm

    You simply extract it by accessing the array it is stored in 😉

    thisComp.layer(1).position.valueAtTime(time – d)[0]

    Mylenium

    [Pour Myl

  • Richard Powell

    September 18, 2006 at 5:20 pm

    Hey Mylenium, that was me (govinda) using an old account out of desperation.

    That line of code gives me an error when I replace my second line with it. ‘Expression result must be of dimension 2, not 1. Error occurred at line 0.’

    Is there more to this?

  • Dan Ebberts

    September 18, 2006 at 5:26 pm

    This should do it:

    d = delay*thisComp.frameDuration*(index – 1);
    p = thisComp.layer(1).position.valueAtTime(time – d);
    [p[0],value[1]]

    Dan

  • Mylenium

    September 18, 2006 at 6:47 pm

    Yeah, sorry for being so ominous. Dan has already provided the full code, so go, get it. ;O)

    Mylenium

    [Pour Myl

  • Dave O’dowd

    November 9, 2006 at 4:59 pm

    Hey all,
    I’m trying to use this expression to create a herd of caribou following a leader along the x-axis of my comp, but when I apply the expression I get the error “no property or method named delay”, any suggestions?

  • Jason Mika

    February 14, 2008 at 9:28 pm

    I know this is an old post but just in case you are here
    looking for the answer to the last post.
    The reason for the error “no property or method named delay”
    is the fact that the delay needs to be defined in able to use it in an array.

    delay = 5; //number of frames to delay

    d = delay*thisComp.frameDuration*(index – 1);
    p = thisComp.layer(1).position.valueAtTime(time – d);
    [p[0],value[1]]

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