Ready to watch this entire course?
Become a member and get unlimited access to the entire skills library of over 4,900 courses, including more 3D + Animation and personalized recommendations.Start Your Free Trial Now
- View Offline
- Linking objects to points in Xpresso
- Creating a data slider to control a spline wrap
- Controlling multiple objects with a single slider
- Understanding the traditional character animation workflow
- Using the Character object for building and applying rigs
Skill Level Beginner
With the fully rigged character you're probably asking yourself, "Well, how do I make it move?" The CINEMA 4D CMotion Object, which is part of the Character options, allows you to do just that. It's a method of creating procedural motion for your characters. Now it's not nearly as nice as actually hand animating your character but it's a great way to get quick motion in a scene. Let's say you're an architect and you're trying to populate a scene with people in the background. The CMotion Object let's you apply walk cycles to your characters very fast and then makes subtle adjustments to them to make them a little bit different.
So let's select our Character object here. And in the Character Object under the Object Properties, we're in the Animate section of the Object Properties, and there's this great looking button here that says Add Walk. Let's go ahead and do that. Boom. As soon as I do that, my character's arms and legs have changed position. You can see that his right leg in a step position, and his left leg is down, and his arms are straight down. Let's hit Play and see what's happened. You can see that my character is actually walking, it is that simple. We've added motion to this character just with one click.
Now there are some issues here. One of the bugs in the interaction between the CMotion Object and the actual character rig that was created with the Advanced Biped Rig in the Character Object is that when you first add the CMotion, it makes the hands point straight down like this. And so if you see, the controllers are way down here. There's my controller. So what I want to do is to make an adjustment. If I click that guy I can't actually move it. That's because the position is being controlled by the CMotion Object. So what I need to do is to go into the CMotion Object, then modify it.
So let's click on that, and thinen the CMotion, under the Object Properties, let's raise that way up, is a whole bunch of stuff, and really what this is, is a listing of all the controls that were modified when I added the CMotion Walk Cycle. In here are these little actions and these actions are a lot like the text animators inside of After Effects. They allow you to add procedural motion to objects and then control that motion with graphs. What I'd like to do is to find the left arm, left IK Arm Controller in this listing here. And so let's scroll down until we see that.
And there is the right arm IK. If I select that you can see I've grabbed that one. So let's start there, in the left arm, well, it should be right after it. In fact there it is right there, left arm nb control that stands for Non-bendy Controller. So let's start with the right arm and what we want to do is adjust the vertical height of the right arm. So let's orbit around so I can see that. And let's go to the vertical height and start to scrub that. And we scrub it to the right until the arm comes up. And as it comes up and meets the arm object, you can that it'll bend in the arm in the right directions, it's no longer pointing straight down.
As we scrub through the animation you can see that our arm is moving in a much nicer way, it's not dragged straight down towards the floor. Now what we can do is repeat the process for the left arm. So we grab the left arm IK NB controller and then adjust the vertical height straight on up, and now it's up there. It doesn't matter that it's exactly the same height. We want it to feel a little bit different. And that's looking great. Let's back out so we can see our character moving. Let's hit play. It's not bad. Now the Stride Option allows you to control how big a step the character is taking.
Right now it's about 80 centimeters. Let's increase that Stride length, let's crank it way up. You'll see that our character is going to be doing this crazy move, and the key to remember is that that Stride Value is non-destructive. So if I bring that back down to 80, then our character will be moving pretty much the same way that he was before. And that's really the beauty of the CMotion Object, is that it's completely non-destructive. So the Time Function will make him actually walk faster. Let's bring that down to 15 or so and hit play. And you see that he's picked up his pace.
Now what we want to do is not have him walk in one location. We want to have him walk off his mark. And let's rewind back to zero, and that's where the walk pull-down comes in. It defaults to static, which means he'll walk in one place. We can also do a line, which he'll just walk out in a straight line. Let's hit play and you'll see him take off. And there he goes. Let's rewind back to zero. You can also do Path, and with Path you need to add in a spline. So let's go into the Top view and draw out a spline for our objects. Now I normally use a B-Spline when I do this. So let's grab a B-Spline.
I'll just draw out a spline. And I'll have it nice and curvy, in fact, let's curve it around here and have him go out that way, okay. So now I've got this path for him to walk on, and when I switch back to the Perspective View, I can go to the CMotion Object and drag this spline into the Path Field. And he's going to jump to the starting point of that spline. Now when I hit play, he's going to take off and go around that path. Now I don't have quite enough frames for him to make it all the way around that path, and so what I need to do is to rewind back to zero and let's adjust our preview range.
Right now we're looking to 90, let's change that to 300, and then expand that outward, and then we'll hit play again. You'll see him go around there. Now you can see that one of the things that's happening is as he passes through that cycle, and when he gets to the end, he just kind of does this little dance. As he passes though the loop there, you can see his arms are doing weird things. If I scrub backward in time there's a spot where his arms kind of lag behind him. And what's happening there is that I have too tight a path on the curves here. So what I'm going to do is to grab that and let's move it out just a bit and expand it so that he has a little bit more room to walk in that path.
Do the same thing over here, let's grab that one and move it out just that way so we got a nice, big, curve for him to walk through. Let's rewind back to zero and that should help to fix our object nicely. There we go. That's getting little bit better. So the CMotion Object allows you to modify these default walk cycles, and the way you do that is by adding something called an Action. And there's a whole bunch of different actions here and we're going to do a lift position Y this time, and we're going to put that on his torso so that he bounces up and down as he walks.
So if I click on his torso you can see that nothing happens, I can't control it. I need to use an Action to do that. So we're going to add a (Lift P, Y) and we're going to add that to his torso object. So let's find his torso here in the hierarchy, and there it is, Torso Controller, so I'll select Torso Controller, and then when I add (Lift P, Y) that's going to add that to his torso. So you can see when I added it, it looked like nothing happened, and here's our Lift (P, Y) right here. What we want to do is tell it how much it needs to lift up. And if we adjust that value, the slider's a little bit small so it's sometimes hard to scrub here, we're going to get a very big value with a little bit of scrubbing.
So I'm going change that numerically from 2 to, say, 4. Let's double it. Let's actually make it a little bit higher. Let's call it 8. So now when we hit play you can see that he's bobbing up and down in one spot. That's because he's already hit the end of his spline. So when the animation cycles back around again, he's going to walk through his complete cycle. So let's hit stop and take a look at the interface for that. You can see that the Lift (P, Y) is an oscillating cycle, and the Lift field controls how big that cycle is. Variation introduces a little bit of randomness into the cycle, and if we crank that up - let's rewind back to zero again and hit Play.
So now he's not going to go up and down the exact same distance each time. Let's increase a hundred percent variation. You can see now he's really not doing it. Let's take this from 8 centimeters down to 4 so he's not quite so bouncy. There we go. That's starting to feel a lot better. So let's recap. The CMotion Object allows you to add procedural animation to the controls that were built with the Character object. The important thing to remember is that you're not limited to the walk cycle that you get there. You can modify it in a dizzying number of ways.
By tweaking those values you can really change the character of your character's walk.