Graph Editor

Animating in 3D, in some ways, can be very similar to the art of stop motion animation, where you build a model, place it in a scene, light the scene for atmosphere, and then animate the model to bring it to life. However, unlike stop motion animation, in 3D animation, you can easily skip multiple frames and lock in a fixed value, called a keyframe. Between those skipped frames the computer interpolates from one value to the other. The Graph Editor viewport controls how the system interpolates those in-between key values.

Graph Editor

Nearly any property of any item can be animated by keyframing the values of an item's channel. Channels are simply the animate-able properties of any item gathered together in list form. Generally, you interact with channels within the Channels Viewport, but since channels are so essential to the Graph Editor, the very same channels appear when an item is selected in the left-most column. Channels can be selected individually by clicking over the channel name.

Multiple channels can be edited at the same time as well. Non-sequential channels can be selected by Ctrl/Cmd+clicking on the various channel names, or sequentially with the Shift key modifier and clicking the top and bottom-most channels. When a particular channel is selected, its animation curve (as it is usually referred to, regardless of its actual shape) is displayed in the graph area. If no keyframes are defined, it appears as a flat, dotted line. Once a keyframe is created, it appears solid.

The graph area is where the actual values are manipulated. In this graph, left to right always represents time, but up and down changes depending on the channel type selected. The line that connect the individual keyframes represents the value's change over time. By default, Modo uses a smooth curve to interpolate between keyframes values, providing a nice ease-in/ease-out type of effect. There may be times when you want a very different interpolation style, or simply to apply finer control. Animation curves can only be changed by manipulating the keyframes and are very similar to working with Bezier curves in the modeling viewport. Keyframes are represented as tiny dots along the line.

The Timeline across the bottom is functionally identical to the Timeline in the Animation layout. Clicking and dragging changes the current time. As you drag the current time value around, you can see the effect of the animation curve in the 3D viewport. Handles appear in the Timeline wherever a keyframe appears, and can be clicked and dragged in time forwards or backwards, modifying the position of the keyframes for selected channels.

Channels

When the Graph Editor is opened, any selected items appear with their associated channels in the Channels section of the viewport. From within this section, you can select the appropriate channel(s) you wish to adjust. Only the selected channels appear in the graph area. Clicking selects the Channel the cursor is currently over and the Ctrl and Shift modifier keys adds or subtracts additional Channels from selection groups to allow for simultaneous editing of multiple channels.

Channel Visibility

Along the right side of the viewport are toggle buttons that filter the visibility of the channels:

Icon

Action

When enabled, this button only shows channels in the Channels view that have existing keys.

When enabled, this button only shows channels in the Channels view that are part of the selected Groups Viewport.

When enabled, this button shows transform channels for items.

When enabled, this button shows standard item channels.

When pressed, this button loads the currently-selected items into the Channels view, replacing the current contents.

When enabled, this button locks the current items in the Graph Editor, so they remain, regardless of item selection, until disabled.

Key Creation and Selection

Keys can be added to the currently-selected curve(s) by middle-clicking either on the curve itself or anywhere on the background. Alternatively, you can use the Ctrl+Alt+click shortcut to create keys. Key values are created at the location of the cursor.

Tip:  When working in the Graph Editor, dragging a key with the right mouse button constrains it horizontally so that only the time is adjusted.

The Frame and Value numeric fields in the upper-left corner allows for precise numerical editing of selected keys. There are also two buttons for assigning keys that utilize the location of the Timeline within the graph.

Icon

Action

Adds a keyframe to the selected channels at the current Timeline position.

Adds a keyframe, same as the Key command, but retains the shape of the target curves by adjusting the Slope and Weight values along the target curve.

Selecting a key can be done by clicking with the cursor directly over the key itself. Holding the Shift key while selecting adds to the selection, while holding the Ctrl key removes a key from the selection set. Clicking on the graph background deselects all keys.

Clicking and dragging on the background starts "box marquis" selection - drag out a box to enclose the keys you want to select and release the mouse button. All keys within the box are selected, and any outside the box are deselected. Holding down the Shift key adds the keys within the box to the selection while the Ctrl key removes them.

Editing Keys

Once you have added a keyframe to your curve, you can quickly add additional keyframes. Select the original keyframe to activate it, press Shift + Ctrl, and then drag it to a new position on the curve. Repeat this process to add additional keyframes. Once done, drop the Shift + Ctrl keys. As a result, new keyframes are added to the curve at the positions you specified.

Click+drag on a key selects the key if it's not already selected and allows quick editing of both Input and Output values at the same time. If there are several keys already selected, and you click drag on one of them, then all the selected keys are modified.

Middle-click+drag on a key works in a similar way except that editing is constrained to the Output value. Similarly, right-click+drag constrains the edits just to the Input value.

Middle-click+dragging vertically on the background adjusts the Output value of all selected keys.

Right-click+dragging horizontally on the background adjusts the Input value of all selected keys.

Ctrl+middle-click+drag on the background provides constrained editing of Input and Output values for selected keys, based on the initial direction of movement.

Double-clicking a key selects all the keys on the curve.

Icon

Action

When Link related keys is enabled, associated keys (such as the R, G, and B color channels) remain at the same time interval, relative to each other, even if only a single channel key is modified; when disabled, keys can be freely moved.

Deleting Keys

Keys can be deleted from curves in two ways: to delete only the currently-selected keys press the Delete key or to delete the currently-selected keys and keys at the same Input value on associated curves, select Delete Key from the right-click context menu.

Context Menu

The Gradient Editor context menu is accessed by right-clicking. If the cursor is over an un-selected key when the menu is opened the key is added to the selection. Operations performed from the context menu affect all the currently selected keys.

Navigation

Panning and zooming behavior in the Gradient Editor is similar to the 3D Viewports with a few additions:

Alt+middle-click+drag adjusts the start value of the Input (horizontal) range displayed in the editor, while Alt+right-click+drag adjusts the end value of the Input range.

Alt+Shift+middle-click zooms the Output range displayed in the editor, while Alt+Shift+right-click zooms the Input range. In both cases, the zoom is centered on the initial cursor location.

Alt+Ctrl+right-click provides box zooming.

The mouse wheel zooms in and out around the cursor location.

Modifying Curves

The Graph Editor also offers a lot of ways to control interpolation from one key to the next. This is represented by the curve/line that connects each key. By default, the values gradually fade from one to the next - this is the Auto setting. You can adjust the key settings so incoming and outgoing lines are smooth, linear, stepped, or a variety of other shapes. Small Bezier-like handles appear next to selected keys that allow you to make these adjustments. Clicking and dragging the handle modifies it, putting it in to the Manual mode. The handles relate to the key in two ways, there is the angle of the handle called Slope, and then the length of the handle called Weight. These two options combine to produce the final shape of the curve. There are some buttons to quickly set the most common Slope and Weight combinations.

Gradient Handle Edit

Icon

Action

Sets the selected keys to Auto for both Slope and Weight.

Sets the selected keys to Manual for both Slope and Weight.

Sets the selected keys to Auto Flat Slope and Auto Weight.

Sets the selected keys to Flat Slope with Auto Weight.

Sets the selected keys to Linear with additional sub-menu options (right-click) for Linear In and Linear Out.

Sets the selected keys to Stepped Slope with Auto Weight.

The next group of buttons gives full control over both handles for each key - the incoming handle and the outgoing handle. You can think of the buttons representing the left side handle and the right side handle, where the setting is directed to each side, independent of the Slope and Weight. If the handle is unified, meaning adjusting one side moves the other in a straight line, then the outgoing settings are grayed out. The option gear in the middle allows you to "break" the handles or "unify" them, and to zero out the angle that makes them perfectly horizontal again. There are a number of settings under the pop-up menu when clicking any of the buttons.

Slope Controls

Slope Weight

Manual

Provides full control over Slope (handle angle).

Auto

Automatically adjusts Slope to produce a smooth ease-in and ease-out from the previous key value to the next.

Linear In

Angles the Incoming Slope to point toward the previous key, producing a straight line between keys.

Linear Out

Angles the Outgoing Slope to point toward the next key, producing a straight line between keys.

Flat

Sets the Slope to 0 degrees flat, regardless of the positions of the previous and next keys.

Auto Flat

Acts just like Auto except when the incoming or outgoing keys match the value, then it acts like Flat.

Stepped

Eliminates the Slope and Weight altogether, retaining the previous key value up until a new key is introduced.

Weight Controls

Manual

Provides full control over Weight (handle length).

Auto

Automatically adjusts Weight to produce a smooth ease-in and ease-out from the previous key value to the next.

The following buttons also allow you to quickly break or unify the handles Slope and Weight in a single stroke. The color of the key itself represents the state of the two handles: unified handles draw as a white square while broken handles draw as a magenta square.

Icon

Action

Breaks the key handles for adjusting Slope and Weight

Unifies the handles for adjusting Slope and Weight.

Managing Keys

The Gradient Editor also offers some useful functions for working with key values. Working with a clipboard buffer, you can move keys around and even move them from one channel to another. The Paste command simply adds the key values to the target, the Insert command adds them to the target and moves other keys as necessary, while Replace adds the keys, removing any existing keys it might overlap.

Icon

Action

Cuts the selected keys from the editor and stores them in a temporary buffer for later access.

Copies the selected keys from the editor and stores them in a temporary buffer for later access.

Pastes the keys stored in the buffer with additional sub-menu options (right-click) for Insert and Replace.

The following buttons open dialog boxes that allow for easy gang editing of multiple selected values.

Icons

Action

Opens the Set Frame dialog panel for adjusting the time position (not directly applicable to gradients).

Time - Determines the position in time to move the selected keys to.

Absolute - When enabled, Absolute time is used, where a specific time can be defined; when disabled, the time is relative to the current time position.

Linked - When enabled Linked keys (such as those of the R, G, and B channels) remain linked in the same relative position, even if only a single channel is edited; when disabled, keys can be moved freely.

Ripple - When enabled, all the following values of those selected are shifted by the same amount.

Opens the Set Key Value dialog panel for adjusting the value of the selected keys.

Value - Defines the new value that is applied to the selected keys when the mode is set as Set; defines what value is added when mode is set to Add.

Multiple by - Acts as a multiplier of the selected values when mode is set to Multiply.

Mode - Determines how the values affect the selected keys: Set, Add, and Multiply.

Opens the Scale Keys dialog panel for scaling the value of the selected keys.

Scale - Defines the amount of scaling applied to the selected keys.

Center Options - Determines the center location to scale the keys from- Start, Center, End, Time, and User. When Time or User is selected, the Center Value can be used to define the specific center.

Center Value - Determines the specific center locations when the Time or User options are selected as the Center Option.

Mode - Provides two modes to determine which direction gets scaled: Input scales the interval (horizontal) while Output scales the value (vertical).

Link - When enabled, linked keys (such as those of the R, G, and B channels) remain linked in the same relative position, even if only a single channel is edited; when disabled, keys can be moved freely.

Opens the Key Invert dialog panel for adjusting the value of the selected keys.

Mode - Provides two modes to determine which direction gets inverted: Input inverts along the interval (horizontal) while Output inverts along the value (vertical).

Local - When the Local option is enabled, the inversion happens individually for each channel; when disabled, the inversion happens as a group for all that is selected.

Behaviors

The Behavior buttons define the incoming and outgoing curves that are outside the area of defined keys. The left button defines the per-behavior and the right button the post-behavior.

Option

Description

Constant

Values remain the same. With the AutoSlope and Weight options, ease-in or out as it transitions to the key values.

Constant (Smooth)

Same as Constant, but the keyframe slope values are adjusted to smoothly transition to the Constant behavior.

Linear

Values project outward in a linear fashion from the first or last key, providing a constant offset.

Repeat

Values of keys are repeated. When incoming and outgoing values match, a loop can be created.

Oscillate

Values are repeated forwards, and then reversed, like a ping-pong type effect.

Oscillate (Smooth)

Same as Oscillate but slope V values are adjusted to smoothly transition to the next oscillation.

Offset Repeat

Values of keys are repeated, but each subsequent repeat is offset by the amount of the last key.

Offset Repeat (Smooth)

Same as Offset Repeat but slope values are adjusted to smoothly transition to the repeated sections.

Reset

Values are set to flat 0 (zero) outside the key area.

Interpolation

Interpolation controls the way in which all values are calculated between user-defined keyframes and can be a useful shortcut to modifying all the Slope and Weight values automatically for all keys. The options are the default Curve that allows you to smoothly control the easing-in and -out of the values, Linear, where a straight line is drawn to each key that produces a jarring, mechanical kind of transition to the keys, and finally Stepped, which stair-steps the values from one key to the next. This can be useful to see specific key positions or poses for a character without the distraction of the in-between frames.

When the Cycle option is enabled, the last keyframe is aligned to match the value of the first keyframe. The original value of the last key is shown as a colored square with a line connecting it to its new value. The last keyframe in the sequence defines the cycle length. The slope and weight values of the last keyframe are also adjusted to match, so the incoming and outgoing curves flow smoothly together. The first key's handle can be broken to allow the slope and weight values to be changed independently.

Shadow

The Shadow function works to save alternate versions of a key graph for all currently-selected channels, allowing for convenient and non-destructive editing of the curves. Selecting the Copy to Shadow option adds them into a faded background view where you can then continue to adjust the keys visually, and see the current changes relative to the previous shadow values. You can then adjust keys, and scrub or play the Timeline to see the results. Pressing the Shadow button opens the pop-up menu with the following option:

Copy to Shadow

Stores the currently-selected channels into the shadow. Shadow channels are saved with the scene and are persistent across Modo sessions for the assigned channels.

Replace with Shadow

Completely replaces the current channel values with the stored shadow values.

Swap

As the name implies, the current values are replaced with the shadow values, and the shadow values are replaced with the current graph values.

Clear Shadow

Deletes the shadow data from the selected channels.