Creating a Cartoon Character in Cineversity Brand ID: Creating Mouth Control Rig

Photo of EJ Hassenfratz

Instructor EJ Hassenfratz

Share this video
  • Duration: 10:25
  • Views: 2802
  • Made with Release: 18
  • Works with Release: 18 and greater

In this video we will cover a great workflow for helping you easily animate facial animation using Pose Morphs, 2D Vectors and Driver Tags in Cinema 4D.

In this video we will cover a great workflow for helping you easily animate facial animation using Pose Morphs, 2D Vectors and Driver Tags in Cinema 4D. Using these powerful tools, you can create a simple HUD element to drive facial expressions.

show less


In this video, I'm going to show you a great workflow for helping you easily animate facial animation using Pose Morphs, 2D vectors and driver tags in Cinema 4D. So here's our little character and we're going to animate this guy's mouth. Now, in the previous video, we set up all of the facial features, and if you remember, we just use a simple spline and a sweep object and a Loft Nurb to create the mouth. So this is just being controlled with a single spline here. So what we're going to do is set up a couple key poses for our mouth that we can then morph between. And how we can do that is using the very aptly named Pose Morph tag. So I'm going to right-click on "My Spline," go into "Character Tags" and go to "Pose Morph." Now, the Pose Morph tag, again, very aptly named, it allows you to set poses and then morph between them based on the parameters that you store in each Pose Morph state. So for our spline here, we're just going to be moving spline points around, so the only thing we need is store our points. And once I select "Points," it's going to dump us into our tag tab, and you can see that we are in edit mode and we have a couple poses here. So here is our base pose, and our base pose is the base position or the default position of the original positioning of our spline, and then it automatically creates a new pose for you that you can morph into. So what I'm going to do is double-click this new pose and just name this "Mouth Open." So what I can now do with this mouth open pose selected, I can go into my front view and just adjust the spline points on the spline so his mouth is now open. So something like that. And if we set this up correctly, we should be able to adjust the strength of this pose and we can have him kind of mouth along with how I'm talking and have a lot of fun with that. Well, you can see that that is working. We're morphing between that base pose where he's just smiling and if we up the strength of the mouth open pose, its opening his mouth. So that's great. Now we can set up a new pose by hitting "Add Pose" and we'll just rename this "Frown." So we're going to do the same thing, and with this frown pose selected, I'll just turn his smile into a frown, make him look very sad and pathetic, and again, just adjusting these spline points to control the entire mouth here. And I think that's looking good. So again, if we set this up correctly, we should be able to adjust the strength of this, and as we bring the strength down of that frown, we can turn that frown upside down into a smile and everything is working good. So those are the two poses I'm going to just create for now. So we have the mouth open pose, and the frown pose, and then our base pose. So what we're going to do is basically set up a 2D vector field. I like to explain it as a old Atari joystick controller. So if you move a cursor around in the 2D vector field, it will execute different commands or different poses. So let's go ahead and create a 2D vector field and you can kind of get a feel for what I was just explaining there. So on this lip spline, we're going to go ahead with it selected and go to "User Data," "Add User Data." Now, what user data is, is kind of like custom expression controls inside of After Effects. So you're going to notice that we have a default data field here. I'm just going to delete that. And what I'm going to do is add a group, and this group is going to be like a tab in our Object Manager here. So you can see we have the object tab here. We're going to create a mouth control tab, and then under that mouth control tab, we're going to have data. So just like under our object tab, we have all these object properties that we can manipulate. So with this data, we're just going to have another mouth control, and this going to be like a little joystick 2D vector control, and you can see that just updated there. And for our data type, we're going to use vector and you can see we have this default vector interface, but we actually want to change that interface to a 2D vector field. And when we do that, we have this box with this cursor. So this is kind of like your Atari controller where if you adjust the cursor or adjust the control, it'll execute different commands. Or in our case, it'll execute poses. So the unit we're going to be using for this is going to be a percentage because we're dealing with percent strengths of poses. So I'll just change that to percent and now we're dealing with percentages. So how I want to set this up is if I move the cursor or the control up, kind of like if I move my joystick control up, I want to be able to morph into that open mouth pose. And if I go down, I want to morph into that frowny face. So I'm just going to set the default value at 50% and 50% for the X and Y and we're done with our user data. So I'll hit OK. And you'll notice that, again, we have our mouth control tab just like we have the object tab, and our mouth control 2D vector field. So now we can control this in our mouth control user data. I'll just reset this to default which will be that 50 and 50. And now all I have to do is create a relationship between this 2D vector field mouth controller and our Pose Morph. So the way to do this is using a really useful character tag which is the driver tag, and what the driver tag allows us to do is set a driving parameter in a driven object. And then we have this little grid here with all this grid points. Now, this is kind of like the square grid in our 2D vector field where we can actually select these point positions and have them execute different commands. But in our case we're just going to be going up and down, so we actually don't need all the resolution in X. So I'm just going to change this to 1. So now we just have a resolution of 1 and then resolution of 3 in Y. So we can set up three positions: middle, up, and down. So the center position is going to be our default position or default pose, and we need to set our driving parameter. And if I go to my drop-down menu here, you can see that we have our mouth control user data. So that's going to be controlling our Pose Morph for our driven object. So to set that up, we're just going to drag and drop our Pose Morph into the driven object, and you can see that the parameter changed. And if we go to our drop-down menu for a parameter, they should look familiar. These are our poses: so our mouth open pose and our frown pose. So all we need to do is click on each position so our up position will want to have our mouth open pose. And you'll see that changes to yellow because now there's a pose stored there. And then for our down position of our cursor in our 2D vector field will change that to execute that frown pose. So we have our default pose, mouth open pose, and a frown pose. So if we set this up correctly, we should be able to go to our mouth control user data and just move this up or down. You can see, this is not working at this point and I actually skipped this step. I need to go into my Pose Morph and actually change the mode from edit to animate. And now, we are ready to actually animate those controls. So I'll go back into my mouth control and if I go up, we have our mouth open, and if we go down, we have our frowny face. So very important, making sure you have your animate mode on when you start doing those 2D vector fields because you can miss that step a lot and be wondering what the heck happened. All right. So with our mouth control, we simply can animate this mouth control 2D vector field to have him talk. And what we can do to make this a little bit more of a streamlined workflow is set up a little gizmo or a widget in our viewport. So I'm going to select this and click and drag the mouth control text and you're going to see this little "+" sign on our cursor, and you can see that I actually drag and drop that little 2D vector field into my viewport. Now, what I'm going to do is right-click on this and under "Show," I'm going to say "Show Always." So what this allows us to do is if click off of our lip spline, this is going to stay in my viewport. So now I can still manipulate this as I want. I'm also going to right-click and go to "Lock To View." So what this is going to do is lock this 2D vector field viewport control to my perspective view. So if I go and go to my four-way view, you can see it's locked to this view. So now, all we have to simply do is be able to control this without needing to dig into and selecting the mouth control. In the Object Manager, we have the freedom to just access this in our viewport here. So again, all I have to do is simply key frame some of these positions here. And we have some mouth movement. So pretty cool. So I just want to show you an example of a way more complex version. That's just using two poses. But here I have a Pose Morph with a lot more poses and you can see in my driver tag, I'm actually utilizing a 3 by 3 grid setup and have positions in the top left, bottom, top right, and lower right. And then the top and bottom as well. And you can see that I also have my 2D vector control and I can morph between a lot more poses than just the two that I set up in this video. So you can have a lot of fun setting up a bunch of different poses, mouth controls in here, and again, it's as easy, just key-framing this 2D data vector field. So by using the combination of Pose Morph, driver tag, and 2D vector fields, we streamlined our facial expression animation workflow, and in the next video, we're going to set up a rig for our eye controls as well.
Resume Auto-Scroll?