Forum Replies Created

Page 1 of 3
  • Griffin Englander

    June 4, 2025 at 1:49 am in reply to: Is there a better way? (if else stuff)

    Thanks Adam, I’ll take a look!

  • Griffin Englander

    November 7, 2024 at 2:39 am in reply to: Offset animation, then loopOut.

    Thank you, Yoan. Legend

    I can make that work.

  • Griffin Englander

    November 7, 2024 at 12:55 am in reply to: Offset animation, then loopOut.

    Thanks guys.

    Hi Yoan! It’s a value of 1 in this case mate.

    Dan, I’ll try and explain a little better.

    I have a tall strip of numbers pre-comped (think an odometer), and this precomp has 3 keyframes on its Y position. Say two keyframes to go from 0 – 100, then a third keyframe to dictate the pause before loopOut(“offset”) comes in and exponentially cycles the animation.

    What I’m hoping for, is to use another slider to offset the point at which that whole animation starts.

    Sorry if that’s even less clear, but thank you for helping.

  • That’s done it. Thanks Dan!

  • You’re sick, Dan. That works, thank you!!

    Is there a way to have the original keyframes have no affect, until the first ‘L_’ in point? Almost like that triggers the first increment of animation?

    No worries if not, this works better than I imagined it would.

    Thanks,

  • Griffin Englander

    October 10, 2019 at 11:45 pm in reply to: Is there a better way?

    Thanks mate, nice solution!

    That’s kinda where I started, I was just trying to avoid having to animate the slider in-case it goes into Premiere.

    NumKeys is definitely cleaner though, thankyou!

  • Griffin Englander

    July 10, 2019 at 6:11 am in reply to: Adaptive position based on sourceRectAtTime?

    What speed is the start of the animation? If it’s fast you can probably get away with only activating the layer when it’d be visible.

    Or, I’m not sure how you’ve set-up the box, but you could do a little anchor point animation on the text to gradually/ noticeably offset the text without affecting your position animation/ bounce.

    Just some quick, tired thoughts.

  • Griffin Englander

    May 7, 2019 at 11:46 pm in reply to: sourceRectAtTime + scale?

    Hey Kieran,

    You basically have to take the width and multiply it by your scale.

    Try this..

    myLayer = thisComp.layer("Name");
    rectHeight = myLayer.sourceRectAtTime().height;
    widthTemp = myLayer.sourceRectAtTime().width;
    rectWidth = (widthTemp*myLayer.transform.scale[0])/100;
    rectLeft = myLayer.sourceRectAtTime().left;
    rectTop = myLayer.sourceRectAtTime().top;
    xPos = myLayer.toComp(myLayer.anchorPoint)[0];
    x = rectLeft + xPos + rectWidth +50;

  • Hey Benjamin,

    If you pre-comp your transitions between your frames, then add markers to each final position (ie. page1, 2 etc)

    Then in your main comp, apply those markers to your PreComp (Just add a layer marker, right click and select ‘Update Markers From Source’).
    Then, add your slider, and add the below expression to TimeRemapping, and repeat the pattern until you get your 12.

    Just make sure your last value in if else (what’s 5.001 in this example) is anything higher than 12, otherwise it might break.
    NB. this expression has the Slider starting on 1. So 1 for page/frame 1.

    Does this make any sense? Apologies for the messy expression.

    s = effect("Slider Control")("Slider");
    p1 = thisLayer.marker.key("Page1");
    p2 = thisLayer.marker.key("Page2");
    p3 = thisLayer.marker.key("Page3");
    p4 = thisLayer.marker.key("Page4");
    p5 = thisLayer.makrer.key("Page5");
    L1 = linear(s,1,2,p1.time,p2.time);
    L2 = linear(s,2,3,p2.time,p3.time);
    L3 = linear(s,3,4,p3.time,p4.time);
    L4 = linear(s,4,5,p4.time,p5.time);
    if (s > 0.999 && s <1.999) {L1
    } else if (s>1.999 && s<2.999) {L2
    } else if (s>2.999 && s<3.999) {L3
    } else if (s>3.999 && s<5.001){L4
    }

  • Sorry, that expression should go on TimeRemap on your PreComp.

Page 1 of 3

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