Text Effects

by IK3D in Scripts and Addons

How it work ?

Installation:  From User preferance > add on > ‘Instal from file’ (then restart blender).

Create, Replace, Duplicate

Type the text, hit "Add 3D text".  The text will take cursor location and rotation (handy when you work with camera view). Next you can replace the text and duplicate it.  

You can also convert existing text and use text editor. This approach allows you to create multiple lines text.


Import text animation from other .blend using following steps:

  • highlight "scene collection" from outliner (better)
  • stop playback (better)
  • use blender menu and look for file > append > .blend > collection yourText_idName_Fx


All actions are performed by moving, rotating and resizing the handles. The script will interpolates the text between the start handle / end handle. 

Text effect is organised by channels
(Location, rotation, scale, visibility)

Use the checkbox to activate the channel.
start: animation start frame in the timeline
Offset: delay between letters, beside is the randomize function.
Duration: total time for each letter

You will find the same settings under each channels.  
To save time, use copy button to share settings to others channels.


This is very important for rendering. Bake your text once you are satisfied. After that, you can still move the text in the 3D scene, but you can no longer modify the animation. 

 Material Fx

First set the 3D viewport to render mode, or material preview.

Appearance > Material input: Use the plus button to generate material
Appearance > Material Fx > Color: Here you can put color in the text or use a random color.
Appearance > Material Fx > Fading: This function make the text appear with a transparency effect. Use visibility channel to control animation and tween. Fading feature is only available on Blender 2.81 and above.

Font & geometry

Appearance > Font input: Here you can change the font or use the folder button to choose a different one on your hard drive.
Appearance > Font: manage text spacing.
Appearance > Geometry:  Extrude and resolution properties.

Advanced functions

Effects > interpolation 

This part is actually an extension of the different channels. The header of the tab dynamically update to notify corresponding channel.

You can apply an different interpolation (easing) per channels.

Text Effect has almost all interpolations:

You can also use a custom interpolation curve per channel.

Effects > interpolation > Wave

The start handel (cone): control the amplitude
Periode input: recurrence of the wave

Effects > interpolation > Wiggle

Wiggle: This function makes the letters shaking.
Limit walks: Disable this button to allow random walk. 
Frequency: recurrence of shaking  
Amplitude: Weight
Probability: max value of the noise

Effects > Motion array 

Effector input: control where the animation should start in the string using an object.
Radial: will split the string in half and animate chars in both side gradually

Effects >  loop 

When enabled it replicate the animation according to the first  and the last frames from the channels.  

The total duration of one channel is
start_frame + duration + string_lenght * offset

Loop: Activate loop
Mirrored: Time mirrored (ping pong effect)
Repeat: 0 for infinite loop or repeat x times
Add time: Delay next loop

Effects > Path settings 

How to link a path to the text?
First select a curve then use the add Text button

Here you can place the text precisely on a curve and choose the forward axis. You can also make the text follow the normals.  
Start position: Where animation start in the curve.
Place: Overall position of the text


Pay attention to the position of the handles.

Text > Preset 

Text effect is Shipped with 5 presets. You can save any setup (including font, custom interpolation curves etc) as a preset. You can export your presets to share them or import someone else's setup.


1.  Toggle select between handles start/end. Zoom and center the view.

When you work with many text This is handy to find the corresponding handle with a single click.

2. Lock 'freeze'  location in the 3D space. 

3. Hide relation lines. View only render. 

More: Tuto n° 1