Animating Text by Character Index

spookynooodle
spookynooodle Posts: 4 Just Starting Out
edited January 2021 in Post-production techniques

Hi there! A YouTube editor that I really admire put me on to HitFilm, and I gotta say I'm absolutely loving everything I've seen so far! It's everything that I use from Premiere Pro, but only the things I use from Premiere Pro! Streamlined, smooth, fast, and easier to use.

There's an effect that I very commonly use, and I know how to achieve it in After Effects, but I'm not sure if HitFilm has any way to do something similar. You'll see a common effect in say, a YouTube commentary, where the text appears word-by-word as the person speaks. The effect might look something like this:

Now, in After Effects, this effect is achieved by going to a text layer, clicking the animate submenu, and choosing "Opacity." Nothing particularly special there, but the real magic comes from the way that the animation can be applied to the text. There is a range selector, which allows the animator to change which parts of the text the effect is applied to, and particularly helpful is the ability to change the units to 'Index,' which means that the effect keyframes move based on the characters in the text layer.

As an example, in this first image, the range goes from Character Indexes 9 to 30, and since "animating" is 9 characters long, it is excluded from the 0% Opacity effect that's being applied to the rest of the layer. Now for this second image, the range is changed to be from Index 18 to 30, so the characters that fall outside that range are revealed. Another very important aspect is the Hold Keyframe, which holds at the previous value for all frames before, and then at the keyframe, it 'jumps' to the next value.

Now, there's nothing like this in Premiere, but it feels a little clunk to do in After Effects, because on an extended project, I have maybe a dozen text layers, one for each sentence, and each text object insists on being on its own layer, even though none of the text objects are on the screen at the same time!

What I'm wondering is, does HitFilm Express or Pro have anything like this, any way to animate key frames for aspects of an effect over individual characters? I could just animate each word appear, but that would be massively tedious to align them with each other, and would create the same layering issue that I'm having with After Effects.

EDIT: Okay, I gotta add, I absolutely love the forum text editor here. Very smooth, looks great, still has excellent functionality.

Tagged:

Comments

  • Dimipapa
    Dimipapa Posts: 449 Enthusiast

    So what I'm hearing is you want to be able to speed up and slow down the appearance of characters? I'm not sure how to do that, However there is the typewriter effect under behavior, you can animate the reveal/conceal length though I'm not sure that's enough to do the job and you might have to resort to having separate text layers for different speeds. But play around with it, maybe it's will work the way you want. I'm glad to hear someone be positive about hitfilm, the more people that can be peeled off adobe the better.

  • spookynooodle
    spookynooodle Posts: 4 Just Starting Out

    I looked for some "Hitfilm typewriter" tutorials, and I came across "Boris Type On Reveal," which looks like I might be able to adjust it to do exactly what I need! In the event that I'm not able to adjust how quickly the reveal moves, another thing (that I'm kinda concerned I didn't think of earlier) was to just use additive masking, just draw some rectangles around the words I wanna reveal.

  • FilmSensei
    FilmSensei Posts: 3,208 Expert

    @spookynooodle I made two different tutorials on this, one for HitFilm Express and one for Pro.

    This is the one I made for Express, and I use Constant Keyframes on an Add Mask to reveal each letter. This could be done to reveal whole words at a time just as easily.

    This is the video where I use Boris Type on Effect. It is super quick and easy to do if you have HitFilm Pro.

  • Triem23
    Triem23 Posts: 20,397 Power User

    @FilmSensei 's videos are excellent, but I recommend a slight change to his first one.

    Jay (Sensei) discusses using a mask on the text layer to reveal letters, and this works well, but, has to be created per-layer.

    Instead, I suggest you create a plane layer, which can be turned off/hidden - you won't need to see it. Then, add a "Set Matte" effect to the text layer, select the Plane layer as "Source Layer," Alpha as the "Matte Source" and Subtract as "Blend Mode." Check the "Invert" box. What this will do is link transparency of the text layer to where the plane is. Where the plane overlaps the text it will be visible. Now you can animate the plane rather than a mask on the text layer.

    The advantage of using a mask is everything is on one layer. However, if you're doing this with many text objects you have to keep redrawing masks. Using a plane to drive a Set Matte uses two layers, but, if you have multiple text objects, one after another, you can shift that same plane around and copy the Set Matte effect as needed.

    Whichever works better for you. šŸ˜Š

  • FilmSensei
    FilmSensei Posts: 3,208 Expert

    @Triem23 I am not sure if it would be any faster to do it that way, but maybe I should explore doing a tutorial on that as an alternate method. Perhaps using a Grade Layer as the Matte and multiple planes underneath for each line of text would be a more efficient way to get the job done?

  • Triem23
    Triem23 Posts: 20,397 Power User

    @FilmSensei I don't think it's faster to set up, but it might be faster to adjust later. It also depends on if you're setting up a "one time only" animation or creating a "template" project for re-use. Combined with the Text EFFECT (instead of a Layer) I can see the plane/Set Matte version being set up as a Published template where you publish the Text effect's Text input settings and the control point one would attach to the layer. That would be more of a setup for a template, if this was an effect i intended to use a lot (and didn't have Boris). For a "one and done," yeah, I'd probably use a mask.

    The way my brain organizes things, if it's something I'm setting up for reuse I'd usually rather set up a matte than a mask. For a quick n' dirty, a mask.

    Oddly enough it's a bit like our different takes on the Thanos/Sandman disintegration. Your take was easier to explain to a newer user and used fewer steps since you just place your masks directly onto the emitter layer. My version was more complex to explain and set up, but WAS set up as a template. I can drop any video into place and my mattes immediately apply the disintegration. Both work, but the "better" approach is a combination of how the individual artist organizes things and if setting up a single-use or re-use project.

    It's nothing at all like setting up "baked elements" in nested comp shots or buried under grade layers, other than both work, but how do you prefer to organize things? I'll more often than not nest a comp rather than use the grade layer bake since I can pre-render the comp if desired or use the nested element in further comps. šŸ˜€

  • Dimipapa
    Dimipapa Posts: 449 Enthusiast

    I bet the tutorial for Triems version was 45 minutes long

  • Triem23
    Triem23 Posts: 20,397 Power User

    @Dimipapa Ahem. My initial was 30 minutes. I trimmed, slashed, cut theory and other usage, and, eventually, sped it up 20% to make a 15 min runtime limit...

  • spookynooodle
    spookynooodle Posts: 4 Just Starting Out

    This is an effect where I'd expect to be using it pretty much constantly, so I would want to set up some kind of template, although I would want to be able to edit things like font, font size, borders, drop shadows, etc.

    Another thing I'm wondering is, can you put a composite shot into another composite shot? Like, could I animate my words being revealed, then animate the line of words rotating, but make it so that doing so doesn't change how the text relates to the mask layer?

    I'd be interested in replicating some of the effects for this tutorial:


  • Triem23
    Triem23 Posts: 20,397 Power User

    Yes, you can absolutely drag a Composite Shot into another Composite Shot. Hitfilm calls this "nesting," Ae calls it "Pre-comping" and most software calls it "nesting."

    Now,once a Comp is locked, or if it's complex, you might want to "Pre-render" by right clicking the Comp in the Media Bin. This writes a lossless proxy file so Hitfilm is just streaming a video file instead of rendering.

  • spookynooodle
    spookynooodle Posts: 4 Just Starting Out

    But I'm assuming that means you can't edit the pre-render past that point, unless you want to make changes, then pre-render again. Wouldn't streaming a lossless file be kind of laggy?

    Also, I don't know if anyone but the developers know this, but does HitFilm treat a text layer as text, with characters and stuff, or does it treat it as a flat layer with special masking, once you've finished editing the text properties? Like, could I animate the color of individual letters?

  • Triem23
    Triem23 Posts: 20,397 Power User

    The devs have never confirmed, but I think it's effectively a masked and textured poly. You can't, as yet, animate text properties, but there are some feature requests in that forum about it you should Vote Up.