1. 3D & Motion Graphics
  2. Workflow

How to Build Expression-Driven Text Effects

Read Time:5 minsLanguages:
What You'll Be Creating

In this tutorial, I would like to show you how to create some text effects by only using a single expression.

Step 1

Create a new Composition.

Step 2

Type a new Text Layer.

Step 3

Drop down the Text options.

Step 4

Click on the Animate options, choose Fill color, then RGB.

This is done to make color offset as you can see from the preview video.

Step 5

Now open the Animator1 options and click on Add then Selector then Expression. We will insert our expression here rather than using the Range Selector.


Step 6

Now you can see the Expression Selector 1 so delete the Range Selector because we don't need that.

Step 7

As you open the Expression Selector options, you can see the Amount parameters there.

Step 8

Insert this expression in Amount.

maxDelay = 0; seedRandom(textIndex,true); myDelay = random(maxDelay); t = time - myDelay; if (t >= 0){ freq =0; amplitude = 0; decay = 0; s = amplitude*Math.cos(freq*t*2*Math.PI)/Math.exp(decay*t); [s,s] }else{ value }

Now, there are few things that you need to understand.

  1. maxDelay = This value will delay the time of the effect in the beginning.
  2. freq = This value adjusts the speed of the effect. You won't notice it in the color patterns, but you'll see it with anything that handles motion.
  3. amplitude = This deals with the size of the effect. You will see this in upcoming steps.
  4. decay = This tells you how quickly the effect should end. a larger value means the effects ends quicker.

Step 9

Lets change some values to see what happens to our text.

Step 10

As you can see, we have two colors on the text. It will change to white over time. I changed the color from red to yellow.

Step 11

Lets duplicate the Animator1 and choose a different color.

Step 12

Change the values of maxDelay, freq, amplitude & decay slightly and you will see this effect.

Remember the bottom Animator should always have a lesser value for maxDelay because the bottom color always appears on top so it should fade faster than the top color, otherwise you will only notice the bottom color because they would have the same values.

Step 13

In the preview video you can see more than two colors fading into white. Let's duplicate the Animators to 5 colors.

Step 14

Now change the values of each one. The top ones should always have a larger values than the bottom ones for maxDelay.

Step 15

You should see something like this. Different colors flickering into white over the time.

Step 16

I think we've seen enough of the colors. Let's play with some other options. Add a Blur Animator to the text.


Step 17

Add the Expression Selector to it and delete the Range Selector.


Step 18

Insert the same expression again under the Amount and give it some value to blur.

Step 19

You will get the following result.

Step 20

We will do the same steps in all the Animator options. Add a Scale Animator to the text. Add the Expression Selector to it and delete the Range Selector.

Set the Scale value to Zero so the text will animate from 0 to 100.

Step 21

Insert the expression in Amount.

Now you can see I have given higher value to the amplitude and a lower value to the decay. If you increase the frequency, the alphabets would move extremely fast so it's important to give it a proper value.

Step 22

You should see something like this.


If you increase the decay value, then you will notice the bouncing type of effect reduced and they will directly animate from 0 to 100. The smaller decay value will give it more depth.

Step 23

Lets shut off all the Animators.

Step 24

Add a Position Animator and insert the following values.


Keep the frequency low or you will see very fast motion.

Step 25

I have only changed the Position of the Y axis so you will see something like this. The letters should randomly move in Y axis.

Step 26

Change the value of X axis only.

Step 27

You will see the movement in X axis only because I have set the value of the Y axis to 0.

Step 28

Add a Rotation Animator.

Step 29

Insert the expression in Amount and try the following values.

Step 30

You Should see something like this.

I have shut off all the Animators except the Rotation one here. The characters will randomly move around their center position.

Step 31

Let's try the same effect with Skew. Add a Skew Animator.

Step 32

Use the expression with following values.

Step 33

You will get the following result.

Step 34

So you can see each Animator gives you a unique effect. You can make combinations of different Animators to get fun looking results as you can see from the preview video.

Lets apply all the Animators on the same text layer.

Step 35

You can see all the effects taking place randomly on the same text depending upon their time and position values.

Step 36

I have also made a title sequence that you can download along with the tutorial to give you an idea of what you can achieve.

Note: The text layers should always start at the beginning of the composition because the effects take place according to the time of the timeline. If you want to use more than one text over different periods of time, it is important to make a new composition for each text layer. You can then adjust all the compositions in the timeline accordingly as you can see from these last three images.


So basically we are done with the tutorial here. Remember that maxDelay plays an important role in color combinations while amplitude and frequency are important in the motion Animators like Position, Scale and Rotation. decay will allow you to adjust the timing of the effects. You can always tweak your settings to get better looking results. I hope you learned something useful from this tutorial. Thank for working through it with me!

Looking for something to help kick start your next project?
Envato Market has a range of items for sale to help get you started.