Advanced Rigging

Finishing Up

Introduction

To finish up this portion of the rig, you are going to have to clean up the outliner, controls, and fix the visibility of the controls. The naming convention is very important for this step, because it is generally a pain to search through your outliner to find things.

Tutorial

Visibility of Controls

  1. When the animator switches between IK and FK, you want to present them with the controls that pertain to that portion of the rig (you don't want to show them controls that aren't useful). We don't need to worry about the torso, we gave the animator a layer to toggle whether they want to see fk or ik (since they work in tandum). However, the animator can switch everythings else, so we will have to set up our own visibility controls.
  2. Select l_elbow_anim.
  3. RMB in the channel box and choose Editors > Channel Control. Go to the locked tab and make sure that visibility is not locked.
  4. Do the same for l_arm_anim.
  5. This expression will be to hide and unhide the ik animation controls based on the toggle. Open the expression editor in Window > Animation Editors > Expression Editor
  6. Change the select filter to "by expression name"
  7. Type in "visibility" for ht expression name.
  8. Type in the following expression:
    //determine state
    $l_arm_state = settings_anim.l_arm_state;

    //set ik visibility.
    l_elbow_anim.visibility = $l_arm_state;
    l_arm_anim.visibility = $l_arm_state;
  9. Click "create". Make sure that there are no errors. Now you should be able to toggle the l_arm_state in settings_anim between fk and ik and the ik controls will turn off and on. Now we will have to add in some expressions to control the visibility of the fk controls.
  10. Select l_wrist_anim.
  11. RMB in the channel box and choose Editors > Channel Control. Go to the locked tab and make sure that visibility is not locked.
  12. Do the same for l_fk_upArm_anim.
  13. Modify your visibility expression to include the lines:
    //set fk visibility.
    l_wrist_anim.visibility = (1 - $l_arm_state);
    l_fk_upArm_anim.visibility = (1 - $l_arm_state);
  14. Click "edit" at the bottom of the expression editor.
  15. Now toggle between fk and ik for the left arm state, you should see the controls appear and disappear correctly at this point.
  16. You can copy and paste that entire script and change the "l_" to an "r_" and now the right side should work as well.
  17. Now lets add in the legs. We first need to go through and check that the visibility is not locked on any of the controls that we are working with. Check the visibility attribute for l_foot_anim and l_fk_upLeg_anim (if you followed Zhi's demonstration, you will also have to check for the knee control like we did with the elbow).
  18. Under the "//determine state" comment in your code, add in the line "$l_leg_state = settings_anim.l_leg_state;" to check for the leg's state.
  19. Under the "//set ik visibility" comment in your code, add in the line "l_foot_anim.visibility = $l_leg_state;" to modify the visibility of the leg based on the leg state.
  20. Under the "//set fk visibility" comment in your code, add in the line "l_fk_upLeg_anim.visibility = (1 - $l_leg_state);" to modify the visibility of the leg based on the leg state.
  21. Now click the "edit" button at the bottom of the expression editor.
  22. You can copy and paste the new lines and change the "l_" to "r_" to make the other side work.

Cleaning up your panel

  1. In your panel (persp, side, etc.) go to the "show" menu and select "all". You should see all of the joints and other things, that you don't want to see... blah!
  2. In your panel, go to the "show" menu and unselect "joints". At this point the only thing that you should see are controls and mesh. You shouldn't be seing the back curve, ikHandles, or anything else that we used to create the skeleton. If you do see this, hide them! Select all that bad junk (ANYTHING that is not an anim control or the mesh) and hide it.

Layers and presentability

  1. Now lets add some layers so that your controls are pretty colors for the animators. Create a new empty layer. Select your fk controls for the arm (both sides, right and left), hit the up arrow so that you select the actual object and not just the shape. Add them to the layer. Change the layer name to fk_arm_anim, change the color to a simialr color to the fk torso color.
  2. Do the same for the fk leg controls.
  3. Do the same for the ik controls, only make your color close to the ik torso controls.

Cleaning up your outliner

  1. ZOMG! Clean your outliner!