Creating the base skeletal structure is pretty straightforwardit's simply a matter of building up half the character and then mirroring it to create the opposite side.
As with many aspects of game artwork, we do have technical limits to adhere to. These limits vary dramatically depending on the format for which you are developing and the game engine you are using, but to be safe it's best to create the skeleton using as few joints as possible. A "safe" number for a main character is 64; this limit is a common one because it's the maximum for the PlayStation 2.
We have already touched on the basics of joint creation in Chapter 6, but before we proceed to building skeletons, let's have a closer look at the joint options.
Options for Joint Creation
Open up the options for the Joint tool (Figure 11.1) found in the Skeleton menu. We are going to use the default settings in this chapter's work, but here's a list of all the options in the Joint Settings pane.
Figure 11.1. Joint tool options
You can alter any of these settings after a joint has been created.
Degrees of Freedom dictates which rotations are active. Disabling X, Y, or Z will remove the ability to rotate around that axis. Disabling some axes can be done, for example, on an elbow joint, where you would want to rotate around one axis and not the others.
Scale Compensate (when enabled) automatically scales other joints in the same skeletal hierarchy when you scale joints above them. The default setting for this option is enabled.
Auto Joint Limits lets Maya specify how far a joint can rotate around its axis.
Create IK Handle automatically adds IK (Inverse Kinematics; see Chapter 12) to your character's joints as you create them. As tempting as this option might seem at first glance, it's rarely a good idea to use it.
Auto Joint Orient determines how the axis on each joint will be set. In the default setting (xyz), X will always point down the bone. Y will attempt to point up, and Z will try to point out to the front (the Y and Z axes' positions are determined more by the orientation of their child bones than the effect of this setting).
You can see the effect of the xyz Auto Joint Orient setting demonstrated in Figure 11.2. In this example, there are two joints, and in the center of each you can see the joint's rotational axis: X pointing down the bone toward the next joint, Y pointing up, and Z pointing out to the front.
Figure 11.2. A basic two-joint setup with the rotational pivots visible
We will talk more about the rotational axis and joint orientation later in this chapter.
To show the selected object's rotational pivot, go to Display > Component Display > Local Rotational Axis.
Now that we know a little more about the options available for joint creation, let's continue on and build the skeletons that will animate our characters. We will work on Kila first.
Kila's Skeletal Structure
For Kila we need an essentially standard skeleton to start us off. First we will create her limbs.
Load the file that contains all the LODs, Kila_LOD_Prep.mb.
Some joints may already exist in the scene; these were used back in Chapter 6 when we tested Kila's deformation. Delete these for now; we want to construct this skeleton from scratch.
We don't want to edit any of the geometry, so turn the display layer visibility off for the lower levels of detail, and set the highest LOD's display type to Template.
Switch to the front view and go to Skeleton > Joint Tool to begin building in the joints for Kila's arm, starting with the clavicle, or collarbone (Figure 11.3). Then build joints for her leg, starting at the hip.
Figure 11.3. For the arm, begin the joints with the clavicle rather than the shoulder.
After placing each joint, you can manipulate its position by clicking on it with the middle mouse button. Press Enter to complete each chain. Make sure the joint chains for the arm and leg appear straight when you're looking at them from the front.
Next, using the top and side views, position all the joints of the arm and leg so that they lie down the center, or close to it, of the geometry (Figure 11.4).
Figure 11.4. Position the joints down the center of the geometry.
If you need to move the joints after the chain is complete, press the Insert key. This allows you to move a joint without affecting others in the joint hierarchy.
The main part of the spine is constructed from six joints, starting with the base joint located halfway between her navel and her crotch. The fifth joint in the chain should be at the base of her neck, leaving the sixth and final one to be positioned parallel to the neck but no higher than her mouth.
With the main spine done, create one additional joint out in front of her head, resting just outside her mouth.
You can see all seven of these joints in Figure 11.5.
Figure 11.5. Create the spine, neck, and head joints.
You currently have three separate skeletons; now you will combine them into a single one. Select the clavicle joint and then the spine joint that exists just below it. Press P to parent them (Figure 11.6).
Figure 11.6. Parent the clavicle to the spine.
Parent the thighbone to the first, base joint of the spine (Figure 11.7).
Figure 11.7. Parent the thighbone to the base of the spine.
The basic skeleton now exists for Kila's left side. You still need to add the joints for her fingers, which should be parented to the wrist (Figure 11.8). Create four joints for each of the five fingers, and then parent each root joint to the wrist.
Figure 11.8. Create the joints for her fingers.
With these basic joints in place, we can now copy and mirror them to create Kila's right side.
Open the Outliner, and Shift+click on the plus sign next to the joint hierarchy. This opens up the entire hierarchy as shown in Figure 11.9, left.
Figure 11.9. Rename all the joints..
In the hierarchy's current state, you can't tell which joint is where, so let's go in and manually rename them all. Call the very first joint Root, and put the prefix L_ in front of the names of all the left-side joints. Add _Tip at the end of the names of the joints at the very end. See how the new hierarchy looks in Figure 11.9, right.
Now select the L_Thigh joint. Go to Skeleton > Mirror Joint and open the options (Figure 11.10).
Figure 11.10. Mirror Joint Options dialog box
Set Mirror Across to YZ; this will mirror the joints from +X to X. Leave Mirror Function set to Behavior. In Search For, type L_; and in Replace With, type R_. This renames all the mirrored joints beginning with L_ so they begin with R_.
Click Apply when you're finished; you've now created the right leg.
Select the clavicle and mirror it, using the same options, to create the right arm.
As you can see in Figure 11.11, Kila now has a basic skeleton. Save the file as Kila_Skeleton.mb.
Figure 11.11. Kila's basic skeleton
Grae's Skeletal Structure
Now we will look at Grae's base skeleton.
Load the file Grae_LOD_Prep.mb, and prepare it by turning off all the display layers except the first one (Grae_5174). Set this level's display type to Template.
Remove any joints that currently exist in the scene, except for the ones you created for the wings (and keep these hidden for now).
Use the Joint tool to create the left arm and leg joints (Figure 11.12). Remember to begin the arm from the clavicle.
Figure 11.12. Create Grae's left arm and leg joints.
Because of the size difference between our two characters, Grae's joints may not be clearly visible, so adjust the display size of joints by going to Display > Joint Size.
Grae has individual toes, unlike Kila, so create the joints that will animate these (Figure 11.13).
Figure 11.13. Insert joints into the individual toes.
Next, implement the spine. Grae's will be quite different from Kila's, of coursetry to follow the curve of his upper body as seen in Figure 11.14.
Figure 11.14. Add the spine joints.
With Grae's spine in place, parent the clavicle to the joint nearest to it on the spine, and parent the thigh joint to the root of the spine.
To complete the left side, build the joints into the hand. Keep in mind that Grae has fewer joints in each finger than Kila does (Figure 11.15).
Figure 11.15. Add the joints in his hand.
To complete the base skeleton for Grae, rename all the joints (remembering to use the L_ prefix and place _Tip after the names of the end jointsthese will be on the fingers, toes, wings, and head). Then use the Mirror Joint tool to create his right side.
The base skeleton is complete; you can see it in Figure 11.16.
Figure 11.16. Grae's basic skeleton.
For both the basic skeletons that now exist inside each of our characters, we can improve on the way they animate by adding extra joints on top of the fundamental ones.