Home Reference Panes Channel editor 

Channel graph

The graph view lets you view and edit animated parameters as graphs of their values over time. It is one view of the channel editor. You can also use the table view and the dopesheet view to edit animation. To switch between these views, use the buttons in the top left corner of the pane.

A channel contains a series of segments. Each segment has two end points. Each endpoint is at a key and has the following properties: value, slope, and acceleration. The segment as a whole also has a segment function associated with it and, depending on what it is, will use any number of the properties at the end points. For example, the constant() segment function uses the “value” of the first end point only, while the bezier segment function uses all three (slope, acceleration, and value) at each end.

Navigation

To...Do this

Pan and zoom the view

  • Drag MMB to zoom and RMB to pan.

  • To pan and zoom so all graph data is visible, click the Home graph icon in the toolbar on the left side of the graph, or choose View > Home All Graphs.

  • To show all data, choose View > Home All Views.

  • To have Houdini automatically pan and zoom so all data stays visible as you work, turn on View > Horizontal Adapt and/or View > Vertical Adapt.

Change the current time

  • A tall white vertical line on the graph indicates the current time. Drag the line to change the time. Drag with MMB to hold the scoped channels.

  • Click or drag in the blue frame number area at the bottom of the graph to move the play position to that point.

  • You can also use the regular playbar controls .

Adding and deleting keys

To...Do this

Add a key

  • Click the graph with Alt + LMB to create a new keyframe at that frame. You can also hold the button down and drag the insertion point along the curve, allowing more accurate positioning. If a key already exists on a selected channel, this will not create a duplicate key.

Remove a key

  • Select the key handle and press Del.

Editing curves

To...Do this

Change the shape of a graph segment

  1. Select the segment you want to change.

    If segments are drawn as dashed lines, turn on the “functions” icon on the toolbar to the left of the graph to make segments selectable.

  2. Choose a function from the pop-up menu at the right end of the Function text box below the graph, or type a custom expression into the Function box directly.

    You can also change the shape of the graph segment by clicking the desired function button on the Functions toolbar.

  3. Use the handles (if any) on the selected keys in the graph view to adjust the shape of the curve. Press Y to switch to a scale handle.

    For the cubic, bezier, and quintic functions, you can adjust the shape of the curve by dragging the slope handles on keyframes, or by clicking the handle and typing a value in the S text box.

    For the bezier and quintic functions, you can also drag the round acceleration handles at the end of the slop handles, or by clicking the handle and typing a value in the A text box.

    You can also type exact numbers for the selected handle in the S (slope) and A (acceleration) text boxes below the graph.

Move a keyframe in time

  • Drag the short vertical line that runs through a value handle left or right to move the keyframe.

    Time values on the graph have a dashed line under them. When you turn on the Snap to Frame option, keys will move to the nearest frame time when you finish dragging.

Quickly edit curve slopes

  • Select a keyframe and press 0 to zero the slope, or 9 to make the slope tangent.

“Hold” a value

  • Select the keyframe and copy it (C button), move along the timeline and paste a copy of the keyframe in (P button).

Change a value at a keyframe

  • Drag a keyframe handle up or down.

  • Click a keyframe handle and enter an exact number in the V (value) field below the graph and press Enter.

Change multiple values at once

  • Use Shift + LMB to select multiple handles, or drag a marquee around the handles you want to select. The you can drag one selected handle to move them all.

  • If you select more than one value, the V (value) field shows ---. Edit the field to set all selected values at once.

Channels menu

When a channel is displayed, it means that it is visible for viewing/editing in the channel editor’s graph, table, and dopesheet panes. This status is also indicated by the colored background of the channel name in the channel list. Clicking on the colored background of the channel toggles its display status.

Sample Values at Current Time

Copies the values of the scoped parameters at the current time to the clipboard. Move to a different time and choose Paste sampled values at current time to use the same values at another frame.

Paste Sampled Values at Current Time

Pastes values copied with Sample values at current time.

Import into Displayed Parameters

Opens a dialog to load previously saved animation data from Export Displayed Channels into the parameters which are currently displayed.

Export Displayed Channels as

This brings up a dialog that allows you to save the data from the displayed channels.

Isolate Channels

Displays only the selected channels.

Include Channels

This is the opposite of Isolate Channels. Instead of displaying only the selected channels, this causes all scoped channels to be displayed.

Edit menu

Cut/Copy/Paste at Current Time

Cuts, Copies, or pastes all selected channels at the current time.

Delete

Deletes selected channels.

Snap Selected Keys to Nearest Frame

Each selected key, is rounded in time to the nearest integer frame.

Tie/Untie

Tie locks the left and right channels together (changing one changes the other). When channels are untied, you can alter the left and right channels independently.

Set Selection to Default Values

Sets the values of the selected keys to their default values. The actual values depend on the parameter of the channels.

Set Selection Slopes to Zero

Sets the selected slopes to have a value of 0 (ie. flat horizontally).

Smooth Selected Slopes

Sets the value of the selected slopes so that there is no overshoot. The slopes of keys on the channel for which it is a local minimum/maximum will be set to 0, while all other slopes will be given an approximate value that will result in a smooth transition between its adjacent keys.

View menu

Home Channels (Current Graph/All Graphs)

Pans and zooms the graph to show all keys in the current graph or all graphs.

Home Playback Range (All Graphs)

Zooms the graphs to the playback range. The playback range is the range between the Start Frame and End Frame.

Home Global Range (All Graphs)

Adjusts the zoom of all the channel graphs to show the .hip file’s global animation range.

Frame Selection

Adjusts the zoom of the channel graph to show only the selected keys.

Horizontal/Vertical Adapt

When these checkboxes are turned on, the graph automatically pans and zooms to keep all horizontal and/or vertical values visible.

Show Values

Show or hide handles at keyframes. You can drag the handles to change the parameter value at that keyframe. If the values at the key are tied together, the handle is a box, otherwise it is two independent triangles.

Show Time Marks

Show or hide short vertical lines indicating keyframes. You can drag the keyframe lines left or right to move the keyframe in time.

Show Slopes and Acceleration

Show or hide short lines indicating the slope and acceleration of segments as they enter and leave a keyframe. You can drag the slope lines and/or acceleration handles to change the shape of the segment (for segments controlled by functions that use slopes and/or acceleration).

Show Functions

Allow or disallow selection of segments so you can change the function that controls their shape.

Show Time Groups

Show or hide time groups. The time group is displayed as a vertical yellow line. Handles that belong to the time group have a dotted yellow line connected them. Dragging the time group line left or right moves the grouped keyframes in time.

Show Time Bar

Displays a vertical line on the graph which indicates the current frame.

Show Scale Handles

Displays handles that let you scale and move blocks of keys.

Show Handles

Choose whether all handles or selected handles are displayed on the graph, or turn all handles off.

Show Full Channel Names

Displays the full name of the channel in the graph. For example: box_object1/tx, box_object1/ty, box_object1/tz.

Show Channel Names

Displays the name of the channel in the graph. For example: tx, ty, tz.

Show Times for Selected Marks

Displays the frame number for selected marks.

Show Values for Selected Keys

Displays the graph value for selected keys.

Show Only Attached Time Groups

When this option is on, the graph only shows time groups which have visible keyframes attached.

Draw Past Channel Ends

Draws a horizontal dotted line after the end of the last keyframe.

Show Scope Button/Show Filter Field/Show Template Field

See channel editor toolbar.

Show Group List

Displays the group list in the channel lister on the left side of the channel editor. The group list shows all channel groups.

Show Channel Chooser

Displays the channel chooser in the channel lister on the left side of the channel editor.

Show Channel Lister

Displays the channel lister on the left side of the channel editor. You must have this checkbox enabled to see the group list, channel chooser, and scoped parameters.

Show Scoped Parameter List

Displays scoped parameter list in the channel lister on the left side of the channel editor. The parameter list shows the parameters on the selected objects.

Time Group menu

A time group is a collection of keys. A time group makes it easy to move keys through time together.

To...Do this

Group keys together in a time group

  1. Select the keys.

  2. In the pane menus choose Time Group > Create Time Group on Selected Keys.

Add keys to an existing time group

  1. Select the keys.

  2. Shift-select the time group line.

  3. Choose Time Group > Attach/Detach Selected Keys

Move the keys in a time group together

  • Drag the yellow time group line left or right.

Move the time group line without moving the keys

  • Drag the time group line with MMB.

Delete a time group

  1. Click the yellow time group line.

  2. Press Del.

Settings menu

Show Audio in Timeline

If enabled, a graphical representation will be shown in the bottom portion of the channel graph of the currently loaded audio source.

Synchronize Group Selection From Scoped

Adjusts the channel group selection to match the currently scoped channels.

Grid Line Density

Choose the density of the grid or turn the grid off.

Slope Handle Length

Allows you to set the length of the slope handle in the channel graph. The preset lengths are short, medium, and long; however, you can also set a custom length by choosing Custom.

Curve Quality

Choose the accuracy of the curves. Lower levels of detail can be faster for very complex graphs. Minimum detail does not draw curves, just lines connecting keyframes.

Add Keys

Customizes the behavior in the channel graph when Alt + LMB is used to create keys. If set to At Mouse Click Position, the new key on the channel will be created at the value where the mouse is in the graph. If set to At Curve Value, the key is created at the current value of the channel.

Auto-Smooth Slopes

Choose if and when you want your slopes to be automatically smoothed.

Snap Moved Keys to Nearest Frame

If enabled, moving keys in the channel graph will ensure that they are always moved to an integer frame value in time.

Snap Scaled Keys to Nearest Frame

If enabled, scaling keys in the channel graph (ie. using the scale handle) will ensure that they are always moved to an integer frame value in time.

Bold Non-Integer Keys

If enabled, keys at non-integer frame values in time will be drawn in bold and white.

Reset Channels Settings

Resets all channel settings to their factory default settings.

Edit fields

T (time)

The frame number of the selected key or time group. If more than one key or time group is selected, the field displays ---, and editing the field sets the value for all selected keys.

V (value)

The numeric representation of the selected key’s in or out value.

S (slope)

The slope of the selected key’s in or out line. This is only valid for functions such as cubic that use slope values.

A (acceleration)

The acceleration of the selected key’s in or out line. This is only valid for functions such as bezier that use acceleration values.

Function field

A segment’s function controls how Houdini interpolates between keyframes.

Choose a function from the pop-up menu at the right end of the text box, or type an expression function directly in the text box.

Function Effect

constant

Uses the in value for the entire segment, and jumps to the out value at the end.

linear

Generates a straight line between the in and out values, animating the value with uniform speed along the segment.

ease

Generates motion that gently accelerates the value at the beginning of the segment and decelerates it at the end. The value starts the animation at rest and ends at rest.

easein

Generates motion that gently accelerates the value from rest at the beginning of the segment and continues accelerating until the end.

easeout

Generates motion that gently decelerates the value to rest at the end of the segment.

easep(2) easeinp(2) easeoutp(2)

These are fundamentally the same as the ease functions, but are raised to the power 2, resulting in steeper slopes.

You can manually change the power in the Function text box (for example, to 3, 4, 5, etc.) to further steepen the curve.

match

Makes the slope of the out curve equal to the slope of the in curve.

In the example above, the segment to the right of the key used a Cubic interpolation function. After selecting it and altering its interpolation type to Match, its slope adjusted to match the slope of the curve segment to the left of the key.

matchin, matchout, vmatch

See the expression reference pages for these functions.

cubic

Gives you control over the in and out slopes.

bezier

Gives you control over the in and out slope and acceleration.

quintic

Like the bezier function, but uses a higher-order curve.

spline

qlinear

Generates a spherical linear interpolation in quaternion space between the in and out values. This is the default for rotation channels.

This function is intended for rotation channels. Make sure all three rotation channels use qlinear() and all have keys in the same frames.

Segments with quaternion interpolation will display as straight lines in the graph editor, because their intermediate values expressed as euler angles are mostly meaningless. If you're curious you can use the expression qlinear() + 0 to fool the graph editor into showing the actual values.

To perform a quaternion based interpolation between two key frames, the qlinear() function needs to know the three euler angles. It does this by figuring out what the neighboring channels are. This is accomplishes this through the heuristic of looking for channels ending with x, y, or z, or by looking for channels ending with a number. Thus, “rx ry rz” will be one group, and “test0 test1 test2” would be another.

cycle

repeat