Deformation Testing


Deformation Testing

With the model complete and optimized, we've arrived at the final stage for Grae: testing how he deforms.

Joint Creation

Initially, we need to insert joints for the arms and legs. Do this using Skeleton > Joint Tool as demonstrated in Figures 7.56 and 7.57.

Figure 7.56. Insert joints into the arm.


Figure 7.57. Create the skeleton for the leg.


Since Grae's arms are not identical, it's best to test them separately. Instead of creating a new set of joints for the right arm, we can mirror the existing ones. The process in the following steps is illustrated in Figure 7.58.

1.

Select the first joint of the arm, the one before the shoulder.

2.

This joint needs to be moved across the X axis to the center of the model, so press Insert and reposition the joint as close to the center as possible.

3.

When you're there, press Insert again to return to the normal translation mode.

Tip

You can make sure the joint is in the center by setting Translate X to 0 in the Channel Box.

4.

Select the shoulder joint and go to Skeleton > Mirror Joint; make sure the options are set as shown in Figure 7.59. The principal setting to be sure of is Mirror Across, which dictates which way the mirror will take place. Set this to YZ.

Figure 7.59. Options for mirroring the arm joints


Figure 7.58. Mirror the joints to create the right arm.


Follow Figure 7.60 to build up the joints for the wing. Initially you will have to create four separate sections, before parenting the smaller three to the main knuckle of the wing.

Figure 7.60. Build the joints to deform the wing.


Tip

To accurately place the joints for the wing, you can point-snap each joint to the appropriate vertex by holding down V as you move them.


Tip

To parent one object to another, simply select the child, and then hold Shift and select the parent. Press P to complete the operation.


The basic joints are now in place and we are ready to begin binding them to the geometry. To make the binding process easier, we should first tidy the scene by renaming the objects that exist in it.

Joint Renaming

Our scene is getting quite large, so let's tidy it up a little and make it easier to work with.

1.

Open up your Outliner. Looking at Figure 7.61 (left), you can see we have three main joints: joint1, joint5, and joint13. Next to these are plus icons (+), which tells us that other objects exist below these in the hierachy. Shift-click each of the plus icons to open up the joint objects (Figure 7.61, center).

Figure 7.61. Rename the joints that will move our character.


NOTE

Holding Shift when you click opens the full hierarchy. Clicking without Shift will merely open the immediate child of the object.

2.

Our collection of joints in the scene currently have names that aren't associated with what they will be deforming. It's a good idea at this point to rename the joints more appropriately (Figure 7.61, right).

After spending time tidying the scene it would now be a good time to save.

Binding and Testing

We will now test the deformation of the wing, so hide everything in the scene except the wing geometry and the skeleton.

1.

Select the joints that make up the wing, so we can bind them to the wing itself. You can quickly do this by selecting the root joint and going to Edit > Select Hierarchy.

2.

Hold Shift and select the wing; then go to Skin > Bind Skin > Smooth Bind in the Animation menu set.

3.

The mesh will automatically be deselected, but the joints should remain selected. Rotate them around the Z axis to test the deformation (Figure 7.62).

Figure 7.62. Rotate the wing to see how it deforms.


The wing seems to hold up fine; deforming it doesn't highlight any potential problems, so reset the joints by right-clicking and selecting Assume Preferred Angle from the marking menu. Then detach the skin and we'll move on to test the leg.

Hide everything except for Grae's left side and the joints making up the skeleton for the leg. Select the joints, then the mesh, and bind them as you did the wing. Before you work on the leg, weight the upper body to the Waist joint (Skin > Edit Smooth Skin > Paint Skin Weights Tool), making sure it won't be influenced by any other joint (Figure 7.63).

Figure 7.63. Weight the upper body to the Waist joint.


NOTE

For a refresher on the weighting tools and options, refer back to Chapter 6, "Deformation Testing."


To begin testing the leg, rotate it forward and see how it looks. The topology appears to be okay; a bit of weight painting is all this area needs. Test this by adjusting the weighting information around the hip. Figures 7.64 and 7.65 show the front and back of the upper leg before and after the weights have been adjusted.

Figure 7.64. The weighting before and after editing


Figure 7.65. With the leg rotated forward, smooth out the rear of the model.


When finished, follow Figures 7.66 and 7.67 and rotate the leg backward to see how it deforms in this position. Again, adjust the weighting to see if you can get away without adding any more geometry to this area.

Figure 7.66. Adjust the weighting with the leg back


Figure 7.67. Smooth out the large jagged area at the back of the leg.


To finish testing the leg, rotate the two knee joints upward and see how they hold up (Figure 7.68).

Figure 7.68. Rotate the knees to see how they look.


The knee joints seem finenothing that can't be fixed by adjusting the weighting information. Reset the leg skeleton and detach the skin from the main body, choosing Delete History in the options.

With the leg complete and not needing any deformation adjustments, we can proceed to the final part of Grae's main body, his arms. We need to test both arms, but first we must reattach them to the main model.

1.

Remove the mirrored instance if you have one in your scene. You need to have two separate halves of Grae's body to work with; a mirrored instance will not work at this point.

2.

Hide everything in your scene except the two arms, the main body mesh, and the joints for the arms.

3.

Duplicate the original mesh, making sure Copy and not Instance is selected as the Duplicate geometry type. Setting Scale X to 1 will in effect mirror the duplicate to create the second half.

4.

Combine the left arm with the left side of the body, welding the vertices where the arm was divided.

5.

Do the same for the right side, combining it to the right arm and welding the vertices.

You should now have two meshes: the left and right sides of Grae (Figure 7.69). Delete the history on both before you proceed.

Figure 7.69. Two separate sides for Grae


We will work on Grae's left side first, so select these joints: UpperSpine, L_Shoulder, L_Elbow, and L_Wrist. Then add the left side of the model to the selection. Apply a Smooth Bind.

As you did previously for the Waist joint, make sure the whole of his main body is weighted to the UpperSpine joint (Figure 7.70).

Figure 7.70. Fully weight the body to the UpperSpine joint.


Focus in on the shoulder and bend it down to see how it initially deforms (Figure 7.71). As expected, some minor weights will need to be painted, especially to fill out the armpit area. But once this is done, the shape should be good enough for us to move on to the elbow.

Figure 7.71. Adjust the weighting on the shoulder.


Before we bend the elbow, we have to address a small problem. As you can see in Figure 7.72 on the left, the rotation manipulator does not follow the orientation of the arm. This is because the rotational pivot is incorrect. The rotational pivot dictates how the joint will rotate and should match the orientation of the arm. We need to realign the pivot so that the elbow will bend correctly around the Z axis.

Figure 7.72. Fix the rotational pivot so we can rotate the arm correctly.


We will discuss rotational pivots and joint orientation in more depth in Chapter 11, "Skeleton Setup."

For now, to quickly fix the problem, go to Skeleton > Orient Joint and open up the options window. Configure this tool as shown in Figure 7.73: Set Orientation to XYZ and make sure the option to "Reorient the local scale axes" is not enabled. Then click Apply.

Figure 7.73. Setting the Joint Orient options to fix the rotational pivot


With the rotational pivot corrected, we can now bend the arm before adjusting the weights, to see how it will look (Figure 7.74). It appears to be fine, so let's reset the joints, detach the skin, and then repeat the process on the right arm.

1.

First bind the skeleton to the right-side mesh.

2.

Weight the body to the UpperSpine joint.

3.

We know the shoulder is okay because it's identical to the one on the left, so we will skip this area.

4.

Check the joint orientation on the elbow, and fix it if it's incorrect.

5.

Rotate the elbow before tweaking the weights, to see how the area will look (Figure 7.75).

Figure 7.75. Work on the right elbow weights.


6.

When everything is fine for all the joints, reset the skeleton and detach the skin.

Figure 7.74. Work on the left arm elbow weights.


Combine both sides of the mesh now, welding the vertices down the middle so we have a seamless join.

Now for the face: There isn't much we really need to test here. Grae doesn't talk, so all he really needs is a mouth that can open and that's already in place. What we do need to test are his eyes.

With Kila, we created a duplicate of her head to work on for testing, but we don't need to do this with Grae. We are only testing his eyes, so we can rely on the Undo command to return to the original mesh when we are finished.

Focus in on his left eye and, as seen in Figure 7.76, adjust the eyelid until the eye is closed. It looks good; nothing needs to be tweaked or altered. Use Undo (Z/Cmd+Z) to return to the mesh with the eyes open.

Figure 7.76. Test the eyelids to make sure they cover the eye correctly.


The Grae model is now complete (Figure 7.77). Spend as much time as you can now, moving around the model to double-check the overall shape. As always, keep an eye out for ways to further improve or optimize the geometry.

Figure 7.77. The final Grae model


When you're ready, delete the history on all the geometry, tidy up the scene, and save your work as Grae_DeformTest.mb.