How do I use Animation nodes to animate text like this example:

enter image description here

In video link above, I did an example of kinetic text in Moho Pro 12 (very time-consuming). Now I want to do that with animation nodes? I want to learn how to flex text, scale fonts and make them jump, fall and bounce. Thanks in advance.

  • 1
    $\begingroup$ they could just follow a path with a path constraint and a curve for each letter $\endgroup$
    – moonboots
    Commented Nov 10, 2018 at 19:32
  • 1
    $\begingroup$ Here is the link for tutorial by Jacques Lucke (creator of Animation Nodes) in which he showed how to scale text and make them jump, fall and bounce: youtube.com/watch?v=MDkPasOMehY and documentation of animation nodes for text is here: animation-nodes-manual.readthedocs.io/en/latest/release_notes/… $\endgroup$
    – 3DSinghVFX
    Commented Nov 10, 2018 at 20:06
  • $\begingroup$ Every information is gold. Thanks, guys. Thanks for the links too. I have bookmarked them. $\endgroup$ Commented Nov 12, 2018 at 9:32
  • $\begingroup$ For casual motion graphics way of offsettings object actions I recommend the Commotion Add-on: youtube.com/watch?v=oMk-l0kz3NI - but yeah, this question is about Animation Nodes, so, I shall keep this as a short comment only $\endgroup$ Commented Oct 28, 2020 at 14:56

1 Answer 1


The first thing to do is create a text object for each character as follows:


Next, create a spline that roughly represents the path that the characters will take. Then create a follow-spline-action out of that spline using the Follow Spline Action node, then delay the action by some frames. The Action Viewer node can be used to visualize how this action will play out, where each row represents one of the characters, the start of the white block determine the time at which the follow spline animation will start and the end of the white block determine the time at which the follow spline animation will end. As you can see, the delay node offsets the animation of each character by some amount while the duration controls the duration of the animation:

Follow Spline

The Object Action Output node is used to animate the objects based on that action we created, however, we offset each character along the x-axis by some amount that define the spacing between each character:


While everything should be ready, the action oriented the texts in a wrong direction, so we are just going to adjust it as follows, but this may vary depending on what orientation you want your text:


Which gives:


You might notice weird character spacing for non monospace fonts, this is because of our choice of a constant character offset, to fix this, a variable offset based on the local bounding box width of each character can be used.

For the bounce effect, a simple Animate Float node to control the x location with the y location controlled by the time evaluated at a bounce interpolation will do. The subtract node inverts the results such that its starts high and ends low while the multiple node controles how high its starts:


The other effects follow the same workflow. Falloffs are also very useful when dealing with such animation, see the documentation on falloffs for more information.

  • 2
    $\begingroup$ you are brilliant and many thanks. Positively, that brain of yours is gold. Thanks again. $\endgroup$ Commented Nov 10, 2018 at 22:20
  • $\begingroup$ Here's a startup file for anyone wanting to test that setup : blend-exchange.giantcowfilms.com/b/6045 $\endgroup$
    – gordie
    Commented Apr 1, 2019 at 10:56

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .