Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Animate without Keyframes

  • Animate without Keyframes

    Posted by Roy Metni on June 4, 2017 at 10:51 am

    usually i animate an object without keyframes using this expression :

    ease(time,inPoint+0,inPoint+1,[0],[value]);

    how to apply the effect of the expression below to the above

    amp = .1;
    freq = 1.0;
    decay = 4.0;
    n = 0;
    if (numKeys > 0){
    n = nearestKey(time).index;
    if (key(n).time > time){
    n–;
    }}
    if (n == 0){ t = 0;
    }else{
    t = time – key(n).time;
    }
    if (n > 0){
    v = velocityAtTime(key(n).time – thisComp.frameDuration/10);
    value + v*amp*Math.sin(freq*t*2*Math.PI)/Math.exp(decay*t);
    }else{value}

    Vadim Chernous replied 8 years, 4 months ago 3 Members · 2 Replies
  • 2 Replies
  • Michael Szalapski

    June 7, 2017 at 9:40 pm

    The second expression requires keyframes.
    You cannot use the two of them together.

    – The Great Szalam
    (The \’Great\’ stands for \’Not So Great, in fact, Extremely Humble\’)

    No trees were harmed in the creation of this message, but several thousand electrons were mildly inconvenienced.

  • Vadim Chernous

    May 17, 2018 at 5:56 pm

    Animation without keyframes
    ________________________________
    1) Create Null with name = “Control”;
    2) Create two sliders control: 1 – “Start Number”, 2 – “End Number”;
    3) Create text layer and paste expression;
    4) Create one marker on your text layer;
    That’s all, Cheers ☺
    _________________________________
    startCount = thisComp.layer(“Control”).effect(“Start Number”)(“Slider”);
    endCount = thisComp.layer(“Control”).effect(“End Number”)(“Slider”)*1000;
    var num = Math.round(linear(time,inPoint,marker.key(1).time,startCount,endCount))
    num = Comma(num);
    [num]

    function Comma(number)
    {
    number = ” + Math.round(number);
    if (number.length > 3)
    {
    var mod = number.length % 3;
    var output = (mod > 0 ? (number.substring(0,mod)) : ”);
    for (i=0 ; i < Math.floor(number.length / 3); i++)
    {
    if ((mod == 0) && (i == 0))
    output += number.substring(mod+ 3 * i, mod + 3 * i + 3);
    else
    output+= ‘,’ + number.substring(mod + 3 * i, mod + 3 * i + 3);
    }
    return (output);
    }
    else return number;
    }

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