The base skeleton and character meshes are now locked by the Layer Editor, meaning no one can edit them by mistake. The rig, however, still needs some protection. In its present state, the rig can easily be broken. Almost all of the controls can be moved away from the rig, but they need to stay locked to it. Another concern is that you want only the rotations to be available to the animator; as it is, however, the translations and even the scale attributes are freely available to edit. All of this can have disastrous results. In this section we will look into locking off all the attributes we don't want anyone to use, with the help of the Channel Control window. This tool allows us to make attributes nonkeyable, meaning the animator cannot place keyframes on them. The animator can still move an object using the manipulators, but we can lock the specific attributes that we don't want to be editable. The beauty of the Channel Control tool is that with "Change all selected objects of the same type" enabled you can work on a number of objects at the same time (as long as they are of the same type), which speeds up the whole process. 1. | Open the Channel Control window by going to Window > General Editors > Channel Control. As you can see in Figure 15.2a, the window is empty because we don't have anything selected. Figure 15.2. Move all the basic transformation attributes to the Non-Keyable list. | 2. | Select all the finger icons for both hands, including the thumbs and the palm area. These will be automatically loaded into the Channel Control window (Figure 15.2b). | 3. | You are now in the Keyable tab of Channel Control. This tells you that the attributes on the left can have keyframes applied to them; the ones on the right cannot. NOTE Whichever object you selected last will be the main one visible in the Channel Control window, so don't worry if the window looks different from Figure 15.2b. As demonstrated in Figure 15.2c, select all the rotate, scale, translate, and visibility attributes in the Keyable list on the left. | 4. | Notice that the Move >> button is now enabled; click on this now to move the selected attributes across to the Non-Keyable list on the right, leaving only the ones we want available to animate (Figure 15.2d). | Although you've now ensured that keys can no longer be set on the finger icons' main attributes, they can be selected and moved, rotated, or even scaled, which we don't want to occur. We need to lock these attributes so that their values cannot be altered. 1. | Click on the Locked tab; the window will change to show what is currently locked in the left panel, and unlocked in the right panel (Figure 15.3, top). At present, nothing is locked. Figure 15.3. Lock all the translate, rotate, scale and visibility attributes. | 2. | Scroll down the Non-Locked list on the right and select the translate, rotate, scale, and visibility attributes. TIP Holding Ctrl/Cmd lets you to select multiple attributes. | 3. | Now the << Move button is enabled. Click on it to move those selected attributes across to the Locked list (Figure 15.3, bottom). | TIP You can also lock attributes directly in the Channel Box if they are keyable. Simply right-click on the attributes you wish to lock, and select Lock Selected. So the hand icons are locked, and only the attributes that control the fingers are available to be animated. Let's now clean up the rest of the hand. 1. | Select both the palm icons again and press the Up Arrow key, which will select the groups above these icons in the hierarchy. Although these are not visible, the animator could quite easily select them and probably animate them. We need to lock all the attributes as well as make them all nonkeyable. | 2. | In the Keyable tab of the Channel Control window, make sure all the attributes are moved across to the Non-Keyable side. | 3. | Switch to the Locked tab, and move the translate, rotate, and scale attributes across so that they are locked. | You will notice that we omitted the visibility attribute in the preceding steps. This is because, unlike with the other finger icons, the visibility icon controls this attribute. Locking the visibility attribute here would lock it in its current state, so the visibility icon would have no effect. TIP You can quickly see if a visibility attribute is connected to the visibility icon by looking in the Channel Box. If the attribute is colored yellow, it has an incoming connection. Now that we know how the Channel Control window operates, we can start to work on a larger scale. Let's start with all the icons whose movement is based only on rotations. 1. | Select the control handles that allow you to animate shoulders, elbows, and wrists on both the left and right sides. | 2. | Make the translate, scale, and visibility attributes all nonkeyable, and lock them in the Locked tab. (In this case, we can lock the visibility attribute because it isn't directly controlled by the visibility icon.) | 3. | Select the waist control icon, the neck rotation icon, and all three spine icons and make them nonkeyable. Lock the translate, scale, and visibility attributes. Note that we have to do these separately from the arms because they are different object types. | Next, we will look at the icons that translate only. 1. | Select both arm IK controllers and all four elbow and knee position icons. | 2. | Add to this selection both breast icons and the main chest groupjust select the handle in between each breast icon. (Needless to say, you can skip this step for Grae.) | 3. | We aren't finished yet. Also include in this selection the main head icon, both eye icons, and the main eye group. | 4. | Finally, add all five of Kila's hair control handles and the two clavicle controllers. | 5. | Now make all the rotation, scale, and visibility icons nonkeyable and lock them. | For the last group, we just need to lock and make nonkeyable the scale attributes, since we need to animate the translations and rotations. 1. | Select both feet and the main root control. | 2. | Make them nonkeyable, and lock the scale attributes. | 3. | The visibility icon controls the visibility attributes on these icons, so you can't lock them; but do set them to be nonkeyable. | That's it; the main rig is cleaned up nicely. Now we need to go in and lock the controls that are not immediately visible. 1. | Using the Outliner, select the HeadRotation and HairSwing groups that exist just above the hair and head controllers in the hierarchy. If you are working on Grae at this point, select the WingControls group, too. | 2. | Add to this selection the KilaVisibility (Figure 15.4) icon. Figure 15.4. Select the HairSwing, HeadRotation, and KilaVisibility objects in the Outliner. | 3. | In the Channel Control window, make all the translate, rotate, scale, and visibility attributes nonkeyable, and lock all the same attributes except visibility. | TIP If you know the exact name of an object or series of objects, you can use the selection field on the status line to select them, rather than having to trawl through the Outliner. And when you need to select a number of objects whose names are almost the same, you can use wildcards: Simply enter *Bone* in the selection field, and anything with Bone in its name will be selected. For the next step, let's try selecting using the selection field rather than the Outliner. 1. | In the selection field on the status line, type in HairHelper (Figure 15.5). This selects the locator we created to help us control the hair's movement. Figure 15.5. Make quicker selections using the selection field on the status line. | 2. | Now lock and make nonkeyable all the main translate, rotate, scale, and visibility attributes. | 3. | We don't directly manipulate the IK handles in the scene, so we can safely lock these. First select them all by going to Edit > Select All By Type > IK Handles. Make everything nonkeyable, but only lock the main translate, rotate, scale, and visibility attributes. | 4. | Finally, there are two joints that have evaded us so far. These exist at the end of the control arms and are called L_ConWrist and R_ConWrist. Like the IK handles, these joints are not animated directly; instead, we use the L_ConHand and R_ConHand joints to animate them. Therefore you can safely make all attributes of these joints nonkeyable, and lock the main translate, rotate, scale, and visibility attributes. | NOTE If you haven't done so already, now is a good time to zero off those rotation values lingering on the Rotate Y attribute on the character's feet. This additional clean-up will make the rig even better for an animator to work with. Your rig should now be tamper proof; having available only the attributes that should be animated will avoid future problems with the rig. Check to make sure you have not missed any controllers, visible or otherwise, before you continue. It's best to do this first in the Outliner because each object will be clearly listed. In addition, go through each icon in the view panel, since this is how the animator will interact with the character. |