Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Question about text effects while using expressions

  • Question about text effects while using expressions

    Posted by Yassel Quijano on October 3, 2019 at 1:04 am

    Hello everyone!!

    I am trying to replicate an effect I saw today, hoping to create a template so I can type any given message on a text layer and not having to worry about changing any of the effects applied to it.

    I currently have a text and a dynamic shape which changes size based on the text length. Basically the shape adapts to the text thanks to an expression I added to the layer.

    The effect I am trying to achieve is to reveal each character at a time, from the first letter to the last one. The few tutorials Íve found to animate text, keeps the ¨frame¨ of the text the same size of the full sentence, which means the expression keeps the shape size to that of the text frame.

    Is there a way to reveal each character in a way so the expression adjust as each character appears?

    Yassel Quijano replied 6 years, 7 months ago 2 Members · 2 Replies
  • 2 Replies
  • Cassius Marques

    October 3, 2019 at 2:17 pm

    Yes, you just have to use the same variable you’re using to reveal the text in a linear expression controlling the size of the shape from 0% to whatever you’re getting from the shape’s size calculation’s expression.

    something like this: 13769_textrevealshape.aep.zip

    Cassius Marques
    http://www.zapfilmes.com

  • Yassel Quijano

    October 4, 2019 at 12:42 am

    Thank you so much Cassius. It worked perfectly! There’s a minor alignment thing happening when I change the text, but personally I don’t care, the most important thing is that your solution works like a charm.

    I had previously used this expressions, which didn’t do what yours do.

    Under the Rectangle Path:
    s=thisComp.layer(“Main Text”);
    w=s.sourceRectAtTime().width;
    h=s.sourceRectAtTime().height;

    [w,h]

    Then this expression under the Rectangle Position after aligning the rectangle with the text’s left border:

    s=thisComp.layer(“Main Text”);
    w=s.sourceRectAtTime().width/2;
    h=s.sourceRectAtTime().height/2;
    l=s.sourceRectAtTime().left;
    t=s.sourceRectAtTime().top;

    [w+l,h+t]

    You are a genius!

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