Creative Communities of the World Forums

The peer to peer support community for media production professionals.

Activity Forums Adobe After Effects Text animation adjustment

  • Text animation adjustment

    Posted by Jerry Smith on July 6, 2016 at 1:32 pm

    If I use the Bullet Train animator, when the letters appear depends on the number of letters. Is there some super simple way to tweak that so that the first letter always appears at the same time irrespective of the length of the word? And ditto for the second letter and so on? I need something simple and automatic because the number of characters is editable and varies. Maybe there is an expression I can make use of? One thing that gives me hope is that the number of characters is always less than or equal to six 6. But as it is now, the sync gets screwed up.

    Thanks

    Jerry Smith replied 9 years, 10 months ago 2 Members · 10 Replies
  • 10 Replies
  • Jerry Smith

    July 6, 2016 at 2:25 pm

    Thanks Dave. Yeah, I can do a small number easily. But with me, there is always an industrial scale backdrop. Literally, there are thousands of them. I suspect I need some sorta expression that somehow tells AE that there are six characters even if there are only three.

  • Walter Soyka

    July 6, 2016 at 2:40 pm

    How about padding the text with spaces at the end, so the length of the text is always the same?

    Walter Soyka
    Designer & Mad Scientist at Keen Live [link]
    Motion Graphics, Widescreen Events, Presentation Design, and Consulting
    @keenlive   |   RenderBreak [blog]   |   Profile [LinkedIn]

  • Jerry Smith

    July 6, 2016 at 2:49 pm

    Yeah, I thought of that. But not very industrial.

    To make matters worse, I’ve already done half crudely with no sync tuning.

    Must be some way to set textTotal to 6 in an expression. https://helpx.adobe.com/after-effects/using/animating-text.html

  • Walter Soyka

    July 6, 2016 at 3:20 pm

    Try this expression on your range selector’s Offset property (the thing that Bullet Train animates):

    maxLength = 6;
    myLength = thisLayer.text.sourceText.length;
    maxTime = key(2).time - key(1).time;
    myTime = maxTime * (myLength/maxLength);
    keyTimeOffset = (maxTime - myTime) / 2;
    linear(time, key(1).time+keyTimeOffset, key(2).time-keyTimeOffset, -100, 100);

    Walter Soyka
    Designer & Mad Scientist at Keen Live [link]
    Motion Graphics, Widescreen Events, Presentation Design, and Consulting
    @keenlive   |   RenderBreak [blog]   |   Profile [LinkedIn]

  • Jerry Smith

    July 6, 2016 at 3:43 pm

    WOW! I’M SO GRATEFUL. THANKS WALTER. THANKS.

    I’m going to see if I’m smart enough to save it as a preset so that I can apply it to 40 layers at once.

  • Jerry Smith

    July 6, 2016 at 4:29 pm

    I guess I’m not that smart.

    Is there a way to save the expression as a preset so that I can very quickly just apply it to mutliple layers that have keyframes in different places? I seem to be running into the problem of not being able to save the expression without the keyframes and also possibly the problem of AE not knowing where exactly I want the expression to go (It creates a new range selector thingie).

    The expression is great and I will use it one way or the other. But now I’m getting greedy and am trying to figure out how to apply it to numerous layers that have different keyframe locations.

    Thanks!

  • Walter Soyka

    July 6, 2016 at 4:45 pm

    [Jerry Smith] “I seem to be running into the problem of not being able to save the expression without the keyframes and also possibly the problem of AE not knowing where exactly I want the expression to go (It creates a new range selector thingie).”

    An animation preset will not help you with stuff that you’ve already animated (though it may help for future items). Instead, I think you want the fastest way to apply the expression to the properties you’ve already worked on.

    1) Select the Offset property that has the expression applied and use Edit > Copy Expression Only.

    2) Filter the timeline panel for the word Offset by using the search field in the timeline panel, next to the timecode.

    3) Multi-select the Offset properties you want to apply the expression to.

    4) Edit > Paste.

    Walter Soyka
    Designer & Mad Scientist at Keen Live [link]
    Motion Graphics, Widescreen Events, Presentation Design, and Consulting
    @keenlive   |   RenderBreak [blog]   |   Profile [LinkedIn]

  • Jerry Smith

    July 6, 2016 at 4:51 pm

    Thanks so much Walter. I really appreciate all your help today. If you have a donut button somewhere, I can send you a six pack of Belgian beer!

  • Walter Soyka

    July 6, 2016 at 4:59 pm

    [Jerry Smith] “Thanks so much Walter. I really appreciate all your help today. If you have a donut button somewhere, I can send you a six pack of Belgian beer!”

    Thanks, Jerry, I’m glad I helped you.

    As for the beer — that’s an incredibly kind offer, and I do enjoy a nice Belgian, but maybe we can do something else.

    I’ve been releasing my scripts under the same terms that Jeff Almasol does with his #devforacause project: “In lieu of thanks, consider donating to a charity important to you. If my scripts save you time, maybe pass the savings onto organizations doing good work. I’d love to hear how you’re paying it forward. #devforacause” Maybe you’d consider supporting a local charity you believe in?

    Cheers.

    Walter Soyka
    Designer & Mad Scientist at Keen Live [link]
    Motion Graphics, Widescreen Events, Presentation Design, and Consulting
    @keenlive   |   RenderBreak [blog]   |   Profile [LinkedIn]

  • Jerry Smith

    July 6, 2016 at 5:26 pm

    Sure thing! I’m sure the wife has some ideas!

We use anonymous cookies to give you the best experience we can.
Our Privacy policy | GDPR Policy