The Character we are going to create is like Stuart Little's bad brother, with ratlike features. I picked Cinema's HyperNURBS as my modeling tool of choice, which offers the advantage to model a complex object with a relatively small number of polygons. Another big advantage is that you can model your character and at the very end of the process can decide which geometry resolution you prefer, e.g. low-poly for games or hi-poly for print, without changing the original.
Let's start with the head. Our base object is a cube, divided 3x3 and converted to polygons. With Cinema's variety of polygon tools, we can bring it into shape, mostly using the (Inner) Extrude and Knife tool. (#1). The former cube's final shape should be checked by throwing it into a HyperNURBS object and turning it on and off, however you prefer to model.
After moving and scaling a few points, the basic headshape of our rat becomes visible. Now we have to carve out all the desired details, again using the polygon tools, especially adding more polys with the knife tool in areas like the nose and the edges of the eyesockets. Remember what parts you later want to be able to animate. If the mouth is to be opened on your final model, of course the polygons must not be connected in that area. The final polygon cage consist of only 230 polys (#2/3). Add to that separate objects like two spheres for the eyes and rounded boxes for teeth and tongue. Move the eyes to their approximate position and then shape the points of the eyesockets around it until they fit tightly to the spheres. If you have good sketches of what you want your model to look like, you can load them as background templates. On this model I worked more freely, with the final model only in my head.
The head come out alright? Then the body will be a breeze. Extrude more polys from the neck and bring it into the desired body shape (#4). Extrude the arms and legs from the body, and the feet from the legs. The hands (#5) came from an older model, but were modeled using the same method. One finger was removed, and the hands were connected to the body using the Bridge-tool. The tail was done with a Matrix Extrude.
This concluded the modeling stage. Of course I encourage you to not stop here but add a lot more details, maybe more definition to the arms and legs, whiskers or something totally different. Have fun with it. For now, the goal was to create a model with a low number of polygons (770 for the final cage) to end up with something easy to animate.
As usual, the character was modeled with its arms and legs extended, to allow for easier fitting of the bone skeleton. Additional polys were added at the elbows and knees, to make for a softer bend. (#6).
For easy animation, our character should be equipped with a good bone skeleton. Also, although I wasn't aiming at lip synch, the face should be able to communicate at least basic moods.
Start with a root bone in the middle of the body. This will be our main anchor. It is the parent object of the leg bone chains (with two bones for each foot to allow for a smooth walk), a two bone spine and the tail bone chain. The chest bone is parent to the head bones and the arm bone chains. They are anchored at the shoulder, so when you pull on a finger it doesn't make the whole torso move. All bones receive either a frozen selection or a vertex map, depending on the number of polys they are controlling. In most cases, you should be fine with a frozen selection, but difficult areas like the shoulder might require a vertex map. You might even have to add additional polygons to the model if you don't get a good movement. This is a very basic skeleton. Feel free to use more bones for the spine or the tail. The rat has a collar bone, which only moves in one direction (up/down) which gives you a better range of movements around the shoulder area, and allows the rat to shrug (#7).
Once all the bones are at their correct positions, you have to set the allowed minimum and maximum angles for the IK. You can do this by trial and error or use the free plugins 'RotateIt' and 'IK Record' which come with the COFFEE SDK and are perfect for this. Bring your bones into the extreme position with the first plugin, then create the IK tag with the other - very comfortable. Take your time trying out all the extreme angles. Once you get into the animation part, it can be very annoying if you have to go back to make adjustments. Finally, put an empty object at the end of every bone chain, as a handle for the IK animation (#8).
After playing around with various methods, I decided to stick with bones when it came to facial animation. I wanted to be able to animate the jaws, eyebrows, eyelids, corners of the mouth, and ears. The bones should be placed so they can mimic the real life face muscles (#9). In case of the mouthcorners this means that the bones start in the middle of the head and end in the corner of the mouth. All the points in that area that you want to be moved are frozen into a selection or vertex map. Now if you rotate the bone up, you can make your character smile. This method actually works quite well and I definitely prefer it to morph targets. In combination with only a few more face bones you can already create a surprisingly wide variety of facial expressions.
In #10 you can see the influence of the eyebrow bone, whose only task here is to raise or lower the area between the eyes. This is kind of a lazy solution, better would be to use two bones for the eyebrows. So don't imitate me here and create your own eyebrow movement. It's very important for the final look of the character. A big advantage in using bones is that it gives you a lot of control. The blink of an eye can be 'stored' in a short sequence with 3 keys, which then can be copied on its angle track to wherever you need the character to blink, independent of any other animation going on. In combination with Cinema's Motion Grouping you can create a whole library of facial expressions this way.
Now our rat is ready to roll and will take it's first steps into the virtual world in form of a simple walk cycle.
First of all, let's take care of the feet. A basic problem in making a character walk used to be that it was hard to control the feet independently from the whole character's movements. There is a way to avoid the slipping feet, but it takes a little more preparation:
Copy the empty objects that were placed at the end of our leg-bone hierarchy (in this case 'ToesFootL' and 'ToesFootR'), but don't change their position. Rename the new objects (in this case 'TargetToesL' and 'TargetToesR'). They have to be outside of the character's hierarchy group. You can put them at the very first position in the object manager. Now we will add an IK-Expression to the 'ToesFootL' object. The target of this expression will be 'TargetFootL'. Repeat the same procedure for the right leg. This nails the rat's feet to the ground (#12).
Now if you move one of the target-objects, the corresponding leg should follow up to the root-bone, as far as possible. On the other hand, now you are able to move the whole character, and the feet will always try to reach their targets. To have even more control, since Rel. 6.1 you can add multiple IK targets to control other parts of the leg like the knee or the heel.
What we just did makes creating the walkcycle a lot easier. First, position the character so one leg is in front of the other. Since we are doing a cyclic movement, our beginning and end positions should be identical. In this example at frame 0 the right leg is the one starting out (#13.1). Record the position of your two target objects and of the root bone of your character. I'm using a time of 25 frames for one complete cycle in this example. Let's move the time slider to frame 13 - this is where the second step should begin and the legs have switched position. Move the root bone into the direction you want the character to walk, far enough to have the right leg behind the body now. The feet should stick to their places. Record the new position of the root bone. You want the left foot to be in front of the character, so move its target until the character is about in the middle of its feet, and don't forget to record the position (#13.3). Go to frame 25 and repeat the whole process one more time, so the character's legs look like in frame 0. (#13.5).
Play the animation from 0-25 and you will notice that there is something missing - the rat is not lifting its feet, which looks really awkward even on a lazy character. We can take care of this easily by using the Space curves. Go to the timeline window (Abb. 14). See the position sequences of our target objects? Use the 'Adjust' command on both sequences to shorten them according to their keys. Delete the first key on the second sequence. Basically, you should end up with the sequence for your first target object going from 0-12 and the second going from 13-25. Select the first sequence and switch to space curves. The green curve, which right now looks more like a flat line, determines how high our character lifts its foot. Click on the points, pull out tangents and shape it into a curve so that the highest point is about in the middle of the sequence (Abb. 15). Test your walk cycle again and keep shaping the curve until you are happy with the foot raising. Do the same for the other sequence.
This completes our (very simple) walk cycle. Of course now the real work begins - breathing some individuality into your character. Some things you should definitely do are:
- rotate the feet so the heel reaches the floor first and the foot rolls off over the toes
- move the arms (left leg in front = right arm in front and vice versa)
- move the body. It reaches its highest point when the feet are closest together (frame 6 & 18). The spine and shoulders should move accordingly
There are a lot of books on this subject. Read them, but personally I think it's even more important to play around a lot (on your computer, that is). Think about your character. What about it do you want to communicate to your audience? How can the walk express that? Does a two-legged rat move like a human being or a dinosaur? Is it in a happy mood, sad, limping? This tutorial should provide you with a basic set of tools to make any character you can think of come alive, from a static pose to a feature film. They only reflect my personal methods and there might be better ways, but they have served me well so far. The possibilities are virtually endless and only limited by your own creativity and patience. On the way, don't forget you are doing this to have fun.
Sample Animation: (Quicktime1.6 MB)
Send your thoughts:
Feel free to ask questions in the Cinema 4D forum at Creativecow.net.