Creating Reactions in a Hand
 
 
 

In this lesson, you will use the Reaction Manager dialog to establish a master-slave relationship between some custom dialog elements and the fingers on a hand. The dialog elements (sliders, in this case) will be the masters, and the fingers in the hand will be the slaves.

Set up the lesson:

Set up the reactions:

  1. From the Animation menu, choose Reaction Manager to display the Reaction Manager dialog.

    TipYou can also open this dialog by ALT+right-clicking an active viewport, and choosing Reaction Manager from the quad menu.

  2. Click the Add Master button.
  3. Select the CNT_HAND object in the viewport.
  4. A pop-up menu appears, which lets you choose the animation track that will serve as the master in the reaction being defined. You could choose a transform applied to CNT_HAND, but for this lesson you will use the custom attributes that have been built for you.

    From the pop-up menu, choose Modified Object > Attribute Holder > Custom_Attributes > Pointer.

    A new entry, CNT_HAND / Pointer, appears in the Reactions list of the Reaction Manager dialog, indicating that the Pointer attribute of the CNT_HAND object is the new master for the Reaction controller that you'll set up. Technically, the controller is actually applied to the slave objects that you'll specify in the next few steps.

    Next, you'll use Reaction Manager to specify the slave tracks that this master drives.

  5. Select the bones of the pointer (index) finger: BN_Pointer01, BN_Pointer02, and BN_Pointer03.
  6. In the Reaction Manager dialog, with the pointer finger bones still selected, click the Add Selected Button.
  7. You are presented with another pop-up menu, which lets you choose the animation track of the slave objects that should be driven by the Reaction controller. Choose Transform > Rotation > Y Rotation.

    This applies a Reaction controller to each of the slave objects. The slave objects and the parameters that will be driven by the Reaction controllers appear in the Reaction Manager dialog. The States list shows the initial values for the Y rotation of the bone objects.

    Note You could also designate slave objects by clicking the Add Slave button and then selecting the individual objects, but in this case it is faster to use the Add Selection button, especially since you wish to affect the same parameter (Y rotation) of each of the selected objects.

    Now that you've defined the relationship between a master object, a Reaction controller, and the slave objects' parameter, the next step is to tie specific master values to the specific parameter values you want to see in response.

Adding reaction states:

  1. Make sure CNT_HAND / Pointer is still highlighted in the Reactions list.
  2. Click the Create Mode button to turn it on.

    The button is highlighted, indicating that you can now create new Reaction states interactively.

  3. If the CNT_HAND custom attributes aren't visible, select CNT_HAND again, and go to the Modify panel.
  4. On the Custom Attributes rollout, drag the Pointer slider all the way to the right.

    Remember, at this value the finger will be fully curled.

  5. On the Main toolbar, click the Select And Rotate button to turn it on. Then set the Reference Coordinate System to Local.
  6. Press H to display the Select From Scene dialog, select BN_Pointer01 in the list, and rotate it along the Y axis approximately -90 degrees. Repeat this step for BN_Pointer02 and BN_Pointer03 so that the pointer finger is fully curled inward.

    TipYou can save time by selecting each object and then entering -90.0 in the Y box of the Coordinate Display, below the time slider.

  7. On the Reaction Manager dialog, click the Create State button.

    The newly created Reaction state is displayed in the States list as a new entry. Now create another state:

  8. Select CNT_HAND again in the Perspective viewport.
  9. On the Modifier panel > Attribute Holder modifier > Custom Attributes rollout, drag the Pointer slider from the extreme right to the extreme left position.
  10. Rotate each of the pointer finger bones so that the hand is wide open, with the fingers bent back slightly beyond the plane of the palm.
    TipIf you are using the Coordinate Display to type in the Y rotation, and you used -90 degrees to curl the fingers inward, uncurl each finger joint by 100 degrees.
  11. On the Reaction Manager dialog, click Create State again.

    A third Reaction state appears as a new entry in the States list.

  12. Click Create Mode to turn it off.

    The button turns gray to indicate that you have exited Create mode.

  13. Save your file as my_hand_reaction.max.

    You have now successfully defined the reactions for a single finger. To test them out, select CNT_HAND, and then, on the Modify panel, drag the Pointer slider right and left to see the finger curl and uncurl.

    Your scene should now be similar to hand_reactions02.max, which has the reactions created for the pointer finger according to the previous steps.

Complete the hand setup:

  1. Repeat the previous procedure for the thumb and other fingers, attaching the reactions to the appropriate sliders in the Custom Attributes rollout. You might need Y rotation values other than –90.0 for fully curled and 100.0 for extended backward; use angles that look natural. For example, the first bone of the thumb will bend very little in either direction.

    When you have completed these steps, the Reactions list should look something like this:

    For each master in the Reactions list, the States list should contain three states that look something like this:

  2. Save your work as my_hand_reaction01.max

Next

Refining the Reactions