Using Controllers with Biped
 
 
 

You can add controllers on top of Biped animations to create a wide variety of effects. You can use scale controllers to create stretchy legs or arms for cartoon animation, or create the illusion of breathing by adding a scale controller on the spine objects in the chest. You can add noise rotation controllers to the spine to make a biped shake while he walks, or to create twitching or random motion in the limbs or head.

Controllers can be added in the Motion panel, Assign Controllers rollout, or by using the Workbench.

Although this lesson is performed with footsteps, it could have been accomplished just as easily with a freeform animation.

Create stretchy legs with controllers:

In this exercise, you will add a scale controller to a biped's legs to stretch them during a portion of an animation.

  1. Open stretchyleg_start.max.
  2. Play the animation.

    The biped walks for 10 paces, zooms to a lower level, and then walks another five steps. You’ll add the scale controller, then animate the biped so that its legs stretch during the period of the downward leap.

  3. Move the time slider to frame 162, then select the Bip01 L Thigh object, the blue leg.
  4. On the Motion panel, open the Assign Controller rollout.
  5. In the controller list window, expand the Biped SubAnim entry.

    Now you can see the three list controllers.

  6. Click the plus sign (+) next to BipScaleList to expand this controller. Select the entry marked Available, then click the Assign Controller button.

    The Assign Scale Controller dialog appears.

  7. Choose Scale XYZ from the list, and click OK to close the dialog.
  8. On the 3ds Max Main toolbar, click the Select And Scale button.

    The Scale gizmo is visible on the thigh in the viewport.

  9. Turn on Auto Key.

    First, you will set a key to start the stretch. You don’t want the stretch to start before frame 162. You want the biped to have a normal leg (unstretched) from the start of the animation up to this frame.

  10. Using the Scale gizmo, stretch the leg very slightly in the X-axis at this frame, so the final value in the Coordinate rollout is 100 (no stretch).

    The leg at frame 162 (no stretch).

  11. Move to frame 164, and stretch the leg so the foot reaches the footstep.

  12. Move to frame 167, and again stretch the leg in the X-axis, so the foot stays on the footstep gizmo.

    Leg stretch at frame 167

  13. Move to frame 169. Here, you begin to shorten the leg stretch.

    Leg shortens at frame 169

  14. Move to frame 181 and stretch the leg back to normal. Adjust it visually until the leg looks correct.

    Leg at frame 181 appears normal.

  15. Play the animation. The biped’s back foot stays on the footstep and the leg stretches out as the biped descends to the lower set of footsteps.

    For extra credit, add a scale controller to the green thigh, and stretch that leg out, roughly between frames 161 and 171.

  16. Save your work as mystretchy_leg.max, or open stretchyleg_final.max for comparison.

Once you have controllers added to the biped body parts you can animate their parameters, or animate their weights. Here's an example that shows animation of parameters.

Animate the weights of SubAnim controllers:

  1. Open shake_and_walk_start.max.
  2. Play the animation.

    The biped takes a few steps, then pauses for a moment or two, then walks on.

  3. In the Perspective Viewport, select Bip01 Spine, the lowest spine object.

  4. On the Motion panel, open the Assign Controller rollout.
  5. In the Assign Controller window, expand the Biped SubAnim so you can see the list controllers.
  6. Expand the BipRotationList, and highlight the entry marked Available.

  7. Click the Assign Controller button.

    The Assign Rotation Controller dialog appears.

  8. Choose Noise Rotation in the list, and click OK.

    The Noise Rotation Properties dialog is displayed. Don't close this dialog.

  9. Play the animation in the viewport.

    The biped shakes drastically as it walks.

  10. In the Properties floater, turn Fractal Noise off.
  11. As the animation plays, change the Frequency in the Properties dialog, using the spinner. Lower the value until the shake becomes slower and more rhythmic. Probably a value of 0.2 or less will be good to use, but you can choose whatever you like.
  12. As the animation plays, change the X, Y and Z values. Set the three values to 0, then change them individually, one at a time.

    To create a shimmy effect, set X Strength to be 2, Y and Z Strength to 0.

  13. Close the Noise Rotation Properties dialog.

In this example, the biped should shake only while walking. The frames between 69 and 191 should not have any shaking. To complete this effect, you will animate the weight of the noise controller.

Animate the weight of the noise controller:

  1. On the Motion panel, expand the Weight entry of the Noise Rotation controller you added to the spine object. Highlight Weight 0.

    There is a trick to accessing the weights.

  2. Open the Keyframing Tools rollout and click the Manipulate SubAnims button.

    The Motion panel now displays additional rollouts for Position List, Scale List, and Rotation List.

  3. Scroll to the Rotation List and select the Layer->Noise Rotation.

    Now you're ready to animate the Weight field.

  4. Turn on Auto Key
  5. Move the time slider to frame 70.
  6. Near the bottom of the Rotation List rollout, right-click the Weight field spinner. This sets it to zero.
    TipRight-clicking any spinner resets it to its lowest possible value.

  7. Move the time slider to frame 69.
    TipUse the < and > keys on the keyboard to move from frame to frame.
  8. Change the Rotation List Weight field to 100.0.

    The spinner is outlined in red to show it is animated.

  9. Drag the time slider back and forth from frame 0 to frame 100 to see the animation. The biped shakes while walking and stops shaking during the pause.
  10. Next, you make the biped start shaking again at frame 191. At frame 190, set a key with the Noise Rotation Weight set to 0, and to100 at frame 191.
    TipAt frame 190, hold down the Shift key while you right-click on the spinner. This will set a key without having to change the value.
  11. In the Keyframing rollout, turn off Manipulate SubAnims when you're done.
  12. Play the animation.
  13. Save your file as myshake_and_walk.max, or open shake_and_walk_finished.max for comparison.

If you are exporting to a game engine, or if you want to use this animation with Layers or in the Motion Mixer, you will need to collapse the list controller animation (see following procedure). This will add the controllers animation keys to the tracks of the Biped SubAnim.

Note3ds Max has different behaviors for controllers and constraints. The controller animation will be layered onto the existing keys in the Biped SubAnim track. If you have used a constraint, however, it will replace the Biped Subanim tracks.

Collapse the list controller track:

  1. Continue from before, or open shake_and_walk_finished.max.
  2. If you open the file, select the Bip01 Spine object in the viewport, open the Motion panel, and expand the Assign Controller rollout.
  3. In the Assign Controller window, highlight Biped SubAnim and then right-click.
  4. Choose Properties from the right-click menu.

    The SubAnim Property dialog appears.

  5. In the Enable options, turn off Position List and Scale List, so the Rotation List is the only one active.
  6. In the Collapse options, turn off Position, and turn on Rotation List, Don't Delete, and Per Frame.

  7. To collapse the rotation track, click the Collapse button at the bottom of the SubAnim Property dialog.

    Wait while the calculations take place.

    When the collapse is completed, the dialog closes and the track bar fills with keyframes.

  8. Save your work as mycollapsed_shaking.max, or open shake_and_walk_collapsed.max for comparison.

You can use the Workbench to reduce the keys that you've created.

Next

Creating Animated Bones with Biped