4
$\begingroup$

I have looked everywhere around the internet and for some reason for something as simple as this, I have not found a satisfactory answer.

So my question is simple; how do I make text appear like someone is typing it?

I tried transparency with color ramps but the keyframes don't appear on the timeline or dope sheet so I instantly gave up on that.

There was a typewriter addon or something but it's outdated, and I'm using Blender 2.81, Eevee.

The build modifier would work if it didn't start building at the end of the sentence. Made me consider looking for fonts that were reversed.

Would help me greatly if anyone could give me a solution. Thanks.

Update: Have tried answers below, the typewriter addon works perfectly but nothing appears in the render, and the animation nodes crash Blender mid-render. Nothing still works.

$\endgroup$
9

4 Answers 4

5
$\begingroup$

If anyone is still looking for a simple way to do this without going full animation nodes, I've updated the typewriter addon and fixed the invisible text when render bug. Currently tested and working on 2.83.

$\endgroup$
3
  • $\begingroup$ Thanks for this! Quick question regarding text objects in Blender: do you know if it's possible to access the size of the individual characters via Python? I can access kerning and some other character values, but found nothing for the size. I've been asking around for months for a way to set up drivers to control the size of characters (to make a simple ramping scale text animation), but no one knows. I can do it in Animation Nodes but I'd really want to have a built-in way.. I'm fearing this might lead to me having to dive in the source code even if I don't know anything about it yet :P $\endgroup$ May 29, 2020 at 9:43
  • $\begingroup$ @AleksiTuomela As far as I know the only per-character attributes available are those in TextCharacterFormat. I expect going animation nodes might be easier, but as far as exposing the size yourself goes, probably the place to start is rna_curve.c. $\endgroup$
    – gandalf3
    May 31, 2020 at 3:17
  • $\begingroup$ In particular, look at the material_index property for reference; you'll want to write similar getters and setters to rna_ChariInfo_material_index_{get,set}. That said, comments aren't the best place to talk, so if you have further questions please feel free to ping me in the renderfarm anytime (I can't guarantee a fast response though) $\endgroup$
    – gandalf3
    May 31, 2020 at 3:18
3
$\begingroup$

Check out Animation Nodes, there's a tutorial on how to do this exact effect. https://www.blenderdiplom.com/en/tutorials/all-tutorials/597-tutorial-typewriter-text-effect.html

$\endgroup$
3
  • $\begingroup$ I'll definitely check this out. $\endgroup$ Dec 25, 2019 at 4:12
  • $\begingroup$ I think animation nodes could be the right thing here, and it has been kept up to date, but that tutorial is not up to date (2015, whereas the OP asked about Blender 2.81). $\endgroup$
    – Rodney
    Sep 20, 2020 at 14:10
  • $\begingroup$ OK the main difference is this (I missed it at first): In the tutorial, the node editing occurs in the "Compositor" view, whereas now there is a separate "Animation Nodes" view that brings up the appropriate node editor. $\endgroup$
    – Rodney
    Sep 20, 2020 at 15:13
2
$\begingroup$

Just putting this out for anyone who still needs the solution. Geometry Nodes of latest Blender versions have made the solution to this problem a lot simpler now.

Node setup below. Just put your text in the String Node and slide the Length value on the Slice String node however you want.

enter image description here

Screenshot of Length value lower than number of letters in String node.

enter image description here

Note that I am not using a Text object. This is a mesh with the Geometry Input disconnected.

$\endgroup$
0
$\begingroup$

easy do shift A and press text, press tab, and write what you want then press tab again then rotate or move how you like, if you want it upright you can do R X 90

$\endgroup$

You must log in to answer this question.

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