Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Offset child by 2 frames

  • Offset child by 2 frames

    Posted by Chris Noll on March 26, 2009 at 5:32 pm

    So i have a logo with 9 letters from illustrator. Each letter has 3 ill. layers (letter, stroke, bigger stroke) I am doing a simple animation where each letter comes toward you in z and both strokes are parented to the letter. Now I want the strokes to hesitate for a few frames before each of them move. I tried some effects, nothing really worked, time re-mapping neither since the strokes have no keyframes. so I have been trying to do it with expressions, but have had no luck. Any tips, pointers, or directions to a tutorial would be appreciated.

    TIA,

    Chris

    Let me add this is what i have right now…

    thisComp.layer(14).position.valueAtTime(time-10)

    but I only want the “Z” position?

    Chris Noll replied 17 years, 5 months ago 2 Members · 4 Replies
  • 4 Replies
  • Kevin Camp

    March 26, 2009 at 6:10 pm

    if you only wanted the z position to change something like this may work:

    z = thisComp.layer(14).position.valueAtTime(time-10)[2];
    value+[0,0,z]

    in the first line ‘z’ is set as layer 14’s z component by adding the [2]. if you wanted just the x component it would be [0], the y component would be [1]…

    the second line just adds layer 14’s z component to the current x,y,z value of the layer.

    Kevin Camp
    Senior Designer
    KCPQ, KMYQ & KRCW

  • Chris Noll

    March 26, 2009 at 6:11 pm

    Sorry kevin, that was a mistake…I am no longer doing a simple z move, it’s now a faily complex scale, position and rotation combination and all of that needs to delay…..

    Thanks though

  • Kevin Camp

    March 26, 2009 at 6:41 pm

    you’re still probably looking at a valueAtTime expression for each of the properties that needs to delay.

    you might want to link the delay to a single slider control (expression control effect) so that all the properties can be controlled by the same offset value. that value could then be animated, it could start at 0 so all layers work in sync, then the value could change and the layers would start to drift out of sync… i would add the slider control to the ‘parent’ layer 14, but you could set a control null…

    so you could remove all ‘parenting’ (i’m not sure if you meant the parenting function in ae, or just parenting through expressions, if it was ae parenting, you’ll want to remove it).

    for scale the expression might look like this:

    offset=thisComp.layer(14).effect(“Slider Control”)(“Slider”)*thisComp.frameDuration; // value in # of frames
    thisComp.layer(14).transform.scale.valueAtTime(time-offset);

    for rotation:

    offset=thisComp.layer(14).effect(“Slider Control”)(“Slider”)*thisComp.frameDuration; // value in # of frames
    thisComp.layer(14).transform.rotation.valueAtTime(time-offset);

    for position:

    offset=thisComp.layer(14).effect(“Slider Control”)(“Slider”)*thisComp.frameDuration; // value in # of frames
    thisComp.layer(14).transform.position.valueAtTime(time-offset);

    Kevin Camp
    Senior Designer
    KCPQ, KMYQ & KRCW

  • Chris Noll

    March 27, 2009 at 10:07 pm

    I thought it was something like that, after tinkering a bit i found that my original line of text had been scaled (but the strokes hadn’t?) it was very odd… so i re-imported the whole file and started over…10 minutes later.Done! 8 hours of kicking myself….

    Thanks Kevin!

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