Ranges View

Ranges View is CAT's nonlinear animation (NLA) view; it lets you move and retime all keyframes in a layer simultaneously. Benefits include the ability to change the animation timing and speed and trim off the end of the animation.
Note: All Ranges View features are extensions of the standard 3ds Max Ranges feature, available in Track View Dope Sheet mode. To understand these features, we recommend that you experiment with adjusing the ranges on a single controller for a simple object. Create a sphere, create some keyframes, and then open Track View in Dope Sheet mode and start editing the range bar. For more detailed information on these features, see Edit Ranges.

To edit ranges:

  1. On the Layer Manager rollout, click (Dope Sheet: Layer Ranges). The layers are displayed as individual tracks.

    Ranges View

  2. The ranges for the layers can then be squashed, stretched, and moved as usual in 3ds Max. They can also be reversed.

The range for a layer is specified by the first and last keyframes on any track for any part of the rig. If a range extends before the start or beyond the end of your animation, one of the rig bones might have rogue keyframes. 3ds Max creates a keyframe at frame 0 whenever you keyframe (using Auto Key) an object for the first time. This can create an unintended keyframe.

Whenever you use Ranges View to edit the keyframes on a layer, all the keyframes on the rig are moved. You can see this clearly by selecting a bone with keyframes and then editing the layer range bar.

Note: If you have a constraint on a layer, it can cause Ranges View to extend to infinity. You can still use Ranges View to move keyframes, but it is not possible to see the start and end times for the layer.

Moving Keyframes in Time

To move all the keyframes on a layer, drag the bar to the left or right.

With a complex character, the movement might be somewhat slow or jerky. Remember that you are moving many keyframes at once and the entire rig is updating repeatedly as you drag the keyframes.

Squashing and Stretching Keyframes

You can speed up or slow down an animation by dragging the range bar endpoints. To slow down the entire animation, make the range bar longer by moving the end of the bar to the right, or the start to the left.

To speed up your animation make the range bar shorter by moving the start of the bar to the right, or the end to the left.

Reversing an Animation

To reverse the direction of an animation, drag the start of the range bar past the end, thus reversing the order of the keyframes.

Setting Looping Options for a Layer

To access the looping options for this layer, click the Parameter Curve Out-of-Range Types' button.

You might have an animation on a layer that you would like to repeat in some way. This could be a simple action like a breathing motion on a ribcage, or a while walk cycle. You can use the ranges view to set the looping options for the entire layer.

Remember that each controller on the rig loops separately, so to get the whole layer to loop at the same time, you might want to set the layer time range manually (see following).

Setting the Layer Time Range Manually

Each controller in the rig has its own time range, which is defined by the first and last keyframes on that controller. This means, for example, that if you want your animation to loop, then each controller will loop according to its own time range. As a result, the whole animation can get out of sync and look incorrect. If you set the time range manually, you can force all the controllers on the character to use the same time range, thereby ensuring correct looping.

To use position ranges on an animation layer:

  1. In Dope Sheet mode, right-click the toolbar area of Track View.
  2. From the menu, choose Show Toolbars Ranges: Dope Sheet.

    3ds Max opens the Ranges toolbar.

  3. Click (Position Ranges).
  4. Edit the Layer Range as usual.
Note: Once you have set your layer to manual range adjustment by activating Position Ranges, you can no longer move the keyframes in time. This is because when you move the range bar, it is actually moving the loop time for your controller, not the actual keyframes. If you need to move the keyframes again, you can recouple the ranges by clicking the Recouple Ranges button (see following).

At some point you might wish to go back to standard range editing. You can do so by clicking (Recouple Ranges). This resets all the ranges to their default behavior where the time range is defined by the first and last keyframes.