I need to animate a typewriter effect with the shadow of the hammer hitting the letters as they are revealed. I have After Effect's own text typewriter effect to do this, but I am in need of a simpler way to add the hammer to each individual letter (so far I have been doing it manually which takes a really really long time).
I have keyframed the the typing to be inconsistent, this means that the speed varies with every word as I think this adds realism. Furthermore, every different letter varies slightly in size so I cannot just repeat each line with the same animation for the hammer.
Does this make sense?
I am really struggling so any help at all would be massively appreciated!
One way I've thought of that might make things a bit easier is to set up another text animator that pushes all the characters along the line to the left as they appear. So the one appearing is always in the same place. Use a pickwhip expression to link the position movement to the typewriter animation. That way you don't have to move the hammer shadow. You'll still have to change the size of the hammer manually (i'd probably do myself a favour and keep it the same size!)
Then (the trickier bit) you can precomp that animation, then use a expression linking the keyframed percentage of the typewriter animation to the position of the precomp to keep the text static and everything else moving along the line. A range mapped expression would work, something like this:
I hope that helps. Might be trickier if you have multiple lines of text! But you can make this same method more complicated by adding another text animator that keeps the new lines in the same place, and a adding a Y axis to the precomp expression.
All about not moving the hammer as I'm pretty sure you can't access absolute character positions in after effects... You can, however, do this in cinema 4d!
on Nov 8, 2014 at 5:17:30 pm Last Edited By Harry Hoag on Nov 8, 2014 at 5:21:32 pm
hmm, it's been a while since I've used the text animators, always find it fiddly. Not sure how to move all the characters one by one along the line probably possible but...
... it might actually be easier to just use that same expression on the text layer too. Then you could actually just parent the text and the hammer shadow to a null with the inverse of the same expression, (i.e. just swap the outputLow and outputHigh) eliminating the need to precomp anything! Easy peasy! ;)