• Global community
    • Language:
      • Deutsch
      • English
      • Español
      • Français
      • Português
  • 日本語コミュニティ
    Dedicated community for Japanese speakers
  • 한국 커뮤니티
    Dedicated community for Korean speakers
Exit
0

Random Numbers animating to letters After Effects Animation Workaround

New Here ,
Dec 20, 2019 Dec 20, 2019

Copy link to clipboard

Copied

I am making an animation for work and found a way to get the below words "Video Views in 2019" to animate from random numbers to the actual source text I want. I wanted to know if there is a simpler workaround to doing this a lot faster. What I did was made the same number of characters as the source text, added an animator-range selector, then made the expression for the offset time*24, then I added a second animator-scale to add the numbers one at a time right to left. then I changed the source text one letter at a time, while changing the range of characters being randomized fram by frame. Until the phrase I wanted came in. The project is related to numbers so I wanted it to be only numbers until the actual text . Is there a workaround to make this a lot easier? I got the idea for this way from this youtube video: https://www.youtube.com/watch?v=1WZy_O_kJ_YCapture2.JPGRandom numbers revealing Words.JPG

TOPICS
Expressions , How to

Views

7.7K

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines

correct answers 1 Correct answer

Advisor , Dec 23, 2019 Dec 23, 2019

You're in luck : )

Here's an alternative approach - but it has a few limitations:

1. Requires a mono-spaced font.
2. Single line of text - doesn't work with line breaks or blocks of text.
3. Designed to work with opacity. (Range selector > Advanced > Smoothness can be any value.)
4. It's a two layer solution.

If that meets your needs - it may be a little faster in use.

 

On the positive side:
Any style or text changes made to the text layer will automatically update the number layer : )

 

Here's wha

...

Votes

Translate

Translate
Community Expert ,
Dec 20, 2019 Dec 20, 2019

Copy link to clipboard

Copied

The simplest way is using the "Decoder Fade In" text animation preset. This has its limitations of course, so if you need something more then you'll need to use expressions.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Dec 21, 2019 Dec 21, 2019

Copy link to clipboard

Copied

The problem with decoder fade in is that the OP wants to transition from numbers only.
I remember writing a little expression to do this some time ago - a different approach to Mikey's solution. My solution had two limiations: It needs a monospaced font, and it's a two layer solution. If those restrictions are OK for you let me know - post a reply here. I can't promise I'll be able to find it, but I'll have a look.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines
Advisor ,
Dec 23, 2019 Dec 23, 2019

Copy link to clipboard

Copied

LATEST

You're in luck : )

Here's an alternative approach - but it has a few limitations:

1. Requires a mono-spaced font.
2. Single line of text - doesn't work with line breaks or blocks of text.
3. Designed to work with opacity. (Range selector > Advanced > Smoothness can be any value.)
4. It's a two layer solution.

If that meets your needs - it may be a little faster in use.

 

On the positive side:
Any style or text changes made to the text layer will automatically update the number layer : )

 

Here's what to do:

1. Set your text and animate this with a text animator as normal.
2. Duplicate the layer.
3. On the lower layer:

          Set: Animator 1 > Range selector > Advanced > Mode : subtract

          Paste this expression into the Text > Source text property

 

 

posterizeTime(5); // for fps of random number change
txtLen = thisComp.layer(index-1).text.sourceText.length;
txtAll = "";
for (var i = 0; i < txtLen; i++ ) {
txt = Math.floor(random(0,9))
txtAll += txt
} 
thisComp.layer(index-1).text.sourceText.style.setText(txtAll)

 

 

Adjust the posterizeTime property to taste.

 

Optional: you may want to parent the lower layer to the main layer so that any changes to to the parent layer's position, scale and rotation are matched by the number layer.

Votes

Translate

Translate

Report

Report
Community guidelines
Be kind and respectful, give credit to the original source of content, and search for duplicates before posting. Learn more
community guidelines