Transcripts
1. Course Trailer: << Hey, I'm Jake Bartlett and this is the ultimate guide to Text Animators in After effects.Text animators are an incredibly powerful part of After Effects but if you've ever played around with them, you know just how confusing and complex they can be at times. There are so many properties and controls that aren't that easy to understand at first glance and if you've ever taken a look at the bundled presets that come with After Effects, they're not that pretty. You may have completely written them off and just always animated your text by hand. But the reality is text animators make extremely complex animations really easy to create, adapt and modify. Not using them is one of the biggest mistakes you can make as an After Effects user. In this course, I'm going to completely demystify this tools that you can start making your own custom text animators and use them over and over again to speed up your animation workflow. This course is for students who already have a basic understanding of After Effects. If you're new to the program, check out one of my beginner's courses first. I'll link to those in the notes of this video right now. For the class project, you'll be building your very own custom text animator and turning it into a preset that you can use in future projects. Once you've completed this course, you'll have everything you need to start building your own custom text animator library and you'll be wondering why you didn't start using them sooner. I'll see you in class.
2. Text Animator Basics: Let's jump right into this and talk about just what a text animator is. Because if you've ever used one before, you're probably a little bit confused with all the crazy complicated settings, and it just behaves differently than animating pretty much anything else inside of After Effects. I'll start by just typing out some texts. I'm going to grab the text tool, command T on the keyboard, and then type out, "Winner, " with an exclamation mark. That's nice and fun. I'm going to center that up. I brought up my guides by pressing the quote marks on the keyboard, that's the same key as the apostrophe that will bring up your guides there, the title safe guides. I'm just going to put that around the center. I could also use my align to composition panel under Window Align and then I'm going to put that in the center, that's actually much easier. I'll turn those guides off and we can move on. What I want to do is open this up and go into the text section. You see on this row right here, we have animate with a little arrow. This is going to open up a menu for text animators. To start, I'm just going to grab the position animator and then I'll explain what's going on. I'm going to click on that and then that totals down even more inside this text field. Let's take a look at what we have. Now there are a few options up here that we're just going to gloss over for a second and move right down to this right here, Animator1. That is a text animator group and this is what is going to allow us to animate our texts in a very dynamic, very powerful way. Inside this group, we have what's called a range selector, so that indicates that you can have more than one selector within a text animator. Underneath that is position. This is the property that I selected in the animate group. Remember I clicked on Position, so it automatically generated an animator group for this text layer, it gave me what's called a range selector, and then it gave me the property that I chose. Now on this position property, you see that I have an x and y position, so I can grab this and move it around, just like moving the layer around. I can key frame this so I could set one key frame here, move it off screen, and that is going to animate. But that's no different than just opening up the position property of that layer, the transform controls, and animating it that way. That's really not a very beneficial thing to have within a text animator, so I'm just going to get rid of those key frames. Instead, I'm going to set the y property to be off the top of the screen. I'm going to back this up until it's all the way off. Now I'm going to open up this range selector and we have a few properties, the start, the end, the offset, and then some advanced controls. Let's start with these first three; start, end, and offset. These three properties are being represented using percentages. They're the percentage of the text layer that is being affected by the position value that I just changed. Right now, the start of this selector is at zero percent, the very beginning of the text layer, and the n value is set to 100 percent, the very end of the text layer. It's containing all of the characters within my text layer, and it is applying this position property of negative 652 pixels on the y-axis. Everything is off screen. If I grab this end value and bring it back, you can see that one at a time, those characters are being drawn back down to the center of the screen. If it's not selecting anything, if the start and end are both on the same value, it's not selecting anything, then it's not applying this position transformation at all. If I turn it back up, then it animates off. If I leave the end at 100 and I grab the start and move it forward, then it writes this text on from the top of the screen down one character at a time. I could animate this, so let's start it at zero, move forward a little bit and then add 100 percent for the second key frame, back it up and play back, and there we go. We've already got a little bit of an animation happening, but it's very, very rigid. It's just dropping one letter at a time. The entire letter animation happens before it moves on to the next letter. It's just not that pretty. It's nice that we can do this, but it's not very pretty. Instead of animating the start and end values, the power of text animators is really using this offset value, and it takes a little bit of understanding to really grasp what this is doing. Let's walk through it one step at a time. I'm going to get rid of these key frames and move the start value back down to zero. Now again, my selector is selecting all of the text in my text layer from zero percent, the very beginning of the text to 100 percent on the N value, the very end of the text. Think of that range as the size of what's being affected on this text layer. If I grab this offset value and move it forward, you can see that that same text animation is happening again. If I go from 0-100 percent, then it's going to give me that same animation. I'll key frame this so you can see, play it back. It's doing the exact same thing. What's happening here is that it's taking this range of 0-100 percent, which at the beginning of the animation is applying this transformation to the entire layer, and it's offsetting it. It's shifting it forward to the right so that less and less of that text is being selected and in turn, having this position transformation applied to it. If you're not really following, don't worry I'm going to show you a visual example here in a second, that's probably going to make a lot more sense. But my point is that using this single offset property can do the same thing as using either of these two properties, the start or the end, at least as it is right now. The power of this is that we can now go into the advanced drop-down and change some of these settings. Now there are a lot of settings in here, but don't get overwhelmed. We're going to go through just the ones that we need to work with right now to make this look a little bit nicer. I'd like these characters to one, animate and more smoothly, but also I want to have more than one character moving at a time. Let's take a look at one of these properties that we can adjust. This one right here is called Shape, and you can see that right now it's set to square. I'll explain that in a little bit, but I'm going to go into that drop down and change it from square to ramp up. Now watch what happens. It's not exactly what I want, but you can see that these characters are almost like dominoes or a waterfall. They're coming in more than one character at a time. If I scroll back up to my offset and take a look at the key frame values at the first frame, I have zero percent. We can see a visual representation of this range selector here, that's what this arrow here is and this arrow here is. This is the start of the range, this is the end of the range. As the offset moves forward, you can see that the start gets shifted over. The end doesn't move but that's just because After Effects isn't going to push it off of the text. But you can think of it as if this entire selection from here to here is being shifted over in this direction as the offset is animated. But one thing that the offset value can do that start and end can't is having negative percentage, so it doesn't have to start selecting all of the text. If I back this first value up to negative 100, then my texts goes all the way back up. The ramp up shape is now being offset negative 100 percent of the selection range, which is all of the text. Basically, everything in this text layer is being affected once again by this position value, and now that I have this animating from negative 100, where that position value is affecting everything, to 100 percent where it's affecting nothing because it's been pushed all the way off past the text. If I play this back one more time, now it all drops down from that starting position off screen into this final resting point and it's doing it in a much smoother, more gradual way. Now that I have this set up, I can play around with the range size. If I took the end and back this off to say 50 percent, now that cascading is going to go faster because that range selection is smaller. Again, if I bring this up, you can see that by the time the end value gets to this part of the range, the start value starts to move with it. This animator is moving through the text and affecting how it looks as it's animating. If I dial this back down to say 10 percent, it's going to be just a tiny range selection and it's going back to looking like it's almost animating one character at a time. If I extended my animation out so it took longer, you'd probably notice it a little bit more. But this is what's going to affect how quickly the text animates on. If it's at 100 percent, it's going to go much more gradually. Let me dial this back in so it's a little bit quicker. Now let's think about how we can make this a little bit smoother. If I scroll down again into this Advanced tab, there's these two values down here, ease high and ease low. You can think of these exactly like ease in and ease out using the speed graph or easy ease, anything like that. If I just go to a frame where this is partially animating in and I grab the ease high and turn it up, see that these letters are going back to the top. That's indicating that this is the ease out of the first position. If I grab the ease low and bring that down, you can see the letters are moving closer to the resting position. That's the ease in into the second key frame. I'm going to crank this up to a 100 percent in turn the ease high down to say 20-30 percent, somewhere in there, and play this back. Now this is a much, much smoother animation, and it's being controlled by these two key frames, offset from negative 100-100 percent. I didn't have to do any graph editor treatment to this motion, I just messed with the ease high and low just a little bit using that ramp up shape, and I've got something that looks nice and smooth. The true power of this is that I can now change this text to anything I want and play it back, and it's going to animate in the exact same way. That is the true power of text animators and it's why I'm dedicating an entire course to just this subject, because I think there are a lot of motion designers out there using After Effects who aren't taking full advantage of text animators. Like you've already seen, there are lots and lots of controls in here, but we're going to cover all of them. That way by the end of the course, you'll have everything you need to start building your own text animators and using them in your workflows to speed up your efficiency.
3. Selector Shapes & More: Now that we've got that one built, let's just turn it off and start over with another type of animation. This one, I'm going to scale up the text. I'm going to move this to the center of my composition again. Let's go back down into this text layer to the text group and choose animate. This time, instead of position, I'm going to animate the scale. Right away we get this little overlay that we didn't have before, this little tiny axis at the base of every letter. These are the anchor points per character for this text layer. They are important because the scale can affect every one of these characters individually, so did the position property. That's the point of these texts animators is that you can animate all of the characters individually or randomly, or very specifically. But these are indicating where the anchor point will be for the scale. If I grab this and scale it up and down, you can see, it's not scaling from the layers anchor point, like if I were to just grab this and scale it like this, it's going to scale from the bottom center of every character. Let's say I wanted to scale up from nothing to this full-scale. I'm going to set my scale property down to zero. This is my initial value of my text animator. I want the actual animator itself to wipe this off, so that we end up with that full-scale text that we just had. Let me go into my range selector now, and take a look at the actual selection. Now I can't see the overlays because I scaled my text all the way away. If I put this back up to 100, we can see the start, we can see the end. If I grab this and click and drag, this will actually change the start and end, and I can do this interactively up here in the composition. I'm used to just changing the values down here, so that's probably what you'll see me do the most, but know that you can do that if you just click and drag over here. What I want to do is clearly explain to you what the difference between the square shape, ramp up, ramp down, and all these other shapes are. Let's focus on square first. We can actually see these overlays. I'm not going to scale the text all the way down, probably just something around 25, and that way we can see this range. Because we can see it now if I change the offset, you can see that if I'm backing it up to a negative percentage, it's bringing that end range over to the left. Remember it's also pushing the start over the same distance. It's just that after effects is displaying it as not being able to move any further left than the first character. If I move it to the right, you can see that all that text is being affected by that range, and then I can push it further and it scales up again. Really quickly, I just want to draw a shape the same size as this text to give you a visual guide as to what's happening. This shape is square, so I'm just going to drag a box around the text roughly and move it below this text layer. That is really hard to look at, so let me just change the color to something like white. Then I'm going to set a key frame at the beginning where the offset is set to negative 100, move forward, say about this far and push it all the way to 100. Then I'm going to grab this shape which I'm using to represent the range which is 100 percent of the text. The start is at zero, the end is at 100, and I'm going to rename this selector. On the first key frame, I'm just going to move this over, again remember this is purely a visual representation. This isn't actually doing anything. I'm just visually explaining how this selector is working and I'll set a position key frame there, command, and control P to set a position key frame. Then I'll move forward to the second key frame and shift this over to the opposite side. I'll fit my comp to the view by pressing shift, and backslash with the question mark on the keyboard, that fits to the comp view. Let's play this back. This is a perfect visual for what exactly is happening. Imagine this white box being the text selector, this range selector rate here going from zero to 100 percent. It's the size of the text layer and the offset is pushing it from all the way over here where it's not affecting the text at all because it's not overlaying it at all. Then it's pushing it through the text and scaling the letters down one by one until it's covered all of them. Then it's going to move straight on past it again in the opposite direction. That is the square shape, so I'm going to call this square selector. Then I'm going to duplicate this, hide the original and I'm going to call this ramp up selector. Then I'm going to go duplicate this text layer as well. I'll just rename this so I don't forget. This is the square animator. Then I'll duplicate it and call it ramp up animator. Move that to the top, make sure that second text layer's off. Then I'm going to go into the text animator, into the advanced under the range selector and change that shape from square to ramp up. Now the shape that best represents the ramp up is a triangle. I'm going to go into my shape layer into the contents rectangle one and right-click on rectangle path one and convert that to a [inaudible] path. Again, this is not stuff you need to remember. It's purely for the visual aid that I'm creating right here. If you want to learn more about shape layers, I have a class dedicated to that called The Ultimate Guide to Shape Layers' and after effects, go check that out. Then I'm going to go into this path and edit it and get rid of this point right here. Now it is a triangle or a ramp and it is ramping up to the left. If I play this back, does this make sense now? It's ramping up, so the shape of the selector is now ramped so that the more of this selector that's being pushed across the text, the more it's affecting the text actually scaling up and it's doing it in a gradual way. The size is still 100 percent the width of the text, but the right side of it isn't affecting it nearly as much as the left side. This is literally a ramp up. That's what allows us to have this more gradual animation when we're using the text animator. If I were to change this from ramp up to ramp down, which is another one of our shape settings, right here, ramp up to ramp down. We're going to get the opposite animation now, my shape needs to change, so let me just reverse this, just transform, and flip horizontally. Then that makes a little more sense. It's scaling the text down. Or a better way to think about it is that this text animator that I've applied, the scale transformation isn't being applied at all at the beginning, and it's ramping down to that final scale. Now we have some other shapes in here too, like triangle, let me undo, so we get back to our rectangle right there, and I'm going to change the shape to triangle and play this back. Now, if we just stop right here in the middle, you can see already what that shape looks like. If I grab the actual shape layer and just add a point here and bring it down to the bottom. This is literally what triangle means. It actually might make more sense if I took the point at the middle, at the bottom and got rid of these two points here. Now you can see that shape really how it is affecting the text. Personally, I don't think I've ever used the triangle shape, but it's another option. You should definitely know that it's there. You also have round, which is going to be similar to triangle, but it's going to be rounded. So more like this shape right here. Then we also have smooth and this one I believe is going to be a shape that's a little bit more like an S. If I add some handles here, bear with me as I make this shape, but it should probably look something like this. That is the shape that's moving through. It's very similar to triangle, but it's just a little bit more smoothed out. Those are all of your shapes. Again, I really have never used triangle, round or smooth. I rarely use square, really, I stick to ramp up. That's pretty much what I always want to use because of the way that it makes everything animate on nice and gradually, very smooth. I'm going to go back to that shape so you can see that. There we go, and make sure ramp up is selected and it's scaling back up. Nice and gradually now I'm going to change the scale down to zero so it does actually start at zero. Now I want to work on the Ease High and Low. If I change this Ease High to 60 and the Ease low to 60, then I just need to mirror that easing with my keyframes on the Ramp Up selector. I'm going to select those two keyframes. Right-click and go to keyframe velocity and change the influence on the incoming velocity to 60 and the outgoing velocity to 60 as well and that should match up. It's not exactly perfect, but you get the idea it is now easing that motion. If I were to grab, say the n value and change this to 50 percent, well now my range selector is half as big as it was. So I need to go into the scale of my Ramp Up selector and change the x to 50 percent, and then just make sure that this is lining up to the edges of the text, which are, let's see, I'll bring out a guide. It goes right about here on the left side, right here on the right side. So yeah, that's a pretty good estimate, and then over here it's going to end up here. If I play this back, it should line up again. There you go. So my selector is smaller but it's still ramping up and it's still easing. Hopefully that little visual helped you understand exactly what's going on with the range selector and the ramp up shape and even the other shapes. Ramp up is what we're going to be focusing on probably for all of the animators in this course. But if you ever needed something that wasn't so smooth and gradual, then maybe square would work for you or you want to add some random movement throughout your text, then maybe the triangle shape would work better because it allows you to just wipe on this transformation in a jagged way. There's lots of options here. My goal for most of my text animators is to be very smooth and gradual. Now let's take a look at some more of these settings. If I open up my text layer, go into that animator and again, we take a look at those little x's, highlight, the range selector actually the scale that's going to give us these x's; the anchor points. Now we can adjust where these are and even how the grouping of these characters are behaving under More Options. We haven't looked at this yet, so I'm going to back out of the animator group and go into More Options. First option is anchor point grouping and it's set to character. That is why we have a little tiny x for the anchor point at the base of every single character. If I go into this, I can change that from character to word and then those little x's the anchor points change. They're now in the center, the bottom center of every word. If we play this back, and I think we can turn off that little visual aid now that we understand how that's all working. This is scaling up still one character at a time, but based on the entire word. So the anchor point of every letter is the center of that word instead of the center of every character, and it just looks a little bit different. I could also change this from word to line, and then it's all going to scale from the center of that layer or that line and if I had multiple lines of text, so we'll just say line number two. I'll make this all center justified. Now, each line is going to be scaled up based on the anchor point for the line that it belongs to. So we have two anchor points, one right here, which you can't really see just because of the way that the overlays are hiding them. But there's one anchor point right here, that tiny little x for this line, and there's one right here behind that transform control for the second line. That's where they're scaling up from. I can also change that from line to all, and then it's going to average all of the lines together and scale from the very centers and now it's scaling from the center of the entire block of text. Now I'm going to change this back to word. Remember this is giving one anchor point per word, and then I'm going to go into the animator, into the Range Selector. Down into Advanced. There are lots and lots of menus when working with text animators. I know I'm going a little bit fast, but these are the controls that you need to be aware of. Once again, we're in the animator group in the Range Selector under the advanced options for that range selector and we're going to change the Based On from characters to Words. If I do that, now every word is going to be scaled up as a whole. Even though this is a single line of text, it's treating every word as its own animated piece of text. I could also change this to lines and then it animates one line at a time. But again, because our More Options anchor point grouping is set to word, it's still scaling each word independently. If I change this to line, then it's going to do the first line, then the second line. These two options, even though they're in very different places, very much go together and they affect how your animator is going to work. I'm going to change this from lines back to characters. We also have the option to exclude spaces. By default, under characters that is going to count spaces in the offset. So it's measuring that range. It's going to include the spaces as part of that range and if you take spaces off, it's going to take them off. Now it's very rare that I ever need to do that, but be aware that is an option. I'm going set that back down to characters, and I'm going to change my anchor point grouping back to character as well. So now every single character scales up from its base, but we have the option to change the grouping alignment. So I'm going to pause this again. We can see all of these little x's for the anchor points. I'm going to grab the Y percentage, the second value, and just shift it around, and now you can see that I can change where this anchor point is. If I move it to the top and play it back, now there are going to scale from the top down. If I move this to the left, go to where we see all of our texts, that left edge of the text. It's going to scale from the top left corner. I can even move it further up and now it's going to have a position animation as well, even though it has just the scale property applied down here at the bottom, because the anchor point has been shifted all the way off to the top there. It's scaling from a point that's actually moving the text as it scales. That's very important to know about because it allows you to change drastically how your characters are actually being animated. Once again, let's see how that looks with the anchor point just slightly off the bottom, but centered on the text there. Just remember to play around with this settings to see how they affect things. If I change the anchor point group to Word, then every character is still animating on individually, but the anchor point is based off of the word, not every character. There's a lot of possibilities here. I'm going to change that back to character, and now let's add a second transformation to our Text Animator group. When you open that back up and you see that I have this little Add button. This up here, Animate. This is how we've made our Animator so far. We've just selected one and it's automatically made, an Animator and a Range Selector and then applied that transformation down here. I can go to the Add under that Animator group now, and add any other property. There's even more selectors which we're going to get to in a little bit. But the properties, this is the same menu as what we had under Animate. I can add a position to this Animator as well. It doesn't affect anything because it's set to zero. But let's say that the initial position I want to be off the top of the screen again. I'm going to move it way up and now it's scaling up while moving down at the same time. These two properties are being applied to the text layer using the single Range Selector and Text Animator. I could also have it pushed in from the right instead, from the right to the left. I'm going to change this back to just one line for now, and let's just pretend I'm making a Text Animator for a single line of text. I'm going to change this position property to going off the top of the screen, which is little hard to see since it's set to zero percent scale. I'm just going to scale that up a little bit so I can see how far up it needs to go, and then I'm going to change the scale actually. Let's move this text back down so I can see it, and change this to 100 percent on the X. The width is always 100 percent and then the scale is actually much bigger on the Y. My anchor point grouping, I changed that alignment a little bit. I want that to be at the base of the text, so I'm just going to set that back down to zero. It's scaling up from the base of the text. I'm going to scale this pretty far up, and then I'm going to shift this text way off the top of the screen so we don't see it at all and play it back. You see that this is a stretching text animation. It stretched to the top and it gets down to the normal scale once it hits the ground down at the bottom. That's just a fun little stretchy Text Animator. It's very easy to adjust. If I go into my Range Selector, I can change how quickly that offset Animates. We could go much quicker. I could undo. I could change the range down to say 29, and now it Animates like that or change it up to 100 percent, and now it's much more smooth. I could speed up the key frames. It's all very flexible and it's super interactive. I could just collapse some of these. I'm just focusing on these transformations and then try pushing it off to the right a little bit. It doesn't move up and down, instead I'll just move it from right to left and I'll reverse these two. Change this down to 100 and this to 355, and now it's going to scale from the left. I just need to make sure that it pushes entirely off to the side of the screen there. Something much different. Maybe I don't like it easing out of this position. I'll go into the Range Selector, Advanced options and change the Ease High down to zero. Then it's not really going to ease out of that first position. I could even pull this into a negative value. It's easing even less from that position, it's very fast. If I move it forward a little bit, we can see how there's nothing and then it just shoots in very quickly. I typically don't use motion blur but something else that is very important to know is that, Text Animator support motion blur per character. If I turn that little switch on, motion blur. If you don't see that, just click on this button right here this little switch, then I enable motion blur in my comp. You can see that looks much quicker now. That motion blur really helps sell that speed. Like I said, I don't use that all that much, but know that it's there and that it works with Text Animators. Let's get back to something just a little bit more standard and take a look at all of the properties that we have access to. I'm going to come to the position and the scale, and I'm just actually going to delete them. I'm going to select them and press Delete. Now nothing happens when this Animates on. It's just gone at the start because there's nothing there. I'll just back that up to the start of the comp. Nothing is happening. The Range Selector is still animating, but is not able to apply anything since I have no properties in this Text Animator. I'm going to add a new one, under property we'll go to rotation. This is a very basic one. If it's set to a 2D layer, right now it's just 2D, we only get the rotation on one axis. Let's go to the beginning. Before that, that Range Selector has been wiped off to the right side and see how that's affecting it. Every character rotates around that single axis. I could put this down to a 180 degrees, play it back and it all rotates up very nice. That easing is a little extreme. I'll change the Ease High to 39, 40 percent, and now that's much more smooth. I could always go into the more options and change that anchor grouping so that it's rotates in from the top left corner instead of the bottom center. If I come down to my Text Animator group and go to the Add button, into property, at the very top, we have this option called Enable Per-character 3D. I'll click on that and that gives us this custom little icon with two 3D boxes on that switch. I have the ability to rotate the x, y, and z rotation not just the z. Let's take z down to zero and look at the y. If I change this, then it's going to wipe it off to the left or the right. I'm going to back this up 90 degrees and then play it back. It rotates into place. You could also do it on the X-axis and change that to negative 90. I think that's rotating towards us. It's rotated toward us initially and it rotates down into that resting position. This is really great for making more dynamic Animation. You're not stuck to 2D axis. You can have all three x, y, and z axis to play around with the rotation, the scale, and the position that Enable Per-Character 3D allows you to affect all three axis on those different properties. If I go to Add and I put in the position again, now I have x, y, and z. I could push this back in z space. It's going to rotate and scale up. I can push it down a little bit as well. Now it just has a little bit more dimension to it. I could also change the opacity, that it'll be at the beginning here. It isn't visible because of the perspective of the camera, we can still see it even though it's rotated at 90 degrees. If I were to push it down even further, we can see those characters even more. Let me add another property, the opacity, and change that down to zero in the start. It's going to fade up, as it's doing all of that. I also could've done this with the scale, if I take that opacity off and add a scale in there and just turn that down to zero on all three axis, We're losing some of that rotation because it's so small to start with. I want to just rotate it back a little bit further so we can still see some of that rotation. Hopefully you can see just how flexible these Text Animators are and how easy it is to manipulate things. It renders very quickly and you're able to just play around with it until you get something that you like.
4. Complex Animators: But what if we want to make something a little bit more complex? Let's say like texts that swings-in per character. Let me just really quickly make a new text layer and call it 'SWING IN' and center that up. I'm going to animate this as if it was any other layer and I'm not going to use a text animator and I'll show you how I would approach this. I'm going to start by making a 3D, and then I want to move this anchor point to the top of the text so that it rotates from that point. I'm going to press Y to switch to my anchor point tool, click and drag on that anchor point while holding down command or control on a PC and that's going to snap to certain parts of my layer. I'm going to put it right at the top. Then we're going to press R to bring up the rotation and the only rotation value I'm concerned with is this X-value right here. So I'm going to start by swinging that back positive 90 degrees and I'll set a key frame. Then I'm going to double-tap S with that property selected SS, and that solos whatever properties you have selected. That way I can focus on just this key-frame and I'll back this up to the start. So I'm going to grab it, hold shift and drag it to the start of the layer. Then I'll come forward, I don't know, five frames; so page down, 1-2-3-4-5 frames. And then I'm going to rotate this back not down to zero, but forward a little bit, so maybe somewhere around here, I'm just eyeballing it. I'm not paying attention to the number as much as I'm just looking at how far forward this is going to swing. So we've got this little swing from the back forward. That's way too fast, I'm just going to click and drag it, and maybe that's a little too slow, so something like that. Then I'm going to go, let's see, that's seven frames, I want to go five frames forward, 1-2-3-4-5, and then go back the opposite direction and make sure I don't go past the value that I had previously. I had negative 36, I want to make sure that I don't swing more than 36 degrees in this direction, because in physics, the way that something swings in, it's never going to swing further in the opposite direction on the next swing, unless something forces it to do that, it's going to decay over time and swing less and less in each direction until it's come to rest. Let's go back not 47, but say maybe twenty-something, so somewhere in the twenties. Then we'll go forward a few more frames. I actually just made a big mistake; see I had all of these key frames selected when I adjusted that property, so it affected all three of those key frames equally for how much I rotated, so let me undo back to where we were at 47, so there we go, 90, negative 36, and then I need to deselect those key frames and then adjust this. There we go. Glad I caught that, so somewhere in the twenties, just rotates it back a little bit. Then we'll go forward a few more frames page down on the keyboard and rotate it forward maybe 10 degrees, and that's barely rotated forward at all. And then go forward a couple more frames and set this to zero. So we have a basic swing, but there's no easing. I need to work on this,so let me zoom in here so we can see it nice and close. I'll select all of the key frames and go into the graph editor. If you don't know how to use the graph editor, definitely check out animating With ease version two, that class is dedicated entirely on how to use the graph editor. So I'm going to zoom in here and I'm going to switch to my value graph. I'm going to select all these key frames and easy ease them, which is this button right here. From here, I'm going to manipulate these curves. The first thing I want to do is select all of the key frames and just increase the easing just a little bit, so we have something like that. And then I think I need to space these ones out a little bit, so I'm going to shift these two key frames forward; I did that by making a selection holding down option or Alt, and then using the left or right arrow keys. I'm just going to give a little bit more time for this animation to resolve at the end. And right at the very end, this one right here seems way too strong, so I'm going to easy ease that one more time. Then maybe just pull this handle back a little bit and move this one forward a little bit. Now that looks a lot more smooth, I think I'm pretty happy with that, it's very rough and dirty, but I'm not too worried about perfecting this. I just want to show you that this is how I would animate swinging-in text. From here, if I wanted to do this on every single character, really my only option is to break it up into multiple layers. So to make this easier, I'm going to change this to left-justified and shift this over, which I can't align it to the composition because it's a 3D layer now. But we'll leave it about there and maybe move the anchor point up just a little bit so it swings from a higher point, there we go. Now what I need to do is duplicate, delete everything but the S. So I'm going to command X to cut, then I have just the S. I'll duplicate this, command D, shift it over, and I want to make sure I'm at the very end so I can align this more easily, paste, cut out everything but the W, and as you can see, this is a very labor-intensive process, but it's pretty much the way that you have to work if you're not using text animator. So let me just finish this off. All right, and then I can delete the original layer, and I'm left with all of the characters that I had in basically the same position that they were originally. I can play this back, it looks no different. Obviously, I want them to animate one at a time, so I now need to select all of these and offset them one frame at a time. You can do this by hand, just selecting all these, moving it forward and doing it like that. But there's actually a quicker way, if I select all these in the order that I want them to animate in. So S, and then shift click on the last N. I go to the first frame and press option or Alt on a PC and the right bracket that will trim the end to be just one frame, so all of these are one frame long. I'll right-click, go to transform or key-frame Assistant and say sequence Layers. This is going to sequence the layers just like it sounds, based on the length of the layer, so it's going to put the start of the second layer right after the end of the first layer and sequence that all the way along. So I'm going to press okay. And now that those are all sequence, I can go to the end over here and press option or Alt on a PC and the right bracket to trim the out point of every layer to that point. And now that start of the animation for every letter is offset one frame at a time. And there you go, I've got my finished animation. So that is all of the work that it would take to build this animation. Every single time I want to change the text, I'm going to have to read, separate all those characters out and offset them in time. It's very labor intensive and by no means easy to do. And if I wanted to adjust the way that these were swinging in at all, again, I'd have to start over, break up all the text manually and space them all out in time. But if we use a text animator, we can reproduce this exact kind of animation and automatically apply it across any text that we typed into the text layer, save it as a preset and reuse it for years to come. So let's build that text animator right now. I'm going to just delete all of this, we don't really need it, I'm going to add a new text layer and we'll call it 'SWINGING ANIMATOR' I'll change that paragraph back to the center justification and align it to my composition right in the center one more time. Now, We are going to need multiple text animators in order to make this happen. We're going to build the text animator exactly the same way that we did without the text animator before. We're going to start with that initial position of the text swung back behind so we can't really see it. First thing I need to do is animate and then make sure that Enable Per-character 3D is enabled. Now this time it did not add an animator because I'm simply enabling that option. I still need to go into the animate and then choose rotation. Again, all I'm concerned with is the X-rotation rate here. I can actually select the Y and the Z and delete both of them. That way I am just honed in on what I'm actually animating. Next, I need to change that angle points. I'm going to go into the More Options; Angle Point Alignment and drag that up so it's just above the letters a little bit. That way it's swinging from up here not right at the top of the text but that's always easily adjustable. I can change that after the fact and it will update dynamically. Collapse that up and take a look at our X-rotation. Now, I'm not going to just bring this text back, Set a key frame, move forward and build that animation exactly the same way. Instead, You can think of each animator as a key frames. This first animator is going to be my initial position of 90 degrees. That's all I'm going to have it do, Because you can have multiple animators within a single text layer interacting in effecting the text in different ways. I'm just going to rename this group by selecting it and pressing "Enter" and call it starting position. There we go. Then I'll collapse that. I'm going to add another animator. In fact, I can just duplicate this one. Command or Control D and call this position two. This position needs to counteract that original rotations. Let me set this back down to zero. We still have that text rotated back. Now I said we need to counteract it so if I go -90 degrees, It's going to bring that text back down to zero. This is a little bit confusing because I have to work with these offset values now. Making sure that you get this right at the beginning is going to pay off once you get to reuse this animator over and over again. The second position, I want it to swing out about here. Remember this position you can think of like the second key frame in my original animation. Let's have it swing out a good amount. Maybe around there. I'll just round that off to a -140, Which is actually 50 degrees from that base value because this is 140 degrees minus the 90 degrees that it's counter acting. It would be 50 degrees forward. If that doesn't make sense, let me just show you quick. I'll turn off the starting position and change this to -50 degrees and there we're back to that same position. I'll undo. There we go so hopefully that makes sense. It's -140 degrees from that original starting position of 90 degrees, Which equals -50 degrees. We're going to have to do a little bit of math but like I said, It's going to pay off. Now, I need to go ahead and start animating this so that it's working the way that I actually want it to. I'm going to go to the range selector, Go into advanced and change the shape from square to ramp up. Already we're getting something very interesting. Now I want to animate the offset. The range from start to end being zero to 100, I'm fine with but lets back the offset up to -100. Actually, In this case, I don't want it set to ramp up, I want it set to ramp down. There we go. Now it's back to the original position. I'll set my key frame of the offset at -100 and then move forward, I don't know, maybe a second. That's probably way too long but we'll see and then I'll change the offset to 100 percent. I'll play that back. That's way too slow but there we go. We've got that text swinging from the first position to the second position. Let me back this up a little bit and also adjust the ease. Now, I want this to ease in both directions for this first move because it's easing out of this resting position and easing in to this next resting position. Let's just back it up and change the ease high to say around 60, Somewhere in there and do the same thing for the ease lowest. Let's just change them both to 60 and play it back. It's a little hard to tell exactly how much ease we need just with a single move, I think this is a good place to start. Let me just back it up to 20 frames. Keep it a nice even 20 frames. Then I'm going to duplicate this group one more time. Position two becomes position three. I can now offset that swing one more time. Instead of going -140, I'll change this back down to zero. We're back to that 50 degree offset and I need to go in the opposite direction. Fifty degrees would put us back at zero. Then from there, I want to go maybe 30 more, Somewhere around 80-85. Then I want to grab that range selector, That offset value, Clicking on that property selected both key frames and then I can move it forward a few frames. Now, let's see what happens. It's swinging from one position to the next. This position three animator isn't doing anything until right about here. Right when this first animator has pretty much swung the first character entirely forward and then it just moves on. If I push this forward, we're going to get this swing and then the next swing. I want to align this so that right about where this S is at a resting point, which it looks like is right about there, That's when I want this second animator to start coming in and affecting the text again. Let's play that again. It looks a little too slow. See how that S rests just a little too long in mid A right there. I want to bring this back maybe two frames. We've got great progress. Let's duplicate this one more time. Position three becomes position four. I'll change the rotation back down to 0 so we can see how far off we are. I think that was 30 degrees from the previous values so if i go -30 or actually it was 35 so -35 puts us at zero. Then I want to back off maybe another 20. I'll go to 55, -55, that is. Then I'll go into the range selector one more time. I'll move it all the way off so I can see where that resting position on that second swing is for the S. Right about there. Back this up. Now play it back one more time. This is looking great. Hopefully you can see this pattern. I'm going to duplicate it one more time. Now I have a fifth animator. I want to go to the end, Makes sure I know how far back I need to rotate this to get to 0, Which should be 20. Right there is at zero degrees. Then I'll go maybe forward 10 more. I'll go to 30 or even a little bit further, let's say 40, Which is 20 degrees off of that 0 base value. Then offset my range selector one more time. Change those key frames to right about here is where that S is stopping. Back it up and play it one more time. I think after this swing, We can go to the final resting point. I'm going to duplicate it one more time. Change that value down to zero. That should be 20 degrees off of the baseline. If I go forward or backwards -20 degrees, That should be perfectly resting at zero degrees. Let's open up the range selector move these key frames one more time, Find where the back of that swing rest point is. Right about there. Move these key frames and see how that looks. I think it's all lined up great. I'm just not happy with how much it swings back on that third swing right there. It moves forward once back, that looks good, forward again and then back. Right there I think it's going too far. That should be position five I believe. I'm going to change that value. Now this is going to affect everything beyond it because all of these values are based on the previous animator. They're all building on what was done before it, so it can get a little tricky if your values are off. That's why it's important to make sure you know how much you want these to be adjusted. Maybe I want to take 10 degrees off of this extraction, so I'll change it from 40-30. Because I'm taking ten degrees off of that one, I need to make sure I also take 10 degrees off of the next one. This should become negative 10 to get back to that zero resting point. Let's play it back again and see what it looks like. I think that's a great. Now what I could do is play around with the timing a little bit. Near the end, those swings could go a little bit quicker. I'm going to just select this layer and press "U" to bring up all the key frames and then grab at the last two animators, second key frames and just back them up a little bit. In that way they animate a little more quickly. Maybe I'll even do that for this animator as well. Also for the last two, I want to adjust the easing. It's a little bit too stiff there at the very end. I'm going to just press "U" one more time to collapse the layer and go into, let's just focus on the very last animator position six into the range selector, into advanced and change the ease high and low down to say 35 on each of them. I'll do the same for position five. Into the range selector, into advanced and change that is high and low down to 35. I think that's working better. I'll press "U" one more time and then maybe back this set of key frames up one or two frames. Just so that animation resolves a little bit more quickly at the very end. There we go. I think that's looking pretty natural and this entire time I'm just focusing on the first character. You can get really tripped up if you're looking at the entire cascading animation rather than just that first character. Remember whatever you see happening to this first letter is going to be applied to all the other letters exactly the same way. If you just focus on one character and makes sure that swing is nice and dialed in, then everything else is going to work out great. I'm going to press "U" to close that layer, go into the text, into more options and change the anchor point grouping alignment. I'll back it up even further and now it's going to swing a lot further away. The point that it's rotating from is way up here. I could also drop that down. Maybe I want it to swing right off the top of the letters. That's a completely different look. Much more stationary. I could also swing it from the base. There's nothing stopping me from doing that and it's very easy to just play around with until he gets something that I like. I think I like the top anchor point a little bit better. But there's still an issue. If we take a look at the first frame, you can still see all that text because again, that camera perspective even though it's rotated 90 degrees, the camera perspective is allowing me to see stuff that I shouldn't be. What I want to do is add in an opacity to the initial position, that starting position. If I open that up and go into add and see property opacity and I turn that down to zero, it disappears, but it does not come back as everything animates on, it's still animating. You can see the outlines of the characters animating, but that opacity is set to zero, so we don't see anything. But if I copy this and paste it into the second animator and turn it back up to 100, then the opacity animates on as well. It reveals the text. But I really don't like how slowly and gradually that opacity animation happens. Instead of putting this inside of the position two animator, I'm actually going to delete that and make a new animator right between the starting position and position two. Actually I'm going to do this by duplicating position two, I'll move it up and I'll call this opacity reveal. Then I'll go into that and delete the X rotation. I don't need that. I'll add that opacity one more time, changing it to 100 percent. Now this looks exactly the same because it's using the same key frames. If you look right here, you can see that the key frames for the range selector offset, because I duplicated them are exactly the same and the easing is exactly the same. That is actually what I want to adjust the easing for that specific opacity reveal. If I go into the advanced and change the ease high from 60-100, then we're going to get that opacity 100 percent much quicker and if I take the ease low off, it's going to happen even faster. If I back it up to negative 100, it's going to happen even faster. At the very beginning, it's going to be zero percent opacity and then very quickly become 100 percent opacity. This is effectively making the text invisible until it starts animating. But because that ease is so strong and it animates on so quickly, you really don't notice that opacity animation happening. It basically is just revealing each character as it animates on. You can see just how quickly I was able to build this very custom animation. The amazing thing about it is that again, I can double-click on the text layer and change this to say my name. It's going to animate on in exactly the same way. If I had, let's say one line of text plus two lines, it'll still animate. Now this looks slightly different. You'll notice if I undo back to the text that I had, it's animating on much more grouped that is the best way I can explain it. These letters are offset from each other as much as they were. That's because there's more characters to animate on. Our offset is based on a percentage. The timing of my key frames has not changed in the animation takes exactly the same amount of time, but it's applying the animators across the text regardless of how many characters there are in that same amount of time. The more text you have, it's going to look a little bit different. Unfortunately, that's just something that you have to deal with. Now I could go through and adjust these key frames that it takes a little bit longer and play with the offset to fit the text that I want. But what I'd rather do is maybe make one that is designed for one line of text because I know that one line of text is generally going to have a relatively similar number of characters. For something with a bigger block of text, maybe multi line, whether it's two lines or three lines or a paragraph block of text is going to require a different animator. I would just make a second animator that's set up for that amount of text. However, there is a roundabout way of making an animation. Take the same amount of time regardless of how many characters that you have. I'm going to show you exactly how to do that in the next video.
5. Character Index: Let's build that alternate version of the swing animation. What I'm going to do is just duplicate this. I'll first rename this one, percentage, and that will make sense in a second. I'll duplicate this and call this, units. Now I'm going to turn off the original and take a look at this first one. This is units of characters, spell that right. Then go into this layer. Now under the "Text" and going into any of these texts animators. The starting position into the "Range Selector" and into the advanced options for that range selector. This first property is called the units, and it is based on a percentage. But we have the option to change this to an index value and this is literally a value assigned to every character. I should have called this index of characters and this layer should be called index. But the index just means that this first character has a value of zero, the second character has a value of one, and so on all the way down the line. Basing our units on the index of characters rather than the percentage of characters is going to give our numbers over here just hard numbers, no percentage signs and our offset is no longer a percentage. This is going to change and break everything that we just did, but I think it's important to understand. I'm going to rebuild this swing animation in this way so you can see why it's beneficial. I want to change the units for every one of my animators very quickly. To do that, I'm just going to have this layer selected and type in the search bar units. That way I can find all of these at once. These are all of the range selectors advanced properties and I'll just "Command" or "Control" click on each one of these so I can change them all at once from percentage to index. Now all of those are set and it brings up the start and in offset for each one of these properties as well. Now like I said, I'm pretty much going to have to rebuild this almost from scratch which is unfortunate but that's just the way that it's going to have to be. Seeing me do this though will allow you to think about if you want to build your future animators in this way. You can make that decision beforehand and not have to go through this whole process. Now if I play it back, it looks exactly the same because it's just converted the percentage to the number of characters in my text layer. There are 19 or 20 characters total if you count zero. Let's just double-check that 1, 2, 3, 4, 5, 6, 7, 8, 9, 10,11,12,13,14,15,16,17, and I forgot the reason why it's only 17 is because it's also including the spaces. I was wrong, it's not 20, it's 19 and that does make sense. Because 19 is actually 20 characters because zero is counted as the first character and 20 would be right after the "S". It's basically wiping from zero before the "I" all the way to after the "S". I hope that makes sense. But because it's defaulted these two 19 characters what I had, or a value of 19, which is the number of characters including spaces that I have. If I change this text to anything else then it's not going to work the same way. I mean, yes, it does work, but if I typed out a lot more text taking up multiple lines, then we're going to get something really weird happening. That's because this is now only working up to the first 20 characters including spaces, and that's true for every single one of these text animators. What you have to do in order to get this to work, is basically think of how much text is this animator ever going to realistically animate on. You have to put constraints on it. There are going to be limits but it's going to allow you to apply this in a much more controlled way where you know the animation is always going to look in a specific way regardless of how much text is typed out. Now I'm guessing you're not going to be animating on a paragraph of 500 words all onscreen at the same time, at least not in this way. We don't have to think in numbers that big, but there's a good chance that maybe 100 characters of text will be animated on screen at one time. Maybe this is for a social media call out. Say you are designing something for a twitter caption bubble that's popping up and animating on. Well, I think there's a character limit of 250 characters or something like that. You could find exactly how many characters the maximum amount of text would be for whatever you're designing for and make that your limit. I'm just going to round this of to 100 characters. This is for bigger, bolder text. I'm probably never going to need a 100 characters of animation but that's what I'm going to design this for. I'm going to start by changing my start and end values. The start actually can stay at zero and change the end to 100, and again I know this is including zero as one so technically that's a 101. But for the sake of just being clean and concise I'm going to leave that at 100. Then I need to make sure that my second key frame goes to 100. Let me go to that key frame and change that to 100, and my first key frame needs to be negative 100. I need to make sure I'm not selecting both of these negative 100-100. Now this is going to be going by probably a lot faster than my original animation. This is all going to look really messed up until this is finished so bear with me. But, because it was only animating 19 characters in this span before and now I'm animating a 100. This animation is probably going to look a little wonky. Just bear with me. I'm going to maximize my timeline. I don't even need to see this right now by pressing or hovering my mouse over this section and pressing the "Twiddle" key, which is the little squiggly line right under the "Escape" key in your top left of your keyboard. That maximizes the panel so I can focus on my values here. Now that was for my opacity reveal animator. But the key frames and the start and end values are all going to be the same except for some of the timing down here. For now I'll probably just replace all these so they are exactly the same timing. I'm just going to select the start, end and offset values by clicking and dragging "Copy". Then make sure that under my starting position, this also needs to affect everything, the same number of characters, the 100 characters not just 19. Let me collapse that and open it again. Go to my "Range Selector" and there's the start, end and offset. Actually, I don't need to copy and paste these values. I'm just going to make sure that the end is set to 100. The offset is not animating so I don't have to worry about it but there we go. We've got our starting position taking care of, I've already copied the start, end and offset. I'll close that up and then I'll go to the start end and offset for this position too. Now this is on the first key frame for that animator. I can just paste over it, those values are updated. I'll close that one up and go to the start, end and offset of the next animator and make sure I go to the first key frame that point in time and paste. Then I'll close that one, go to position four, start end and offset. First key frame and paste, now this is the first one where the timing has changed. I'm just going to delete the key frame that was left over. For now the timing again, I'm just going to leave it all the same and I'll adjust it later. Go to the next one and do this process for all of these groups. Delete the extra key frame, start and offset and paste, delete and then press "U" on that layer to bring up all the key frames. Now, let's take a look at what happens. All right, we're back to this animation where it looks fine. The swing is happening, but the characters are grouped together a lot. And this is because of the timing and spacing of my key-frame. So I can now play around with these to get something that looks closer to what I would actually want. And the first thing I'm going to do is just select the second key-frame on all of these animators and drag them out so they take longer and see how that affects the text. Okay, so that actually did the opposite of what I wanted to making everything takes a lot longer, which makes sense. I made the key-frames take longer, so the animation takes longer. But if I back this up, the swing is happening more quickly. But it's still not animating the individual characters as offset as I'd like. And this is because of the range that I have determined for each one of these. So if I select this text layer and I search up here in the search bar again for start comma end that's going to bring up the start and end values for every one of these range selectors. Now they're all currently set to 100 characters, so my range selector is really big and that's why the characters are not offset very much. Now, I want to change all of these at once if I can zoom in to select two of them, and yes, I can adjust these multiple values at the same time. So I'm going to select all of the end values for every one of these animators and actually, I want to make sure I don't have the end value for that starting position because that is going to affect how much of the initial position is being applied to the text. So I'm going to leave that as it is, I'm going to hide this group by pressing "Option" or "Alt" on a PC shift and then clicking on that group. And that's just going to hide whatever you click on from your selection. All right, now I have these end values still selected I'll go forward in time to kind of the middle of this animation and then back the characters off and as I do that, you can see that these characters are now animating a lot more individually. So I can back this off to maybe seven and it's a little crazy, but this is actually probably what I want. I know it doesn't look quite right right now, but that's just because of the timing of all of the key-frames. If I play it back, you can see what's happening. So maybe I want to back this up to around ten characters. Remember the, the original set which equaled 100 percent of the text was 19 characters. So I'm going to make it a little bit quicker, maybe 14, let's say 14. And now what I need to do is just play around with my key-frame. So I press "U" to bring up all the key frames, I'm going to grab the second key-frame from every one of these animators and just extend it out and see what happens. And I'm probably going to have to do this quite a bit. It's going to take seconds of time to work. Now there we go, we get we're getting something that looks a lot more like what we're looking for. Not a lot happens at the beginning, but I'll get to that in just a little bit. Let's just move this to where it starts animating right about here and I think this is working out a little bit better now this is controlling how quickly these characters swing in. I think it needs to be even a little bit slower. There we go. That looks a little bit more natural, maybe not quite so slow. Play one more time. Again, I'm just looking at the "A", nothing else. I think that swing is looking pretty natural. What I want to do now is work on the offset between each one of these animators. The first two, I don't need to worry about, but I'll grab all of these other ones. Go to wear that "A" comes to its first resting points. So right there. And then I'll move this group of key frames a little bit until it starts affecting that swing going the opposite direction. I'll go to that second resting point, deselect these key-frames by pressing "command" or "control" on a PC and then finding that second resting point again right about there, shifting these key-frames until they just barely start to influence the swing for that "A", deselect again, find the next resting point right about there, back this off, maybe a frame. Final little swing right here and then that actually might work out just the way it is. And there we go. So again, I'm just looking at that "A", let me zoom in nice and close and we can study this swing for that one character. I think those last two swings are taking a little bit too much time again, which was something we ran into originally, but I'll back this up a couple of frames on each of those. Yeah, I think that looks good now that is cascading across all of the lines and the thing about this is because I'm basing it on the index value rather than a percentage. It's not going to change in terms of the speed and the timing of the swinging based on how many characters are in the layer. So if I double-click on this and change this back to my name, it should look exactly the same as it does with multiple lines of text. So let me just prove this to you by duplicating it and typing in one word, just one. If we move this up right by this word "lot" and play it back, you can see that those two words are animating on exactly the same, the same amount of offset, the same speed, regardless of how many characters are in it and this is going to work for up to 100 characters. Now the reason why this is not animating on until, well in a past a second into the animation is because my offset for each one of these animators is pushed 100 characters back, negative 100 characters to the left so it's taking time for this range selector to get to the text before it starts actually affecting the text I have. The more characters I have on this text layer, the less time it's going to take for the animation to kick in. But that's also why the animation is basically done before any of the final key-frames over here. It's because a larger range selection is having to travel a further distance across this text but because that distance traveled is always exactly the same, any amount of characters up to 100, including spaces, will work with this animation, which is a much more precise way of creating a preset so you know, the text is always going to animate exactly the way you want it to. If being that precise isn't that important to you then by all means, just use the percentage it's much more flexible and dynamic and you can get your timing to be much more precise using that method. And this is a much more complex example because I'm using, I think six different range selectors from six different animators. If you were just using one range selector and a bunch of properties, using units might not be that much of an inconvenience and it wouldn't take this much time to adjust but seeing something this complex being built will hopefully give you some insight into how to make these types of animators, even if they're for simpler animations.
6. More Animator Controls: Let's take a look at some more of the properties that we have access to in a text animator. So I'm just going to type out some text, center that up in my comp and let's get animating. So I'm going to animate. We've already seen position and scale. Let's take a look at Skew. I'm just going to set up a basic Range Selector animator, just like we've been doing this whole time. Set the offset to negative 100, go forward about a second, go to 100 and then make sure that my advanced shape is set to ramp up. Now that's going to move through the text. Now nothing is happening because I need to actually make an adjustment to the Skew. So we've been given two different properties, the Skew and the Skew Axis. So if I go back to the beginning and skew the text, there, we have that angle changing the text. So that's cool. It's a unique thing to text animators. You don't really have that option anywhere else in after effects, at least not being able to animate it like this. I think I'll add in some easing. Let me go into the Range Selector ease high, we'll say 66 on each of these, and play it back. There we go. So we've got skewed text becoming, straight up and down non skewed text. But we also have the Skew Axis, so it's leaning to the right, but I could change this, to skew in basically any direction. I could also change the amount of just the skew to change the rotation for that skew. If I wanted to say having 90 degrees skew and back it up to something like that. So I have this kind of stair-steppy text. I can do that and then I can animate it off. So that's one of the properties you have access to. Remember you can stack these, you can add multiple properties. So we could also have scale added in here, turn this down to say 50%, and then it's small and it grows. There's lots of possibilities here. Another thing that we haven't really talked about yet is that you can also animate these properties. You can add keyframes to them. I don't know why we'd want to do this, but I'm going to grab my two keyframes and move them forward. Then open up that layer one more time and take a look at the Skew property or maybe the Skew Axis. Let's try the Skew Axis. Something like this. I just want to give that some randomness. Like it's wiggling back and forth like this. Again, I'm not sure why you would want to do this, but I'm going to do it just as an example. I'm going to hold down "Option" or "Alt" and click on the Skew Axis and type out my expression, wiggle with two Gs, open parenthesis. Then I want to do the frequency or how often it's wiggling. So we'll say four times a second comma and then the amount of the wiggle that it will go in either direction or from the set value of 90 degrees. So let's say 45 degrees. Then I'll do a close parentheses and a semicolon to finish it off, click "OFF". Then in the beginning right here before this animator wipes off, it's going to be wiggling a little bit like that. Then as it wipes off, that expression basically gets discarded because the Skew Axis is no longer being applied. We're wiping it off with that ramp up Range Selector. It doesn't have to be animated by an expression. I could get rid of that. Maybe the skew, I set a keyframe here for how much it's skewed. Then over here I change the angle so that it ends up over there, somewhere around here in the animation. Then it's rotating and it comes back up. So just be aware that you can animate these properties as well. Most of the time, I don't need to do that, but it is something that you should be aware of. I'm going to get rid of the scale skew and Skew Axis. I am going to collapse up my Range Selector and then let's add another property. Let's see, you can do the anchor point, but this is just like the position. The only reason this is any different is if you combine it with something like rotation or scale. So let's just take a look at that. I'll grab an anchor point and I'll grab a position, and then I'll add in a rotation as well. So I have three properties available to animate. So position allows me to move it up and down, left and right. Then that will wipe off back down to where it was. If I do the same thing with the anchor point, it basically looks like the same animation, right? It wipes it off. It offsets where it is, and then a wipes it off. The difference is these anchor points down here have stayed in the exact same spot. So it's shifted the text off of the anchor point by these values. Because of that, if I do something like Rotate, see that that rotation is happening around those anchor points and then they'll wipe back on like that. So if I wanted to shift it way off down the bottom, there we go. Then it's going to spin in nice and snappy bouncing into that spot. If I were to do this with the anchor point or the position instead, we set the anchor point back down to zero. Push this up and over. You can see that those anchor points are still at the base of the text. So even if I added in this rotation, it's only going to rotate around that anchor point. It'll still move and rotate into that spot, but it's not rotating on the fixed point down here. That anchor point is moving with the text. So that is an important thing to distinguish between position and anchor point. You can get something that looks very different if you use anchor point combined with one of those other properties. Let's get rid of those two properties and see what else we have: Anchor point, Position, Scale, Skew, Rotation, and Opacity. We've seen all of those. So those are the main transform properties and you can add all of them at once just by clicking on all Transform properties. I don't need that. We've already seen enable per character 3 D. But let's move down to this section right here. We've got fill color, which has a bunch of options. So let's take a look at the first one, RGB. This is going to give us a basic color picker. So if I move back to the beginning, you see that the text is red because this fill color set to read. So let's change it to something nicer, something that can actually be read on top of that bright yellow background. Then play this back. So there we go. That's an easy way to wipe color off or on and just change text or animate that color across your text. So that's your RGB. I'm going to delete that and add a Hue. Now this is not really going to change on some texts that's pretty much gray, so I'm going to change the color to something like a blue. Then I'm going to grab that fill Hue, and you can see that I can shift that off. Now that Hue is going to change. So this is kind of rainbow-y. If I go really crazy and just shift this way around the hue cycle, then it's going to start in one color and wipe this rainbow color ending up with a color that I actually set the text to be. It doesn't have to be that extreme. Maybe I set it back down to 180 degrees, then it's something a little more subtle. We could even do 90 degrees. So that's a really interesting way to animate color. This might be a good example of when you would want to use a different kind of shape. So if I go back into my Range Selector, into the advance and change shape to say triangle, then it's going to wipe that color across the text. But you'll start with the same color that you end up with. So it's just this color that's moving through, and you could increase the ease high and the ease low. You can see how that is affecting the wipe. It's literally changing how much that color fades from one character to the next. So if I turn that ease down, it's going to show up a lot smoother. So just be aware of what you can do with those shapes and the different easing. Next up, in the fill color, we have saturation. This is exactly what you might imagine. It's a saturation's lighter, so I can turn it down in a will get rid of the saturation and then bring it back up, or I can increase it, and then it's going to from the more saturated or less saturated. So that's one option. Then we have the brightness, just increasing or decreasing the brightness of that text. I've got to make sure I'm at the back, the front of that animation so we can see the difference, but this is just going to change the brightness value, which is right here. My color is already set to percent, so it cannot get any brighter. That is the maximum brightness. But it is basically doing this exact same thing that I'm doing right now. Just adjusting the brightness without touching the hue or the saturation of the color. Then we have the opacity, which is basically the same as just adding an opacity normal transform property. The difference is if I were to add a stroke to this text, so let's do that. I'm going to add a nice dark stroke and then make it a little bit bigger. See that fill opacity is not affecting the stroke opacity. So that's why you would want to have that as an option just in case you ever want to just animate the fill on, but still have that outlines stroke visible no matter what you do. Let me zoom in here so you can see it a little bit clearer, but the outline is not being affected at all by that fill opacity animator. Delete that and I think that is everything, yes, so that's everything for the fill color. We have all of the exact same options for the stroke. So these allow you to animate the stroke and fill independently of each other using a text animator. But we also have the stroke width. This text has a four-point or four pixel stroke applied to it. If I turn this stroke width down to negative four, then it's going to animate that stroke on, just scaling it up so that it reaches the final stroke width that I have set. I could also start with a positive number. So let's say four instead of negative four and it's going to be thicker and scale down, or I could go really crazy. There you go. Now maybe I want to put my all fills over all strokes for this text, and that way you always see the fill. But now we have this big block-y outline that's scaling down. I could also go into this little "MENU" under the character palette and make sure my line join is set to round. And then my stroke is going to be much softer when it's nice and big like that. So that's the stroke width. I'll get rid of that and let's move down the line. Now we have tracking, line anchor and line spacing. Let me get rid of this ugly text. Let's put it back to something just nice and simple, like a dark red, grayish color. Tracking is going to allow us to space out the characters from each other just by adjusting the slider. So I can spread it out and then it's going to come back in. Now because my text is sender justified, this is kind of shifting the text around in a kind of weird way. I'm going to left justify the text instead and then center that up in my comp again and see how that affects it. Now it's just bringing the text in from the right. It's pulling it from the right to the left. But let's say we actually did want it centered or justified, but we don't want it wobbling around like it did. Let me undo and get back to where we were and think about how we might get this to happen. It's actually really simple. All we have to do is go into our range selector, and into the advanced controls, and then go to the based on, this is what the selector is basing the animation on remember, and it's currently set to characters. If I change this from characters to lines, then it's going to look at the line as a whole instead of as individual characters in that range selector offset as it moves through the text, it looks at the entire line and animates the whole thing at once rather than just the individual characters, so that solves the problem. The next property in the list is line anchor. You see that this is actually grouped with tracking and line spacing. This is an indicator that it actually needs tracking in order to work. I'm going to add tracking back in, and we'll set that back up to say 32. Then I'm going to add that line anchor back in. What this is going to let us do is basically change the appearance of the justification without actually changing the text justification. Right now, if we look at the character palette, this text is centered justified. Not left, not right, but centered justified. If I grab the line anchor and turn this down to 0 and play back, you can see that it's animating as if it was left justified. It shifted the text over, and now that text is animating from right to left. If I turn this up to 100 percent, It's going to animate like it's right justified, even though the text layer is actually centered justified. Setting it back down to 50 percent leaves it right where it was as if it wasn't even applied. This is a method to specify the justification of your text layer if that's something that's important, but animating it as if it's a different type of justification. This is a property I've never really needed to use, but just like everything, it's important to know what your options are in case one day that property might be very useful. I'll get rid of the line anchor and let's take a look at the third option in that group, which is line spacing. Now this is not going to need the tracking property so I'm going to get rid of that. Line spacing instead needs multiple lines. Let's do line 1, line 2, and line 3, I'll zoom out and move this up. What this is going to do is allow us to change how much spacing is between each line. I can even offset them on the x axis so I could have them stacked texts like this, and then it'll wipe off. This is actually a really good time to point out that you don't have to use text animators for animation, you could use them just to offset lines of text like this sequentially. If I wasn't animating anything, I'll take the offset off. I really don't even need a range selector, I can delete that and just have this line spacing applied. Then I can just use it as a way to offset the lines of text like this. Which is a whole lot easier than having to drop down a line out a bunch of spaces drop down and figure out how many more spaces I need to be the same amount, it's just a very useful property for manipulating my text layer. Let me undo so I have those animation key frames back and get rid of that line spacing and we can move on down the list. We already looked at everything up until character offset. I'm going to apply that, and what this is going to do is literally take the numerical value that is assigned to every character and just offset it. If I change this up once, all of my letters have been jumbled. You can see that now instead of line 1, 2, and 3, it's 2, 3, and 4. They've literally just been offset one value. Now they're all running together because the kerning of all of these letters are based on the original character values. That's not going to update and those letters are going to get jumbled together. But if I just push this really far up and then played it back, you can see that it's kind of like code being unscrambled, so that's a really easy way to do that type of animation. But if you notice that didn't just give us the character offset, we also have options for the character alignment and character range. Character alignment is set to left or top. If I change this to center, and you can see that shifts the characters around, so it's basically justifying every character based on the width. That does update with every character. The actual Kerning does not update, that is still based on the original value, but we can change this to left or top, center, right or bottom, or adjust kerning. Now this is exactly what you would need if you want that kerning to update properly for whatever text is being displayed. Now under character range, we have the default option of preserved case and digits. What that means is it's going to keep numbers. It's only going to offset that from zero through nine then back down to zero and it's going to keep letters within Letters. It's even going to preserve the case. So if I were to choose a different font that wasn't all caps like Helvetica, and we'll just choose a bold version, then you'll notice that all of these letters right here are staying lowercase, and these ones over here are uppercase, these numbers are always numbers. I could change this to full Unicode. What that means is it's just looking at the entire spectrum of this fonts library, and Just rolling through every single one of the possible characters. The problem with this is that sometimes you're going to get blank spaces because within a font file, there are glyphs that are sometimes left empty because the designer didn't create a character for that so that's not always going to be a very good option. I'm going to undo a little bit to get back to my previous font and I'm going to turn this back to one line of text. We'll just type out something like "THE MATRIX" and play this back. Then I don't really like how the line width is shifting around so much so instead of using this font, maybe I should choose one that looks more like code. If I type in "mono" in my search, I have a few fonts that are mono with fonts. Let's just choose Ubuntu Mono bold and then turn off adjust kerning. We'll just say character alignment should be left or top, and now that's going to look a lot more like code being written out. I could really crank the offset here so that it shifts through a ton of letters, and let's say that I want that code to be changing even before the offset is wiping through it, I could add expression on the character offset to do that very simply. So I'm just going to press "Option" or "Alt" and click on that stopwatch, and type in time times, let's just say 100. What this is going to do is look at the current time value, which in this case is 18 frames, and multiply it by 100 and put that value into the character offset. I'll apply that and now that text is just going crazy until we wipe it off. It kind of just looks like text that's being decoded and then wiped off into the actual text that it should read as. Remember I chose this mono width font, so that's why it's working well. If I were to change this back to abolition, then some of these characters are going to run into each other. Now it's not very noticeable because this font is very close to being a mono width font. But you can see like right around in here, these characters especially are running into each other because it's basing the original kerning on this I and the letters next to it are much wider, so like right there those letters are running into each other a lot. But as a design choice, I might like that better than actually changing this to adjust kerning. Because then my text is just going crazy all over the place. Let's move on and we only have a few more left. I'm going to get rid of that character alignment, character offset, all of that, I'm going to add. Our last option right here is Blur. This is a very simple Gaussian blur. I can blur out the text and bring it back in. If I combine that with say, an opacity, I'll turn the opacity all the way down, and it's kind of just going to blur in and I could combine that with say, a scale. Scale that down to around 40, and then maybe change the anchor point grouping to the center of the text somewhere around there, then it kind of looks like it's fading in from the distance. Just for fun let's add in some tracking. I'll add that in and turn the tracking amount up, and maybe I'll crank that tracking up a lot. Maybe not quite that much. I think that's going a little bit fast, so I'll just go into my range selector, space out these key frames a little bit, and then maybe go into my "Ease High", which should be the ease out from the original position and turn that down. Maybe even in a negative direction and turn my ease low up, then I've got something that just kind of wipes on really nice. Again, it's as easy as just changing the text out to something else. So text animators and it is going to continue to animate on it in exactly the same way.
7. Animating Out: Okay, so we've covered all of the different properties that we have access to that we can animate using a selector, whether it's arranged selector or something else. But let's talk about how we could animate something off so far, everything we've been doing is just animating something on. But what if I wanted this text to come on and go off in a similar way. Well, we can combine multiple range selectors, just like we did with the swinging text in order to make that kind of an animation happens. So let's say we want this to wipe on over two seconds, stay on for two seconds and then wipe off for two more seconds. What I want to do is actually just duplicate range selector one duplicate and I'll call the first one in, for animate in and the second one out. Then I'm just going to grab the offset key frames and push them forward in time over here. Now this is going to break my animation at the beginning because I basically have one animator that is applying these properties that I've set down here and wiping them off. But then I have a second selector that's doing the exact same thing. It's not until the second one finishes that that actually disappears. To get this working what I need to do is go into the advanced options for out and then make sure that I change the shape from ramp up to ramp down. It's not affecting anything when it's wiped off here to the left and as the offset moves through the text, it's going to ramp down applying these properties back onto the text. If we do this, there we go, we see that it animates on and then animates off in the opposite direction. That's something important to note the text is animating from left to right on and then it's wiping from left to right off. It's giving us a different looking animation in the opposite direction. That's very different from say, taking these two key frames and duplicating them. I copy them and then I'm pasting them. I'll right-click and say key frame assistant, time-reverse key frames and I'll just move this or actually I'll just shut off the out animation. This is going to wipe back off in the same direction at wiped in. It's literally just reversing the animation. Whereas if I take those key frames back off, turn this one back on, it's going to wipe out in the same direction that it's wiping in, so it's producing a different looking animation, which is nice.
8. Wiggly Selectors: Next I want to talk about something we haven't really looked at yet. If I go into either one of these Range Selectors into the Advanced, notice that there's this Mode and by default it's set to Add. Now in our current setup, it doesn't really do much, so I'm actually going to get rid of this animator and we'll start over. I'm going to animate the Position. What I want to happen is basically have this text animate from the top and bottom and maybe at the sides a little bit in a random way. We can't really do this with a Range Selector on its own, but I'm going to show you how far we can push it. Let me just move this text up and then adding my Range Selector, Offset, negative 100. Move that to the beginning and then go to 100 percent. Then change my easing to around 66 percent on each of these one more time and change my shape to Ramp Up. We've got this animation where it's dropping down nicely. Now, I want this to happen randomly, like I said, not just going from left to right. Well, if you haven't noticed yet, there's this little button right here called Randomize Order, if I turn that on just by clicking it, now the text is going to come in randomly. This is close to what I want, but what I really want is for some of the text to go off the bottom of the screen and some to go off the top. I can't do that with a Range Selector. However, if I combine it with another type of selector, I'll going to Add, Selector, Wiggly this is going to open up some more options. You can see that right away my text animation has adjusted. What I want to do is just focus on what a Wiggly Selector is first. I'm going to disable the visibility of my Range Selector. As you can see, this text is just wiggling all over the place, hence the name Wiggly Selector. Now, this does not have nearly the same options as a Range Selector, you see, and when I open this up, we have all different kinds of things, including this Mode which is defaulted to Intersect, it's not defaulted to Add because this can interact with the selectors that are above it. Now because I disabled the one above it, it's not intersecting anything right now, so it's just behaving the same as if it were set to Add, no difference. Let's take a look at some of the properties we have, Max Amount and Min Amount and that set to 100 percent and negative 100 percent. This is literally saying, what is the max amount that we can apply, the adjustment that you've set down here, so any of the properties that we put down here, it's saying, how much wiggle do you want to apply to that value? The max amount of 100 percent means that it will wiggle negative 656 pixels, and the min amount means it will go in the opposite direction as well, so it's going to invert this number and wiggle at 656 pixels in the opposite direction. If I were to change the min amount down to 0, it's only going to wiggle in the direction that I've typed in down here. If I change this to 650 positive, it's only going to move 650 pixels down, or rather wiggle a maximum of 650 pixels. You can see that some of these letters are nowhere near 650 pixels down. If I just turn the min amount up to a rather turn it down to negative 100, then it's going to go crazy in that same direction. Now the reason why this is wiggling up and down is because we have a wiggles per second right here, this little value set to 2, I could increase this to 4 and then it's going to wiggle a lot faster. Could turn it down to 0.5 and I'll go real slow, or I could even just turn it down to 0, and it's not going to animate, it's just going to randomly position all of these characters. Let me put this back to 2 and then jump up one value based on Characters. Now we can change this to Characters Excluding Spaces, Words, and Lines, just like some of our other tools. If I change it to Words, then it's just going to wiggle the individual words, not the characters. Same thing with Lines, if I had multiple lines, so be aware of that. I want this to be set to Characters. The next option down here is Correlation. This is basically how much it should correlate to the original text, so if I turn this to a really high value, you can see that this text is a lot easier to read because those characters are staying much more close together. If I turn this up to say 96, and it's just going to look like this springy animation, and maybe I want to turn the amount of pixels down so it's just bouncing a little bit, it almost looks like a little caterpillar or spring or something. If I go in the opposite direction, turn the correlation down to 0, then it's just going to be pure chaos. The characters are all 100 percent independent of each other. That's actually what I want for my random text animation. Let's leave that correlation down to 0. I'm going to turn the wiggles per second down to 0 as well because I do not want them jumping around like that. I just want to use this Wiggly Selector as a way to spread all of the characters out individually from each other. The next options allow us to choose how these wiggly characters are looking on this static frame. If I turn the Temporal Phase up, you can see that shifts them around like they're wiggling, so it basically allows me to choose a frame that I like better. Spatial Phase is going to do something very similar. When it's not animating, it's really not changing anything. One is just based on time and the other one is based on the positioning. Then we have the option to Lock Dimensions, which doesn't do anything right now because I've only adjusted one dimension, but if I change the x dimension as well as the y, you can see that this is shifting everything around. Let me bring some animation back into this, so you can see this is now just making all of them fly around like crazy. If I turn Lock Dimensions back on, now they're going to move in a diagonal because that is locking the x and y movement together. It's increasing or decreasing both of those values together symmetrically. I don't need that, so let me move that back down to 0, Lock Dimensions is off. Then finally we have a Random Seed. Now normally, when you see the word random seed in any part of after effects, it means that you can just randomly generate something new, so you'd think that the change in this number would just randomly regenerate the positioning of all these letters, for whatever reason it does it in a very linear way, so shifting this around is very similar to changing the Spatial Phase and very similar to adjusting the Temporal Phase. It's not random in the way that I'm used to instead of after effects at least. If you really want truly random movement, you're going to have to do it manually with some key frames or just adding in some expressions. I really don't need randomness, I just need to make sure that all of my characters are completely off the screen. I'm going to turn the Position way up on that y-axis, and then I'm going to change the Temporal Phase until I get something very close to all the characters being off the screen. This is very close, so maybe from here, I'll just mess with some of the values until all those characters are gone. This one almost made it. I think I'm just going to have to crank this up a lot, and there we go. Now those are completely off screen, but nothing is animating so what I need to do now is combine this with my original Range Selector, because remember I said this could be stacked and interact with the selector above it. If I turn Range Selector 1 back on and I go to the beginning, the Range Selector and the Wiggly Selector are being combined to apply this transformation Position. But the Range Selector at the top, which is set to Add, it's the master selector is going to control how much, not only it is applying at that position, but also the selector below it because it's set to Intersect. If I play this back, you can see that this wiggly selector is now wiping off so that we're getting this unaffected text. This is exactly the animation I wanted. Now, maybe I want to adjust the easing a little bit because we don't really need to ease out at all, so maybe I'll turn my ease high all the way down to negative 100 and turn might use low up, and maybe that's a little extreme, so I'll just turn those back a little bit, but there you go. Now we have a nice smooth random text animation coming into place in this very random way. Now remember this is happening randomly because Randomize Order is set to on. If I turn that back off, the text is still going to come back in from top and bottom because the wiggly selector has randomly shifted each character up and down, but it's wiping from left to right in a more uniform linear way. Checking that box Randomize Order is really going to affect how your animation ends up looking.
9. Expression Selectors: We've touched on almost everything that text animators had to offer, but there's one last selector that we haven't looked at yet, so let's do that right now. It's called an expression selector. If you don't know what an expression is, it's the coding language within After Effects. It's based on JavaScript, but it allows you to do things that are sometimes Ts or almost impossible to do by hand, very simply. It uses code to do that. Now if that scares you, you can honestly skip this section. Expression selectors are very complex, they are not that easy to grasp. If you don't understand expressions at all, then it's probably going to go straight over your head. I'll be up front [inaudible] with you. I've never personally used them myself. And part of that is because they're so complex. There's never been a point where I actually thought I'd save time by using an expression selector over just animating something with brute force by hand. But there are some really smart people out there on the internet have figured out some very clever ways of using the expression selector and I learned from them. I'm going to call out to them right now. Joey Cornman of School of Motion put together an excellent tutorial on YouTube. I'll link to that right now covering how to use text animators and a lot of what I cover in this course is talked about in that tutorial. That's great. You should definitely go watch that as well as Joe from Workbench, which is another great YouTube channel, he put together a tutorial is specifically explaining how expression selectors work. So you can see that in the notes of the video right now as well. But I'm going to walk you through this expression selector and explain what it's doing and how you might use it. Let's open up our text layer and go into animate and let's just start with position. It doesn't matter at this point. Remember, this is going to give us an animator group, the range selector by default and position. Now I'm going to add another property or selector rather and make sure that I choose expression. That'll add this second expression selector and if I twirl this down, it just has a couple of options based on which these are familiar to you. By now we can select how we want this to be interacting with the text. We have an amount of value with three axes, all of percentages. But you'll notice that this property right here has a little arrow, which means we can twirl that open and this has added an expression to this amount properly. Let's read this expression. It says selector value times the text index divided by the text total. All right, so let's break this down a little bit. First of all, these three attributes, selector value, text index and text total are only applicable to text animators. They don't work anywhere else in After Effects expressions, you can only use them here. Let's talk about what each one actually means. Selector value is referring to a property in the selector that's actually above this expression selector. It's weird that they did it in this way, but the selector value attribute is looking at the selector above the expression selectors. So in this case, the range selector. Twirl that down, open up the Advanced and it's looking at this amount property. Selector value is the amount under the advanced in the range selector above the expression selector. You can see why this is complex and hard to comprehend, but just keep that in mind. Selector value is this amount slider right here. Next up is the text index. This is a numerical value assigned to every character because we have our expression selector set two based on characters. So E is one, x is two, p is three down the line. Because we're including spaces, we're not excluding spaces. This space would be counted in that text index. If I changed it to excluding spaces, it would get rid of that space or a ignore that as it's counting, it skipped from the end. If we change this to words, then this would be word number one and this would be word number two. We can do the same thing with lines. I'm going to leave that at characters, the default, and then the text total is the number of total characters in your text layer. It's going to count all of them up based on whatever you have this property set too, and that's the value it's going to return. Now that we know what those three attributes mean, we need to think about what does this amount property mean? What does selector value do? Because our amount is set to 100%, but we haven't covered what that amount slider does. First, I'm going to turn off the expression selector so it's not affecting anything. I'll just move the position around. Let us raise the text up, and then in this amount slider, if I turn it down, it's going to remove the influence or how much of this is being applied. So if the amounts that down to zero, then this position transformation I've applied is not affecting it at all. I can add in some rotation as well as turn our amount and backup to 100 and rotate the characters, and I can also turn the amount down and that's going to remove both properties. What's interesting is that I can also go in a negative direction, so it's basically inverting these numbers. If I go to 100 percent, negative 100 percent. Like I said, we haven't used this yet because there hasn't been a need to, but it's coming into play with expression selectors. I'm going to get rid of the rotation and reset this position back down to 0, makes sure the amount is set to 100 and enable my expression selector one more time. I'll twirl that down and let's look at what this equation is doing. What this expression is saying. It is that take the selector value, which is 100 percent, and multiply it by the text index, which is unique for every one of the characters because that's what we have our units based on. Then divide it by the total number of characters, if I grab the position and change the Y-value, something interesting happens. Instead of the entire line of text moving that distance, each character is moving a different distance. If I turn my expression selector off and you look at this, R rate here, you'll notice it's not moving at all. It's getting the same amount of position applied to it regardless and that's because of the way this expression is written. Remember that selector value 100 percent times the text index. So first of all, we've got 1,2,3,4,5,6 all the way down the line. So it's taking 100 percent of this position transformation and multiplying it by the character index. For the E would be 100 times one, so 100 and then dividing it by the text total, which there are 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19, total characters. It would be one text index of one divided by 19 the text total, so 1 19th times 100. A very teeny tiny amount of this position transformation that's being applied to the first character. A little bit more to the second, a little bit more to the third, all the way down the line until we get to 19 19ths, or 1 and 1 times 100 is 100 percent. So that is why the R is getting the same amount of position applied, whether this expression selector is being taken into account or not. Now this particular effect isn't anything special, I could have done this exact same thing with a Range Selector set to ramp. Let me just turn off the expression selector, change the shape from square to ramp up. And there we go. We've got the exact same stair-stepping looking shape. However, if I undo that and turn my expression selector back on, changing this expression to something else, but using these three attributes that are unique to text animators is where things can get really interesting. Let's say, I wanted the first character to move down, and the second character to move up, and then the third character to move down, and the fourth character to move up. Odd numbers are moving up and even numbers are moving down. Well, this is something that an expression selector actually can do very effectively. You just have to have some basic know-how when it comes to expressions. Like I said, if you're not comfortable with expressions, and this is probably all going over your head, and not making a lot of sense. If you're interested in learning more about expressions, I have a handful of tutorials on YouTube where I explain some of this. In a link to one specifically, in the notes of the video right now, on writing if else statements because that's what we're about to do. I'm going to start editing this expression by clicking on it. Remember these attributes selector value, text index, and text total because we're going to be using some of them. But I'm going to delete them and start writing an if else statement. We're going to start by typing if with an open parenthesis. This is where we're going to put our condition in or what we want to test. What I want to know is which characters are even and which ones are odd and depending on what is what, apply a different value to that particular character. The really brilliant way that Joey used in his tutorial, on how to do this, is to divide a number by two, and see if it rounds off to a whole number. If it does round off to a whole number, then you know that it's an even number and if it doesn't, if it has a fraction or a decimal point value, then it's going to be an even number. The way that we can do this is by using what's called a modulus operator inside this expression. What we want to do is to find out if the text index, remember that's the number assigned, the character value per character on my line of text. Then a percent sign, and the number 2. What that percent sign means is, it's going to take the text index and divide it by this number, which I typed in two, and then give me whatever the remainder is. If you remember, the remainder is the decimal point after you do division. If it's a round number, the remainder will be zero. It will be a rounded off number. If we took something like four and divide it by two, it would just be two not two point something. It would be two. That would mean it's an even number. If we did something like five, it would divide by two into 2.5. It would have that decimal point value that isn't zero which means that it's an odd number. If the text index divided by two has a remainder of zero, we know it's even. How do we write that? Well, first of all, I need to contain this equation in its own set of parenthesis so I'm going to wrap that in a second set of parentheses in that way that's carried out. Then whatever the result is we're going to find out, is that result equal to, and you need to put two equal signs one right after the other, to see if something is exactly equal to whatever value it would take next. We want to see is the remainder exactly equal to zero. Then I will do another closed parenthesis, and then open curly bracket. We want to find out if the remainder of the text index divided by two is equal exactly to zero, then do something. That's why I put a open curly bracket. I'll drop down a line and press Tab to indent. This is where we put the value of what we want to be applied if this is true up here. Selector value, which remember that was the special attribute that references the amount slider up here, and put a semicolon after that to finish that line of code. If this is an odd number, I want a selector value which is 100 percent the amount of whatever transformations I put down here. If it's an even number, apply 212 pixels positively to those characters. Then I'll drop down, and do a closing curly bracket to say that's all the code that I want to apply to those even numbers. Then type the word else, or another way to think about that is otherwise if this is not true, or if it's an odd number then do another opening curly bracket, dropped down, indent and type negative selector value, semicolon, that's basically inverting whatever this amount is so it would be negative 100 in this case. Inverting this to being negative 212 pixels, drop-down, close curly bracket, and apply that expression. Right away my text is updated. All of these characters are offset. Every other character that 212 pixels depending on if it's an even or odd number. If I grab that number now, and slide it down, and move it around you can see how it is affecting my text. Let's just set it to something like 50, and then take a look at the amount, and make sure that that is working. If I turn this all the way down to negative 100, those values swap so that selector value is being affected by this amount value. All right. I'm going to spread these characters out a little bit more, and I want to point out something really quickly. On this amount value, we have three percentages of 100 percent each. Basically in x, y, and z array, and if you turn this up or down, nothing happens. I'm going to be 100 percent honest with you, I researched this a lot, and I could find no information as to what these three values are meant for. The best idea I could come up with is that they're placeholder values for you to reference just conveniently, and they're arbitrary. It's basically an array that you can use to assign other parts of expressions to. It's just easy access to x, y, and z basically. If you want all three, you could use just one of them or all three of them, but they're totally just expression sliders. They do nothing until you assign something to those values, just in case you were wondering about that. All right. Now what's really interesting about this, I mean there's nothing else we can really do with the expression selector other than change the based on, is that it works with range selector above it. We already looked at the amount in how that works. But if I change this shape to ramp up like we have been, and I change the offset back, set a key frame at the beginning, move forward, and change that to positive 100. Sure enough, that expression selector, what is being applied through that wipes off just like normal, and I can turn up my ease high, turn up my ease low and that is going to doing nice smooth zipper-like transition into place. Now that I have this set up, I can add any properties I want. If I wanted to, I could go in here, change the fill color, and now these colors are going to be completely different and wipe off. The reason why the top line is blue, and the bottom line is red is because I've put the fill color in as this bright, vibrant default red. Whatever I put in as that color, it's going to take it, and apply the expression of inverting that color for the odd numbers. If I remove the position value, you'll notice that the NS are the same color. If I wanted that to be opposite colors, I need to make sure that characters is changed the character excluding spaces, and there we go. Now that's going to follow that pattern properly. Again, remember you don't have to animate these things off if you just wanted something that allowed you to change every other color very simply, this would be a great way to do it. If you need precise control on what each color is for the odd numbers instead of saying negative selector value, I'll type in zero. And what that's going do is apply zero amount of this transformation to that text to those specific characters. So, in other words, it's looking at the actual text layer's color. So, I could change this to anything I want. And that way, I can very precisely set kind of this two-tone text color. But I'm going to undo back to having that negative selector value in there and get rid of that color. And take a look at what adding some other properties can do. So, if I add in some scale, I can scale that down. I can change the more options grouping alignment to be in the center of the text. Then it's going to be something like that. As always, this can be animated. And maybe that's a little bit slow. I'm going to speed that up. Maybe increase my high and low. I could also combine this with some position animation. And maybe I wanted to go in the opposite direction. I'll change it to ramp down instead, and just have it end up something that's a little bit easier to read than this. But that's just a little bit different. There we go. Now, that's just changing the way the text looks a little bit. Maybe instead of scale, I'll just do a little bit of position offset. It actually becomes really fun to play around with once you've got this kind of Expression if-else statement set up. All right. I'm going to get rid of position and scale and I'm going to add in some rotation. So, let's add the rotation property. I'm going to close up my Range Selector for now, so I don't get bothered with that. And on the rotation, I want to have access to 3D. So, I'm going to go into my property and change enable per character 3D to on. That gives me X, Y, and Z rotation. I'm only concerned with the X rotation. So, I want to make sure actually that my Range Selector is set to ramp up. And then, this is going to rotate each character in an opposite direction. So, I don't need the Y or the Z. But what I do want is to be able to offset the anchor point of these characters so that they kind of rotate into place like they're being spun around and locking into place. So, I'm going to add in another property, the anchor point, and then grab the Z property and push it out. Now, this might not work exactly how I need it to, but let's see what it does. Yes, it's not exactly. If I change this really to 90, that's what I want it to be at, at the beginning, or maybe negative 90. I want it to rotate around that point, but in opposite directions. And the way that this is set up, it's wiping this anchor point transformation off as the animation progresses. And I don't want that value to change. So, what I need to do to fix this is actually just delete the anchor point and collapse my first animator and add in a new animator that only has an anchor point in it. Then I'll change the Z anchor point on just that property, back it up. And just like that, it's working exactly the way that I wanted it to. So, it's offsetting the anchor point of each character identically or symmetrically because this animator is separate. It's not using that Expression Selector to offset each character even or odd numbers in opposite directions. And because my Range Selector animation is coming from the first animator, that is not affecting the anchor point of the second text animator. So, the anchor point doesn't change at all throughout the animation. So, I'm going to rename these groups. The first one, animation group. And the second one, I'm going to call anchor point offset. Now we can play around with the animation. Obviously, at the start, I don't want to be able to see those text characters. So, I want to do a very similar thing to what we had already done with that swinging text, which is adding actually another animation group. So, I'm going to just duplicate the anchor point offset, and I'll call this opacity reveal. And I'm going to get rid of the anchor point and add in an opacity and turn that all the way down to zero. Now, that makes the entire text disappear for the duration of the animation because it's not being affected by the same Range Selector. So, basically what I want to do is link up this Range Selector to this Range Selector. And I'm going to do that using Expressions. Now, I believe in After Effects CC 2018 and newer, it might be 2019 and newer, these Pick Whips were applied. They're now available, they're called Expression Pick Whips, and they allow you to very easily link one property to another. So, all you need to do is grab the start value, grab this Pick Whip and scroll up and grab the start value of the other Range Selector. I'm going to close up my advance, so this is a little easier to see. But now I have a red number indicating that this is being driven by an Expression and that Expression is automatically tied to this start value. If you don't have this Expression Pick Whip, you're going to need to hold down option or alt, click on the stopwatch, then grab this little Pick Whip right here, and then drag that up to the property you want to link it to. And then click off to apply it. But it's essentially the same thing. It's just a little shortcut. So, I'm going to do the offset as well. And now those three properties are going to mirror whatever these three properties are. But under my advanced, I can control everything else independently of the Range Selector advanced options from the animation group. So, let me close the animation group up, close the anchor point offset up. And let's take a look here. So, it's not working yet because my shape is still set to square. If I change that to ramp up, then it's going to fade in. And remember, I need to now change the ease high to negative 100% and the ease low to 100%, so that those just pop on real fast. Let's play that back. And that actually might be too quick. Because if you look at that, that text is popping on before the text is rotated in. And actually, one way to fix this is that that text is currently easing out of its starting position. So, if I just change the way that the animation group starts, by going into the advanced and turning the ease high down or even to a negative number and then the ease low up, then it's going to rotate in much quicker and we're probably not going to see that text before it's already animating in. Think that actually looks really good. So, there we go. That text now zips into place. I can always change the anchor point offset to see how that affects the animation. Have it rotating further, or maybe not nearly as much. Very, very customizable, and I could save any one of these as a preset and manipulate it further, reuse it over and over again. So, hopefully, that demystified the Expression Selector a little bit for you. Like I said, it's very rare that I would ever use one of these selectors. This specific example where you need to offset each character in an equal but opposite direction based on its index value is basically the best use case I've ever seen for it. There are people out there that do really crazy things with text animators that have nothing to do with text. And Expression Selectors can open up some pretty interesting possibilities for those types of applications. But for the most part, the Range Selector and sometimes the Wiggly Selector is really all you need to make it really decent text animators.
10. Saving an Animation Preset: We've covered all the different things that you can do inside of a text animator. The reality is you can do a lot more. Like I said, there are people out there who use text layers to make particle systems or arrows or tapered lines. It's pretty crazy what people have come up with using this text animator system. Definitely do some searching on YouTube for text animator applications to see how other people have been using them. But let's say that you've made your text animator, you're happy with the way that it works like this one right here, and you're ready to save it as a preset so that you can reuse it over and over again. Well, this is really easy to do. All I have to do is twirl down my layer, open up the text section, and then select the sections that I've modified. Now, I don't want to just select the entire text group, because that will save what the text says and the font and the color, all of that within the preset and I don't want to do that. I don't want that source text information. Really, all I'm concerned with is the more options section because I changed the grouping alignment and if you change any options in here, you're going to want to keep that. I'm going to select that group, I'm going to hold down "Command" and click on the "Animation Group", the "Anchor Point Offset" and the "Opacity Reveal". Those are my three text animators. Those four groups are what make up this animation. With them selected, I'm now going to come to my effects and presets panel, which you can find under Window effects and presets and click on the little menu right here. Then you'll find Save Animation Preset. Now this should automatically open up the presets folder for the version of After Effects you have open. But if not, just make sure you're under the current version of After Effects in the presets folder. Now you could save this directly in the presets folder, but to stay a little more organized, I'd like to make a new folder for my text animators. For whatever reason, it's not letting me. I think I'm going to have to go into my Finder, into After Effects, into Presets, "Right-click" and get info and make sure that I have read and write access. I do. Let's try and make the folder right here, "Command Shift N" and it's just going to ask me for my password. I'm going to type that in, and then I'll make a new folder called Skillshare Text Animators. That shows up right there. Now, I can select it and I'll call this first one Zip In, then I'll click on "Save". Immediately this should show up in my list. If I open up my animation presets, there's my Skillshare text animators and Zip In. If I just deselect all of my layers and "Double-click" on this, it's going to make an empty text layer. But that text layer is going to have everything in it. Now, my play head was right here, so that's where it's going to put the keyframes. Let me undo, and instead of doing an empty text layer, I'm going to type out something else and I'm going to change the font to be something else too. Let's just do something crazy and then go to the start of that text layer and "Double-click" on that again and now that comes in just the same. It doesn't matter what font or color it was. It's just applying the animation groups and the more options. If you wanted to make it a little bit more dynamic, we could go in here and make an animation out group. I'm just going to rename this Animation In. I'm going to go into the Animation In group and rename the first selector In, duplicate it and rename that Out. Remember, I need to go into that Change the Offset Keyframes Forward and I need to go into the Advanced and change Ramp Up to Ramp Down. Now it should animate back out. The only issue I have right now is the opacity. Because remember, the opacity reveal range selector was linked to this range selector's controls. I'm just going to need to make a second copy of this range selector. I'll just call this one In, duplicate that and call this one Out, go into the Out and change these links. I want this start to go to the Out, start this end to go to the Out end, and this offset to go to the Out offset. Now that's all linked up. I need to make sure that the advanced is changed from Ramp Up to Ramp Down. Now that should fade out just like it was fading in. There we go. Now we have a working animation of it going in and out and I can spread this out a little bit, maybe push it to three seconds. That way I always have a good amount of time where the text is on and then it animates off again. Now that I've done that, I can just update my preset by selecting everything, so go into my text, grab more options, animate in anchor point, offset in opacity reveal, and then save over that preset, So save animation preset, click on "Zip In", "Save" and "Replace". Then once again, I can type out more text, I could change the font to anything I want and then apply that same Zip In animation. I can even type in Zip In and there it shows up, "Double-click", play it back, it comes in and it goes out. That's how you can make your own presets from your own text animators and reuse them however you'd like.
11. Inspiration & Final Example: We've pretty much touched on everything that makes up a text animator. So in this last lesson, I just want to touch on a few things that we haven't really talked about yet. First of all, with the text presets that come with after-effects, well they're not that pretty. Sometimes can be beneficial just to see how they were made. So if you come over to your effects and presets and into the animation presets category, there's a folder called text. These are all of the text animators that are shipped with after Effects. Let me just type out some text and apply something. Let's go into something like mechanical and then look at helicopter, that sounds fun. Now, my play-head was right here at 118 so that's where any key-frames that is preset contains will be placed. So if I press U to bring up the key-frames, there they are so it's not going to start animating till here. Let's see what helicopter is, this is what I'm talking about. It's ugly, I would never, ever want to use this animator. It's just horrible, but I can quickly just run through some of these to see if there's anything useful in this at all. Honestly, I don't even know why some of these even exists. So why don't we try a different category, like maybe animate in and see what we have so I'm going to expand this out so we can read these texts presets a little bit better. Espresso eye chart, I don't even know what that means. Interesting, let's try random shuffle in. Not that interesting maybe total on each word. You could do this all day and I honestly suggest that you do this. You can even search on Google for after effects text animator presets gallery, and you can find animated GIF of basically the entire library of texts presets that are shipped with After Effects. So you can see what they do. Poke around in that, find something that looks interesting and see if you can figure out how you might use what they did to make something that actually looks better. Another thing I wanted to touch on was, what if you wanted to do a text animator that starts in the middle of the text and works its way out in both directions rather than just starting on the left and moving to the right. So that's what we're going to do right now. I'm going to fill up a line of text so I have a little bit more to work with and Center that my composition. Then I want to start animating. I'm going to do this using scale and the way I'm going to go about doing this is by using two range selectors, one for the right half of the text and one for the left half of the text that both going to be applying or taking away the Scale property that I added, but each one is going to take up half of the text. So let's start by turning our scaled down to 0. Then go into our first range selector, into the advanced and change the shape to ramp up. Now we've got this shape that I actually want it to look like. But now I need to make sure that my range is selecting the correct amount of text. I want this to be the right half of the text. So I want the start value to start at 50 percent. So it's only affecting the texts from the center to the right. I'll rename this range selector just Right, so I don't lose track and then I want to back the offset up because I don't want the text to start like this I want it to start at 0. So I need to bring this offset back 50 percent. So it's negative 50 and now that half of the text is no longer visible. Don't worry about the left yet. The right half is all I'm concerned with, so I'll set a key-frame there, move forward a second and then offset and that to the right to 100 percent. So it wipes completely off. Now let's add in some easing. I'll turn the ease and low up pretty high and the ease high up a little bit. There we go. Not too bad. Now that I have that setup, I'm going to duplicate this group. So I'll collapse it up, duplicate and rename it left for the left rain selection. I need to change my rain selection because right now it's still starting at 50 percent and ending at 100 instead, I wanted to start at 0 and end at 50. Now it's only selecting the text on the left side and we can't see anything right now so I'm going to play it back and show you that this looks just like a normal text ramp up being shifted through all of the text it's not anything special. What I need to do is go into the advanced and change ramp up to ramp down. Now this is creating a wave, it's not exactly what I want, but that's just because of the offset key-frames. I basically need to invert these numbers so that it starts on the right half of the text and moves through to the left. Instead of negative 50 for the first key-frame, I'm going to change it to positive 50. That puts the 50 percent selection on the right half of the text, even though we can't see it. Then it needs to end up at negative 100; so it's moving to the left rather than to the right. This should be working now if I play it back, sure enough, there you go, we've got the text starting at the center and growing outwards. Now that this is set up, I can adjust these properties however I want. So maybe I don't want scale, I'll turn that back up to 100, I'll add in a position and I'll push the Y way up. Now that's going to fly in from the center to the top, beautiful. Now, what if you want to adjust the easing? Now you have two different range selections to mess around with. Well, we're just going to tie these properties together with expressions like we have before. That way, this ease high and low is being driven by this ease high and low. So let's grab the ease high and pick whip that using that expression pick whip. Remember if you don't have that just hold down Option or Alt, Click on the stopwatch and then grab this one right here. Then I'll go to ease low. It also would be really nice if I could drive this offset by this offset, the problem is that these numbers are inverted from that one. I can easily write a little expression that will actually do this for me, 50 is just negative 50 times negative 1, it's the inverse. So what I'm going to do is grab this expression, pick whip, grab that offset, and then twirl this down so I can see the actual expression. This is just filled in the code automatically for me; that is referencing that offset value. At the end of this line of text, I'm just going to type times negative 1. Click off of that. Now those key frames are going to go back to what they were. I can actually delete these key frames, but this will always be the inverse of whatever is up here. Let's play this back and make sure it's still working. Sure enough it is, and now I can do something like spread this key-frame out and it will actually update both range selections. I can change the ease high and low of this single range selection here, and it will also affect these down here. So it's a very dynamic little rig with very little expression know-how needed. That's how you can create a text animator that starts in the middle and moves out symmetrically. Hopefully that got kinda the gears turning in your head and you start to see these possibilities opening up with text animators. So get in there and start playing around, seeing how different properties affect the animation and see what you can actually come up with.
12. Thanks!: That's it. You've completed this class and you're now ready to start making your very own text animators, turning them into presets and even using them over and over again in future projects. Be sure that you share what you make in this class with your fellow students. Upload anything that you've made to the class project page, you can export a GIF or upload it to YouTube, something like Vimeo, so we can see what you've done and get inspired together. If you have any problems at all, feel free to post discussion and I will get to you as soon as I can. I'm here to help and we'll be glad to help you work through any problems. I'd love to know what you thought about this class, so please leave me a review. If you're not already, follow me here on Skillshare so that you can know when I post new classes. You can also follow me anywhere online at Jake and motion and keep up to date with me, see the behind the scenes of these classes as I'm making them, and anything else I'm doing on the Internet. Thank you again so much for taking this class. It really means a lot that you take the time out of your busy schedule to actually learn from me. I hope you're getting a lot out of it. I love making these classes. So just thank you for watching and I'll see you in the next one.