To use a single text object where each character of the text moves in their own unique manner.


I want to be able to use one text object to create an animation where characters move onto the screen one by one. The way each character moves onto the screen is slightly complex, so I want to premake it myself for the rest of the unknown number of characters to follow. I also want to set the delay between when a character starts its animation and when the next character starts its animation.

The reason why I only want to use only one text object is because the amount of characters that are being animated are unknown and can vary. Additionally, I want to be able to press tab to edit the text and type it in with ease where it will automatically determine how the characters are going to be animated based on the presets that I made (the animation path I made for all the characters to follow at different times and the delay between each one).

Normally if I wanted to have the characters move independently, I would need to separate each character into their own text boxes and manually copy the animations. This will be troublesome if the entire length changes.

Additionally by putting each character into their own text objects, it would be hard to judge the distance between each character (and imagine if I have to change the text).

By changing the length of the single textbox, it will also change the amount of characters needed to animated. This will also change the amount of time need to finish the animation. However blank spaces will not add any time as they have no animation and will be skipped.


So can someone please help me and show me how to do this in Blender Render. It may involve Python and although I have learnt a little bit of Python a long time ago, I have no clue of how Blender interprets them and it's libraries so bare with me.

  • $\begingroup$ Do you want to a completed solution or ideas so you can create your own solution? $\endgroup$ Jul 31, 2016 at 19:21
  • $\begingroup$ @atomicbezierslinger well you told me how to assign locations of each character but I still do not know how to assign some keyframes to the characters through script. $\endgroup$
    – Bradman175
    Jul 31, 2016 at 23:01
  • $\begingroup$ Many animations have a technical aspect and an artistic aspect. I was providing some technique suggestions to you. You must control the artistry. Blender Objects can exists in groups. Groups can be selected on a certain keyframe. Then insert keyframe. Perhaps I do not understand your written words. It would be best to change your question rather than create a long comment section. This question does not seem to be generating much external interest. I will probably drop the answer. $\endgroup$ Aug 1, 2016 at 15:55
  • $\begingroup$ @atomicbezierslinger I'm not asking about having you do the artistic aspect. I'm just still confused how to add in my artistic aspect into the technical aspect. $\endgroup$
    – Bradman175
    Aug 1, 2016 at 23:03

1 Answer 1


enter image description here

Image above showing extents of individual characters in a single Blender Text Object.

Some miscellaneous points.

  • For ease of expressiveness, in the not quite so long run, I suggest you animate either single letter text objects or the mesh converted objects.
  • You may want to search for a script which already does what you want.
  • Text can follow path as a whole quite easily. Having each character follow a different path requires more work. Link for various approaches ...How-To: Text Sliding out of a Circle 2D

  • Your statements lead me to believe you want characters following individual paths.

  • enter image description here
  • In the image above we see the Blender Python Console window. We have probed the location and dimension of a text object. You see the X-axis value increase as I add letters. Subtraction required for individual character location perhaps other considerations. I have not found a more abstract probe for individual substrings of a larger string.

  • enter image description here
  • In the image above is a text editor window with an executed script. The blue balls have been placed at right side x axis of each letter. Thus the script has some reasonable knowledge of extents in the x direction. You can store the measurements in a Python list if that suits you.
  • Inspect, Verify and Improve the script.
  • Know that text character placement may not be as easy as placing a cube. Text characters have their own sense of orientation and aesthetics. Baseline for example. If you separate characters of a text object take care to notice any adjustments to the individual origins.

  • If you have final placement of the single objects whether text or mesh you can keyframe those positions as final positions. Then your animation can occur close enough to those final positions. For example a path which gets close enough to your final position can ease out its influence.

  • There is more left for you to discover.
  • $\begingroup$ Wow there's a lot for me to learn. In the last image, did you place the balls on the right end of each character so that later on I can determine the locations of each characters and know the uneven distance between each one? $\endgroup$
    – Bradman175
    Jul 30, 2016 at 1:52
  • $\begingroup$ Also what does redraw_timer do? $\endgroup$
    – Bradman175
    Jul 30, 2016 at 1:55

You must log in to answer this question.

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