Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Natural Type-On Expression

  • Dan Ebberts

    October 1, 2017 at 5:05 pm

    Something like this probably:


    minRate = 1;
    maxRate = 2;

    C = comp("chat");
    L = C.layer("Adjustment Layer 1");
    t = L.marker.key("start").time - C.layer(thisComp.name).startTime;
    charCount = 0;
    seedRandom(index,true);
    while (t < time){
    charCount++;
    t += framesToTime(random(minRate,maxRate));
    }
    value.substr(0,charCount)

    Dan

  • Marcelo Cabral

    October 1, 2017 at 6:26 pm

    Hi Dan, It works perfectly. Unfortunately, I have to change some stuff. Instead of referring a name mark I have to refer to several marks in the layer without numbers or names because I have to place several text layers in the final composition all referring to the same layer marks in the outside composition. Is that possible? Thank you, I appreciate your support, Dan.

    Marcelo

  • Dan Ebberts

    October 1, 2017 at 6:37 pm

    Sorry, I’m not understanding what you’re describing.

    Dan

  • Marcelo Cabral

    October 1, 2017 at 6:58 pm

    Hi Dan
    This part of the expression
    t = L.marker.key(“start”).time – C.layer(thisComp.name).startTime;
    is referring one named mark in a layer of an external composition.

    What I need is the expression works without using a “name” of the mark, just the mark. So that way I can use several text layers with the expression and they will be activated when I add more marks to the layer.

    Thank you again

  • Dan Ebberts

    October 1, 2017 at 7:02 pm

    How does the expression know which marker to use?

    Dan

  • Marcelo Cabral

    October 1, 2017 at 7:09 pm

    You completely right, Dan. I will use mark names, that will be better. Thank you again.
    Marcelo

  • Dan Ebberts

    October 1, 2017 at 7:21 pm

    If you’re going to modify each expression, you could also just use the marker index, like this:

    t = L.marker.key(3).time – C.layer(thisComp.name).startTime;

    for example.

    Dan

  • Marcelo Cabral

    October 1, 2017 at 7:23 pm

    Last question Dan.
    In the same way, how can I set up the opacity of a layer (100/0 or on-off) using a named mark in a layer of an external composition. The same like the text but only for opacity property. Thank you.

    Marcelo

  • Marcelo Cabral

    October 1, 2017 at 7:45 pm

    That will better Dan. Thank you.

  • Sher Safi

    February 17, 2018 at 10:37 am

    Awesome expression, Dan.

    Is there a way to add a Blinking cursor? that would be nice.

    I also have the below expression which has the cursor but only would’ve been better if it had a random feeling to the typing effect.

    L = text.sourceText.length;
    T = time*effect("Speed")("Slider") - effect("Start At")("Slider")*effect("Speed")("Slider");
    F = Math.round(time % 1);

    if(F == 1 | (T0) ){Fl = "|";}else{Fl=" ";}

    substr(0,T) + Fl

Page 2 of 4

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