modo bubbble logo

Graph Editor


Home >> The modo Interface >> Utility Viewports >> Graph Editor

back next
comment balloon Comments (0) RSS Icon
0/5 (0 votes)

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 where the animator must move the model a tiny amount and then take a picture for every frame, in 3D animation, one can easily skip multiples of 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 controls how the system interpolates those in-between Key values.

Not only for transforms, such as position, scale and rotate, nearly any property of any item can be animated in this way, by keyframing the values of an items channel. Channels are simply the animateable properties of any item, gathered together in list form. Generally, users interact with channels within the Channel 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 with a LMB click over the channel name. Multiple channels can be edited at the same time as well. Non-sequential channels can be selected using a Ctrl-LMB click 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 will appear as a flat dotted line. Once a keyframe is created, it will appear 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 is selected. The line that connect the individual keyframes represents the values 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; but there will be times when one will want a very different interpolation styles or simply apply finer control to it. 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. LMB clicking and dragging will change 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 LMB-dragged in time forwards or backwards modifying the position of the keyframes for selected channels.

Graph Editor

Channels
When the Graph Editor is opened, any selected Items will appear with their associated channels in the 'Channels' section of the viewport. From within this section users can select the appropriate channels(s) they wish to adjust. Only the selected channels will appear in the graph area. LMB+click will select the Channel the cursor is currently over and 'Ctrl' and 'Shift' modifier keys will add or subtracts additional Channels from selection group to allow for simultaneous editing of multiple channels.

Channel Visibility
Along the right side of the viewport are some toggle buttons that filter the visibility of the channels.

  When enabled will only show channels in the channel view that have existing keys.
  When enabled will only show channels in the channel view that are part of the selected 'Group'.
  When enabled will show transform channels for items.
  When enabled will show standard item channels.
  When pressed, will load the currently selected items into the Channels view, replacing the current contents.
  When enabled will lock the current items in the Graph Editor so they remain regardless of item selection, until disabled.

Key Creation
Keys can be added to the currently selected curve(s) by MMB clicking either on the curve itself or anywhere on the background. Alternately users can use the 'Ctrl+Alt+LMB click' to create key. Key values will be created at the location of the cursor. The 'Frame' and 'Value' numeric fields in the upper left corner will allow 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-

  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.

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

LMB+click drag 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 will become selected, any outside the box will be deselected. Holding down the 'Shift' key adds the keys within the box to the selection while the 'Ctrl' key removes them.

Editing
LMB+click drag on a key selects the key if it's not already selected and allows quick editing of both Input & 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 will be modified.
MMB & Drag on a key works in a similar way except that editing is constrained to the Output value. Similarly RMB & Drag constrains the edits just to the Input Parameter value.

MMB+click drag vertically on the background adjusts the Output value of all selected keys.
RMB+click drag horizontally on the background adjusts the Input value of all selected keys.

'Ctrl'+MMB+click drag on the background provides constrained editing of Input & Output values for selected keys based on the initial direction of movement.

LMB+double click on a key selects all the keys on the curve.

  When 'Link Keys' is enabled, associated keys (such as the the three 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, to delete the currently selected keys and keys at the same Input value on associated curves select 'Delete Key' from the RMB context menu.

Context Menu
The Gradient Editor context menu is accessed by RMB click & release. If the cursor is over an un-selected key when the menu is opened the key will be added to the selection. Operations performed from the context menu will affect all the currently selected keys.

Navigation
Panning & Zooming behavior in the Gradient Editor is similar to the 3D viewports with a few additions:

Alt+MMB Drag adjusts the start value of the Input (horizontal) range displayed in the editor, while Alt+RMB Drag adjusts the end value of the Input Range.

Alt+Shift+MMB zooms the Output Range displayed in the editor, while Alt-Shift-RMB zooms the Input Range. In both cases the zoom is centered on the initial cursor location.

Alt+Ctrl+RMB provides box zooming.

Mouse Wheel - Zooms in and out around the cursor location.

 

Modifying Curves

Gradient Handle EditThe Graph Editor also offers a lot of ways to control interpolate 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. Users 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 users to make these adjustments. LMB+click and drag 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--

  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 submenu options (RMB+click) for 'Linear In' and 'Linear Out'.
  Sets the selected keys to 'Stepped' Slope with 'Auto' Weights.

Slope 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, where the setting is directed to each side, independent for the 'Slope' and 'Weight'. If the handle is unified, meaning adjusting one side moves the other in a straight line, then the outgoing settings will be grayed out. The option gear in the middle allows users to 'Break' the handles or 'Unify' them, and to zero out the angle which makes them perfectly horizontal again. There are a number of settings under the popup menu when clicking any of the buttons-

Slope
Manual- Give user 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
Manual- Give user 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 users to quickly break or unify the handles Slope and Weigh in a single stroke. The color of the key itself represents the state of the two handles- Unified handles draw as a white square, broken handles draw as a magenta square.

  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 users 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. Inserted keys will always

  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 submenu options (RMB+click) for 'Insert' and 'Replace'.

 

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

  Opens the 'Set Frame' dialogue panel for adjusting the time position.

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 will be relative to the current time position.

Linked: When enabled linked keys (such as those of the R,G,B channels) will 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 following values of those selected will be shifted by the same amount.

 

  Opens the 'Set Key Value' dialogue panel for adjusting the value of the selected keys-

Value: Defines the new value that will be applied to the selected keys when 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 will affect the selected keys- 'Set', 'Add' and 'Multiply'.

 

  Opens the 'Scale Keys' dialogue 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, which are self-explanatory- '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: Two modes to determines 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,B channels) will 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' dialogue panel for adjusting the value of the selected keys-

Mode: Two modes to determines 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 will happen individually for each channel, when disabled, the inversion will happen 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.
Constant- Values remain the same. With the 'Auto' Slope and Weight option will ease-in or out as it transitions to the key values.
Stop- Values remain the same. For 'Auto' Slope and Weight transitions to the key values act as if Linear, a sudden transition.
Linear- Value projects outward linearly 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 in forward sand then reversed, like a ping-pong type effect.
Offset Repeat- Values of keys are repeated, but each subsequent repeat is offset by the amount of the last key.
Reset- Values are set to flat 0 (zero) outside the key area.

 

Interpolation

Interpolation controls the way in which all values are calculated between keys and can be a useful shortcut to modifying all the 'Slope' and 'Weight' values for each key when wanting a desired effect. The options are the default 'Curve' that allows users to smoothly control the easing in and out of the values, 'Linear' where a straight line is drawn to each key, which produces a jarring, mechanical kind of transition to the keys, and finally 'Stepped' which will stair step 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.

 

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 users can then continue to adjust the keys visually, and see the current changes relative to the previous shadow values. Users can then adjust keys, and scrub or play the timeline to see the results. Pressing the 'Shadow' button opens the popup menu with the following command-

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.

 

 

Top

back next