About text animation
Animating text layers is useful for many purposes, including animated titles, lower thirds, credit rolls, and dynamic typography.
As with other layers in After Effects, you can animate entire text layers. However, text layers offer additional animation features with which you can animate the text within the layers. You can animate text layers by using any of the following methods:
- Animate the Transform properties, as you would any other layer, to change the entire layer, not its text contents.
- Apply text animation presets. (See Text animation presets.)
- Animate the source text of the layer, so that the characters themselves change to different characters or use different character or paragraph formats over time. (See Select and edit text in text layers and Writing expressions for source text.)
- Use text animators and selectors to animate many properties of individual characters or a range of characters. (See Animate text with text animators.)
To smooth the edges and movement of animated text, enable motion blur for the text layer. See Motion blur for more information.
Text animation presets
Browse and apply text animation presets as you would any other animation presets. You can browse and apply animation presets in After Effects using the Effects & Presets panel or Adobe Bridge. To open the Presets folder in Adobe Bridge, choose Browse Presets from the Effects & Presets panel menu or from the Animation menu. (See Apply an effect or animation preset and Animation presets.)
A great way to see how advanced users use After Effects is to apply an animation preset, and press U or UU to reveal only the animated or modified layer properties. Viewing the animated and modified properties shows you what changes the designer of the animation preset made to create the animation preset.
Tips, notes, and caveats for text animation presets
The text animation presets were created in an NTSC DV 720×480 composition, and each text layer uses 72-point Myriad Pro. Some preset animations move the text on, off, or through the composition. The animation preset position values may not be appropriate for a composition that is much larger or smaller than 720×480; for example, an animation that is supposed to start outside the frame may start inside the frame. If the text isn’t positioned as expected or the text disappears unexpectedly, adjust the position values for the text animator in the Timeline panel or Composition panel.
After you apply a 3D Text animation preset, you may need to rotate the layer or add a camera to rotate around the layer to see the results of the 3D animation.
Text animation presets in the Paths category automatically replace the source text with the name of the animation preset and change the font color to white. These animation presets may also change other character properties.
The Fill And Stroke category of animation presets contains presets that may change the fill color and stroke properties of the preset that you apply. If the animation preset requires a stroke or fill color, the animation works only if you have assigned one to your text.
Additional online resources for animation presets
For a list of animation presets included with After Effects, see Animation preset list.
Animate text with text animators
Animating text with animators and selectors consists of three basic steps:
- Add an animator to specify which properties to animate.
- Use a selector to specify how much each character is affected by the animator.
- Adjust the animator properties.
To always affect all characters in the layer, delete the default selector. In this case, animating a text layer is not much different from animating any other layer.
Usually, you don’t need to set keyframes or expressions for the animator properties. It’s common to only set keyframes or expressions for the selector and specify only the ending values for the animator properties.
Select a text layer in the Timeline panel, or select the specific characters that you want to animate in the Composition panel.
Do one of the following:
- Choose Animation > Animate Text and then choose a property from the menu.
The Enable Per-Character 3D menu item does not add an animator. It adds 3D properties to the layer and to the individual characters, for which you can then add animators.
- Choose a property from the Animate menu, located in the Switches/Mode column of the Timeline panel.
In the Timeline panel, adjust the animator property values. Often, you simply set the property that you want to animate to its ending value and then use the selectors to control everything else.
Expand the Range Selector property group and set keyframes for Start or End properties by clicking the stopwatch for the property and doing one of the following:
- Set the values for Start and End in the Timeline panel.
You may find it easier to think in terms of numbers of characters than percentages for the Start and End properties of a range selector. To show these properties in numbers of characters (including spaces), choose Index for Units in the Advanced property group of a range selector.
- Drag the selector bars in the Composition panel. The pointer changes to the selector movement pointer when it is over the middle of a selector bar.
To refine the selection, expand Advanced and specify options and values as desired.
For example, to animate opacity gradually from the first character to the last, you can add an animator for Opacity, set the Opacity value (in the Animator property group) to 0, and then set keyframes for the End property of the default selector to 0% at 0 seconds and 100% at a later time.
You can create elaborate animations using several animators and several selectors, each of which adds its influence to the text animation.
Text animator properties
Animator properties work much like other layer properties, except that their values only influence the characters that are selected by the selectors for the animator group. Choose Enable Per-Character 3D to add 3D properties to a text layer; this command does not add properties to an animator group.
- To add an animator group to a text layer, select the text layer in the Timeline panel, and choose a property from the Animation > Animate Text menu or from the Animate menu for the layer in the Switches/Modes column in the Timeline panel. A new animator group, along with a default selector and the chosen animator property, appears in the Timeline panel.
- To add a new animator property to an existing animator group, select the animator group in the Timeline panel, and choose the property from Animation > Animate Text menu or from the Add menu for the animator group in the Timeline panel. The new animator property appears within the same group as the existing animator property and shares the existing selectors.
- To delete an animator property or animator group, select it in the Timeline panel and press Delete.
- To remove animators from a text layer, select the text layer in the Timeline panel, and choose Animation > Remove All Text Animators.
- To copy an animator group, select it in the Timeline panel and choose Edit > Copy. To paste the animator group, select a layer and choose Edit > Paste.
- To rename an animator group, make sure that it is the only thing selected, and then press Enter (Windows) or Return (Mac OS); or right-click (Windows) or Control-click (Mac OS) the name and choose Rename.
- To reorder an animator group, drag it to a new location in the stacking order in the Timeline panel.
Anchor point for the characters: the point about which transformations—such as scaling and rotation—are performed. (See Text anchor point properties.)
The position of the characters. You can specify values for this property in the Timeline panel, or you can modify it by selecting it in the Timeline panel and then dragging the layer in the Composition panel using the Selection tool, which changes to a move tool when positioned over text characters. Dragging with the move tool does not affect the z (depth) component of Position.
The scale of the characters. Because scale is relative to the anchor point, changes to the z component of Scale have no apparent result unless the text also has an Anchor Point animator with a nonzero z value.
The slant of the characters. The Skew Axis specifies the axis along which the character is skewed.
Rotation, X Rotation, Y Rotation, Z Rotation
If per-character 3D properties are enabled, you can set the rotation about each axis individually. Otherwise, only Rotation (which is the same as Z Rotation) is available.
All Transform Properties
All of the Transform properties are added at once to the animator group.
The alignment for the tracking in each line of text. A value of 0% specifies left alignment, 50% specifies center alignment, and 100% specifies right alignment.
The space between lines of text in a multiline text layer.
The number of Unicode values to offset selected characters. For example, a value of 5 advances the characters in the word five steps alphabetically, so the word offset becomes tkkxjy.
The new Unicode value for selected characters, replacing each character with one character represented by the new value. For example, a value of 65 replaces all of the characters in a word with the 65th Unicode character (A), so the word value becomes AAAAA.
Specifies limits on the character. This property appears whenever you add the Character Offset or Character Value property to a layer. Choose Preserve Case & Digits to keep characters in their respective groups. Groups include uppercase Roman, lowercase Roman, digits, symbols, Japanese katakana, and so forth. Choose Full Unicode to allow for unlimited character changes.
The amount of Gaussian blur to be added to the characters. Horizontal and vertical blur amounts can be specified separately.
Each animator group includes a default range selector. You can replace the default selector, add additional selectors to an animator group, and remove selectors from a group.
Selectors are a lot like masks: You use selectors to specify which part of a range of text you want to affect, and by how much. You can use multiple selectors and specify a Mode setting for each one to determine how it interacts with the text and with other selectors in the same animator group. If you have only one selector, Mode specifies the interaction between the selector and the text—Add is the default behavior; and Subtract inverts the influence of the selector.
If you delete all selectors from an animator group, the values of the animator properties apply to all characters in the layer. This technique is useful because properties of the text specified by the Character panel cannot otherwise be animated (except by using Hold keyframes on the Source Text property itself).
Use a Wiggly selector to vary a selection within a specified amount over time. Use expression selectors to use expressions to dynamically specify how much you want characters to be affected by an animator property.
- To add a selector using the Timeline panel, select an animator group in the Timeline panel and choose Selector from the Add menu for the animator group, or choose Animation > Add Text Selector. Choose Range, Wiggly, or Expression from the submenu.
- To add a selector using the Composition panel, select a range of characters in the Composition panel, right-click (Windows) or Control-click (Mac OS) the text, and choose Add Text Selector from the context menu. Choose Range, Wiggly, or Expression from the submenu.
- To delete a selector, select it in the Timeline panel and press Delete.
- To rename a selector, make sure that it is the only thing selected, and then press Enter (Windows) or Return (Mac OS); or right-click (Windows) or Control-click (Mac OS) the name and choose Rename.
- To copy a selector, select it in the Timeline panel and choose Edit > Copy. To paste the selector, select a layer and choose Edit > Paste.
- To reorder a selector, drag it to a new location in the stacking order in the Timeline panel.
Common selector properties
Specifies how each selector combines with the text and with selector above it, similar to how multiple masks combine when you apply a mask mode. For example, if you want to wiggle only a specific word, use a range selector on that word and then add a Wiggly selector and set it to Intersect mode.
Specifies how much the range of characters is affected by animator properties. At 0%, the animator properties do not affect the characters. At 50%, half of each property value affects the characters. This option is useful for animating the result of animator properties over time. Using an expression selector, you can use expressions to dynamically set this option.
Units and Based On
The units for Start, End, and Offset. You can use either the percentage or index units and base the selection on the characters, characters excluding spaces, words, or lines. If you select Characters, After Effects counts spaces and effectively pauses the animation between words as it animates the spaces between words.
Range selector properties
Range selectors include the following properties, in addition to properties common with other selectors:
Start and End
The beginning and end of the selection. You can modify the Start and End properties by dragging the selector bars in the Composition panel when the selector is selected in the Timeline panel.
The amount to offset the selection from the selection specified by the Start and End properties. To set Offset in the Composition panel while you edit the Start or End values, Shift-click the Start or End selector bars with the Selection tool.
Controls how characters are selected between the Start and End of the range. Each option modifies the selection by creating transitions between selected characters using the chosen shape. For example, when animating the y Position values of text characters using Ramp Down, the characters gradually move at an angle from the lower left to the upper right. You can specify Square, Ramp Up, Ramp Down, Triangle, Round, and Smooth.
Using different Shape options, you can greatly change the appearance of an animation.
Determines the amount of time the animation takes to transition from one character to another when you use the Square shape.
Ease High and Ease Low
Determines the speed of change as selection values change from fully included (high) to fully excluded (low). For example, when Ease High is 100%, the character changes more gradually (eases into the change) while it is fully to partially selected. When Ease High is -100%, the character changes quickly while it is fully to partially selected. When Ease Low is 100%, the character changes more gradually (eases into the change) while it is partially selected to unselected. When Ease Low is -100%, the character changes quickly while it is partially selected to unselected.
Randomizes the order in which the property is applied to the characters specified by the Range selector. (By contrast, when you use the Wiggly selector, the value of the animator property is randomized.)
Calculates the randomized order of a range selector when the Randomize Order option is set to On. When Random Seed is zero, the seed is based on its animator group. If you want to duplicate an animator group and retain the same randomized order as in the original animator group, set Random Seed to a value other than zero.
Wiggly selector properties
The Wiggly selector includes the following properties, in addition to properties common with other selectors:
Max Amount and Min Amount
Specifies the amount of variation from the selection.
How many variations from the set selection occur per second.
Correlation between variations for each character. At 100%, all characters wiggle by the same amount at the same time, and at 0%, all characters wiggle independently.
Temporal and Spatial Phase (revolutions + degrees)
The variation of wiggle, based on the phase of your animation in time (temporal) or per character (spatial).
Scales each of the dimensions of the wiggled selection by the same value. This option is useful when wiggling the Scale property.
Jonathan Fowler provides a video tutorial on his website that shows how to use the Wiggly Selector to randomly animate (offset) characters to create a fluctuating string of binary digits (1s and 0s).
Expression selector properties
Expand the Expression Selector property group and the Amount property group to reveal the expression field in the Timeline panel. By default, the Amount property begins with the expression selectorValue * textIndex/textTotal.
Expression selectors allow you to express the selector values for each character. The expression is evaluated once per character. Each time it is evaluated, the input parameter textIndex is updated to match the index of the character.
Apply the Text Bounce or Inch Worm animation preset to a text layer to see how expression selectors can be used. To see all expressions on a layer, select the layer and press EE.
In addition to the expression elements you use elsewhere, you can use the following attributes to animate selections in any number of interesting ways:
Returns the index of the character, word, or line.
Returns the total number of characters, words, or lines.
Returns the value of the previous selector. Think of this value as the input from the selector above the expression selector in the stacking order.
The attributes textIndex, textTotal, and selectorValue can be used only with the expression selector. Using them elsewhere results in a syntax error.
Text anchor point properties
Text animators animate character position, rotation, and size-related properties relative to an anchor point. You can use the text property, Anchor Point Grouping, to specify whether the anchor point used for transformations is that of each character, each word, each line, or the entire text block. In addition, you can control the alignment of the anchor points of the characters relative to the anchor point of the group with the Grouping Alignment property.
Expand the text layer in the Timeline panel, and expand the More Options property group.
Do any of the following:
- Choose how to group the character anchor points from the Anchor Point Grouping menu.
- Lower the Grouping Alignment values to move each anchor point up and to the left.
- Raise the Grouping Alignment values to move each anchor point down and to the right.
To center the anchor point in a string of capital letters, try a Grouping Alignment value of 0%, -50%. To center the anchor point in a string of lowercase letters, or if you’re using both lowercase and uppercase letters, try 0%, -25%.
When you select certain properties in the Timeline panel for a text animation, anchors points are shown in the Composition panel. These properties include Anchor Point Grouping, Grouping Alignment and the animator properties Anchor Point, Position, Scale, Rotation (including per-character 3D versions: X Rotation, Y Rotation, Z Rotation).
Per-character 3D text properties
You can move, scale, and rotate individual characters in three dimensions using 3D animator properties. These properties become available when you enable per-character 3D properties for the layer. Position, Anchor Point, and Scale gain a third dimension; and two additional Rotation properties (X Rotation and Y Rotation) become available. The single Rotation property for 2D layers is renamed to Z Rotation.
3D text layers have an auto-orientation option, Orient Each Character Independently, which orients each character around its individual anchor point to face the active camera. Selecting Orient Each Character Independently enables per-character 3D properties for the text layer if they aren’t already enabled. (See Auto-Orientation options.)
Enabling per-character 3D properties causes each character in the text layer to behave like an individual 3D layer within the text layer, which behaves like a precomposition with collapsed transformations. Per-character 3D layers intersect with other 3D layers following the standard rules for 3D precompositions with collapsed transformations. (See How render order and collapsed transformations affect 3D layers.)
A text layer itself automatically becomes a 3D layer when you enable 3D properties for its characters. Therefore, a text layer becomes a 3D layer when a per-character 3D property is added to the layer—whether by copying and pasting the Y Rotation property from another layer or applying a 3D Text animation preset.
A per-character 3D layer is designated by a special icon in the Switches column.
Inter-character blending and the Fill & Stroke options in the More Options property group are not available for per-character 3D layers.
Per-character 3D layers can decrease rendering performance. When you convert a layer from per-character 3D to 2D, the animator properties and dimensions specific to per-character 3D layers are lost. Re-enabling per-character 3D will not restore values for these properties.
- To enable per-character 3D animator properties for a text layer, select the layer and choose Enable Per-character 3D from the Animation > Animate Text menu or from the Animate menu for the layer in the Timeline panel.
- To disable per-character 3D animator properties for a text layer and convert the layer to a 2D layer, click the Per-character 3D switch for the layer in Switches column in the Timeline panel.
- To disable per-character 3D animator properties for a text layer but keep it as a 3D layer, choose Enable Per-character 3D to deselect it.
Online resources for per-character 3D text animation
Trish and Chris Meyer introduce per-character 3D text animation in n a video on the ProVideo Coalition website.
Eran Stern provides a video tutorial on the Creative COW website that demonstrates how to use per-character 3D text animation to animate text along a path in the shape of a 3D tornado.
Angie Taylor provides a tutorial on the Digital Arts website that shows how to use per-character 3D text animation together with a common workaround for simulating extruded 3D text.
Creating and animating text on a path
When you have a mask on a text layer, you can make the text follow the mask as a path. You can then animate the text along that path, or animate the path itself. You can use open or closed masks to create paths for text. After you create the path, you can modify it at any time. When using a closed mask as a text path, make sure to set the mask mode to None.
To disable the Path Options property group for a text layer, click the visibility (eyeball) switch for the Path Options property group. Temporarily disabling the Path Options property group can make editing and formatting text easier.
Position text along a mask path
Create a text layer and enter text.
With the text layer selected, use the Pen tool or a mask tool to draw a mask in the Composition panel.
In the Timeline panel, expand the Path Options property group for the text layer and select the mask from the Path menu. The text automatically uses the alignment specified in the Paragraph panel.
To reposition the text on the path, change the text margins using the First Margin and Last Margin properties in the Timeline panel, or do one of the following in the Composition panel:
- Drag the left margin control , center margin control , or right margin control to move text along the path.
- Shift-drag any margin control to snap the control to the mask vertices.
Select a property in the Text property group in the Timeline panel to see the margin controls in the Composition panel. The text alignment determines which controls are available.Changing the Last Margin of path text in the Composition panel
Text path properties
Use the Path Options properties to specify a path and alter the way that individual characters appear on the path—perpendicular to the path, aligned to the left or right, reversed, and so on. Animating Path Options properties is an easy way to animate text along a path.
Reverses the direction of the path.
Perpendicular To Path
Rotates each character so that it is perpendicular to the path.
Positions the first character at the beginning of the path (or at the specified First Margin location), positions the last character at the end of the path (or at the specified Last Margin location), and evenly spaces the remaining characters between the first and last characters.
Specifies the position of the first character in pixels, relative to the start of the path. First Margin is ignored when text is right-aligned and Force Alignment is Off.
Specifies the position of the last character in pixels, relative to the end of the path. Last Margin is ignored when text is left-aligned and Force Alignment is Off