Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Expressions Animating text, by character AND by word

  • Animating text, by character AND by word

    Posted by Christopher Rutherford on April 26, 2021 at 6:39 pm

    So I’ve got a lot of text that I’m trying to animate in by marker. I was wondering if there was a way to configure it such that each layer marker triggers an animation for a word, but that individual word animates in randomly per character.

    For example, in the text layer “ROSES ARE RED”
    Marker one would trigger animation for S then O, then R, then S, then E

    Marker two would trigger R, then A, then E

    Marker three would trigger R, then D, then E

    Is this even possible? Is this a dream unreachable?

    priscila johanna replied 5 years, 2 months ago 3 Members · 5 Replies
  • 5 Replies
  • Filip Vandueren

    April 27, 2021 at 12:20 pm

    There’s probably a complexer way to calculate it all within 1 expressionselector, but you could do this more easily with 3 range selectors:

    1 random transition,

    1 to “protect” words that have already been revealed

    1 to keep hidden words that should not yet be revealed.

    See attached project.

  • Christopher Rutherford

    April 27, 2021 at 5:16 pm

    Incredible. Would never have thought to do it like that. Thank you so much.

  • priscila johanna

    June 24, 2021 at 3:04 am

    Hello, very good, this code I congratulate you, maybe you can help me (image attached) I want to have that result but with lines of texts, how can I do it, I only have the code that is here

    m = thisLayer.marker;

    i = m.nearestKey (tiempo) .index;

    if (m.nearestKey (hora) .hora> hora) {i–;}

    si (i <1) {i = 1};

    I–;

  • Filip Vandueren

    June 24, 2021 at 9:55 am

    Your setup is a bit different than Christopher, because the sourceText is changed by the markers.

    maybe you can try something like this:

    (Copy and paste this onto the selected text-layer, it is not an expression)

    Adobe After Effects 8.0 Keyframe Data
    Units Per Second 25
    Source Width 1
    Source Height 1
    Source Pixel Aspect Ratio 1
    Comp Pixel Aspect Ratio 1
    Text Animators Animator #2 Selectors Range Selector #1 Offset #3
    Frame percent
    -100
    Expression Data
    m = thisLayer.marker;
    i = m.nearestKey(time).index;
    if (m.nearestKey(time).time > time){ i--;}
    linear(time,m.key(i).time, m.key(i).time+0.5,-100,100);
    End of Expression Data
    Text Animators Animator #2 Selectors Range Selector #1 Advanced Ease Low
    Frame percent
    60
    Text Animators Animator #2 Selectors Range Selector #1 Advanced Randomize Order
    Frame
    1
    Text Animators Animator #2 Selectors Range Selector #1 Advanced Shape
    Frame
    2
    Text Animators Animator #2 Properties Opacity
    Frame percent
    4
    Text Animators Animator #2 Properties Position
    Frame X pixels Y pixels Z pixels
    0 -132 0
    Text Animators Animator #3 Selectors Range Selector #1 Offset #3
    Frame percent
    -100
    Expression Data
    m = thisLayer.marker;
    i = m.nearestKey(time).index;
    if (m.nearestKey(time).time > time){ i--;}
    if (i==m.numKeys) {
    100
    } else {
    linear(time,m.key(i+1).time-0.5, m.key(i+1).time,100,-100);
    }
    End of Expression Data
    Text Animators Animator #3 Selectors Range Selector #1 Advanced Ease Low
    Frame percent
    60
    Text Animators Animator #3 Selectors Range Selector #1 Advanced Randomize Order
    Frame
    1
    Text Animators Animator #3 Selectors Range Selector #1 Advanced Shape
    Frame
    2
    Text Animators Animator #3 Properties Opacity
    Frame percent
    4
    Text Animators Animator #3 Properties Position
    Frame X pixels Y pixels Z pixels
    0 132 0
    End of Keyframe Data
  • priscila johanna

    June 24, 2021 at 2:51 pm

    hi Filip

    Thank you very much for taking your time and helping me I get an error in the expression, could you upload a file if it is not too much trouble please?

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