TransformChain channel node

Combines a chain of translate, rotate, and/or scale channels.

All Parameters Example files

See also: ObjectChain, Transform

This CHOP takes translate, rotate, and/or scale channels from its input and combines them into a single transform. It can be used to compute the world transform using the output of a ObjectChain CHOP.

The format of the input channel names are expected to follow the object_name:parameter_name format where object_name is specified by the Chain Name parameter and parameter_name is a name matching: [xr]Ord t[xyz] r[xyz] s[xyz] scale p[xyz] length. If the length channel is given, then the transform will be treated like a bone. Namely, its child bone transform will have a parent transform of (0, 0, -length).

Note

The channel values of xOrd and rOrd are integers corresponding to regular transform/rotation order menus. If a particular channel is missing from its input, the default object parameter values will be used instead.

The name of the output channels will use the last name specified in the Chain Names parameter.

Parameters

TransformChain

In Transform Order

Specifies the transform order when the xOrd channel is absent.

In Rotation Order

Specifies the rotation order when the rOrd channel is absent.

Chain Names

Specifies the object_name to be used for channels in the Rest input. The order of the names will be interpreted as the hierarchy of the object chain. If the value is *, then the chain names will be taken from the second input, in the order in which they are found.

If an additional name that does not exist from the input is given, then the length of the previous bone object will be used to move its position to the end of the bone.

The name of the output channels will use the last name specified in this parameter.

Pre-transform Name

Specifies the token used for pre-transforms of the Chain Names. The full channel name used will be the chain name, pre-transform name, and parameter name all concatenated together in this order.

Out Transform Order

Specifies the transform order of the output channels.

Out Rotation Order

Specifies the rotation order of the output channels.

Out Pivot

Specifies pivot value used for output channels.

Output Channels

Specifies which channels to output. This is useful to avoid creating extra channels whose values will be assumed to be the default elsewhere

Use Rotation Hint

If enabled, the Hint parameter will be used.

Hint

If Use Rotation Hint is enabled, this parameter will be used as the approximate starting value for the rotation channels. If Use Rotation Hint is disabled, then it is equivalent to using a value of (0, 0, 0).

Common

Some of these parameters may not be avaiable on all CHOP nodes.

Scope

To determine which channels get affected, some CHOPs have a scope string. Patterns can be used in the scope, for example * (match all), and ? (match single character).

The following are examples of possible channel name matching options:

chan2

Matches a single channel name.

chan3 tx ty tz

Matches four channel names, separated by spaces.

chan*

Matches each channel that starts with chan.

*foot*

Matches each channel that has foot in it.

t?

The ? matches a single character. t? matches two-character channels starting with t.

r[xyz]

Matches channels rx, ry and rz.

blend[3-7:2]

Matches number ranges giving blend3, blend5, and blend7.

blend[2-3,5,13]

Matches channels blend2, blend3, blend5, blend13.

t[xyz]

[xyz]matches three characters, giving channels tx, ty and tz.

Sample Rate Match

The Sample Rate Match Options handle cases where multiple input CHOPs’ sample rates are different.

Resample At First Input’s Rate

Use rate of first input to resample others.

Resample At Maximum Rate

Resample to highest sample rate.

Resample At Minimum Rate

Resample to the lowest sample rate.

Error if Rates Differ

Does not accept conflicting sample rates.

Units

The units for which time parameters are specified.

For example, you can specify the amount of time a lag should last for in seconds (default), frames (at the Houdini FPS), or samples (in the CHOP’s sample rate).

Note

When you change the Units parameter, it does not convert the existing parameters to the new units.

Time Slice

Time Slicing is a feature which boosts cooking performance and reduces memory usage. Traditionally, CHOPs calculate the channel over its entire frame range. If the channel does need to be evaluated every frame, then cooking the entire range of the channel is unnecessary. It is more efficient to calculate only the fraction of the channel that is needed. This fraction is known as a Time Slice.

Unload

Causes the memory consumed by a CHOP to be released after it is cooked and the data passed to the next CHOP.

Export Prefix

The Export prefix is prepended to CHOP channel names to determine where to export to.

For example, if the CHOP channel was named geo1:tx, and the prefix was /obj, the channel would be exported to /obj/geo1/tx.

Note

You can leave the Export Prefix blank, but then your CHOP track names need to be absolute paths, such as obj:geo1:tx.

Graph Color

Every CHOP has this option. Each CHOP gets a default color assigned for display in the Graph port, but you can override the color in the Common page under Graph Color. There are 36 RGB color combinations in the Palette.

Graph Color Step

When the graph displays the animation curves and a CHOP has two or more channels, this defines the difference in color from one channel to the next, giving a rainbow spectrum of colors.

Example files

SimpleTransformChain

$HFS/houdini/help/examples/nodes/chop/transformchain/SimpleTransformChain.otl

Load | Launch

This example demonstrates an example usage of the TransformChain CHOP.

Usages in other examples

Example name Example for