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.

Set up the lesson:

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. 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.

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

    Now you can see the three list controllers.

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

    3ds Max opens the Assign Scale Controller dialog.

  6. Choose Scale XYZ from the list, and click OK to close the dialog.
  7. On the 3ds Max main toolbar, click (Select And Scale).

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

  8. 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.

  9. 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).

  10. Go to frame 164, and stretch the leg so the foot reaches the footstep.

  11. Go 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.

  12. Go to frame 169. Here, you begin to shorten the leg stretch.

    Leg shortens at frame 169.

  13. Go to frame 181, and stretch the leg back to normal. Adjust it visually until the leg looks correct.

    Leg at frame 181 appears normal.

  14. 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.

  15. Turn off (Auto Key).
  16. Save your work as mystretchy_leg.max.

    You can open stretchyleg_final.max to compare this version of the animation.

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, 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 (Assign Controller).

    3ds Max opens the Assign Rotation Controller dialog.

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

    3ds Max opens the Noise Rotation Properties dialog. 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 off Fractal Noise.
  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.0, then change them individually, one at a time.

    To create a shimmy effect, set X Strength to be 2.0, Y and Z Strength to 0.0.

  13. Close the Noise Rotation Properties dialog.

In this example, the biped should shake only while walking. The frames from 69 through 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 (Manipulate SubAnims).

    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. Drag 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 nonnegative value.

  7. Drag 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 its value 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.0, and to 100.0 at frame 191.
    TipAt frame 190, hold down the Shift key while you right-click the spinner. This will set a key without changing the value.
  11. On the Keyframing rollout, turn off (Manipulate SubAnims) when you're done.
  12. Play the animation.
  13. Save your file as myshake_and_walk.max.

    You can open shake_and_walk_finished.max to compare this version of the animation.

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, 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 pop-up menu.

    3ds Max opens the SubAnim Property dialog.

  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.

    You can open shake_and_walk_collapsed.max to compare this version of the animation.

TipYou can use the Workbench to reduce the number of keys created by collapsing the tracks.

Next

Creating Animated Bones with Biped