On this page |
This generator CHOP generates channels for bone objects based on a bone chain and an end affector. It can solve for the bone angles using a variety of different solver types.
Parameters ¶
Kinematics ¶
Solver Type
Specifies the solver to use to generate the channels.
None
No solver. Use the original parameter values.
Show Rest Position
No solver. Uses the rest angles.
Show Capture Position
No solver. Uses capture angles.
Inverse Kinematics
Uses IK solver. The solution is uniquely defined by the end affector position. Constraint parameters are ignored.
IK With Constraints
Uses a modified IK solver. The solution depends on the previous solution. Constraint parameters are used to limit the range of motion.
Follow Curve
The bones are positioned to follow the specified curve as closely as possible.
Root Bone
This is the first bone in the chain for which this CHOP should create solution channels.
End Bone
This is the last bone in the chain for which this CHOP should create solution channels.
End Affector
For Inverse Kinematics and IK With Constraints solvers, this is the object to use as the end affector when solving for the bone angles.
Twist Affector
For the Inverse Kinematics solver, this specifies an object that controls the twist orientation of the solution bone angles.
IK Twist
For the Inverse Kinematics solver, this parameter specifies an additional twist angle to be applied to the solution bone angles.
IK Dampening
For the Inverse Kinematics solver, this parameter represents how easily the End Bone can be pulled off the End Affector as the bone chain is stretched out.
Curve Object
For the Follow Curve solver, this parameter specifies the object that contains the curve geometry that the bone chain should follow.
Curve Normals
For the Follow Curve solver, this parameter specifies how the curve normals should be transferred to the bone chain. Note that the normals are interpolated on the curve between the curve breakpoints. Because breakpoints (and not control points) lie on the curve it is more meaningful to use interpolate the breakpoint rather than the control vertex values. Though, breakpoint normals are calculated from the control vertices.
Best Guess
The bone chain normals approximate the curve normals as much as the curve parameters allow. (Path parameters, for example, carry extra information that allow twists of more than 360 degrees)
No Normals
The bone chain maintains its own normals defined by the rest position.
Quaternion
The bone chain normals interpolate the curve normals using quaternion rotation of the vectors. (i.e., the bone chain normals lie on the shortest arc defined by two curve normals on a unit sphere.
Clamped Angle
The bone chain normals are calculated using twist angles around the curve (between the curve points at which a normal is defined). The angle difference is restricted to the interval between -180 to 180 degrees.
Angle
The bone chain normals are calculated using twist angles. This option is similar to Clamped Angles, except the twist angles around the curve are not restricted. Note, that for this option, the curve must carry additional information (see Object Path Tool). Otherwise, this option is downgraded to Clamped Angle.
Blend
This option blends between the local bone rotation values
and the solved solution. When this value is 0
it produces
the local bone rotation values and when it is 1
, it produces
the solved bone rotation values.
Straighten Solutions
When this checkbox is turned on, the bone chain will completely straighten out in the direction of the goal if the IK goal is farther away than the length of the bone chain (with a tolerance of the tracking threshold). If this checkbox is turned off, no attempt is made to further straighten the IK solution. By default it is turned off because it is faster.
Tracking Threshold Factor
This value specifies the accuracy threshold for Inverse Kinematic solutions. Use smaller values for more accurate solutions at the expense of more computation time. Use larger values to save computation time at the expense of getting less accurate solutions.
Channel ¶
Single Frame
Only create one-sample channels, at the Start position.
Clean Rotations
When not in Single Frame mode, the CHOP can use the previous rotation values as a hint when generating the next frame’s rotation values.
Start
The start position of the CHOP.
End
The end position of the CHOP.
Sample Rate
The sample rate of the CHOP.
Extend Left
The left extend condition (before the CHOP’s start).
Extend Right
The right extend condition (after the CHOP’s end).
Default Value
The value to use for the “Default Value” extend condition type.
Common ¶
Some of these parameters may not be available on all CHOP nodes.
Scope
To determine the channels that are affected, some CHOPs have a scope string. Patterns can be used in 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.
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 the rate of the first input to resample the others.
Resample At Maximum Rate
Resample to the 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 of the time parameters.
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, the existing parameters are not converted to the new units.
Time Slice
Time slicing is a feature that boosts cooking performance and reduces memory usage. Traditionally, CHOPs calculate the channel over its entire frame range. If the channel needs 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 the 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 to it for display in the graph, but you can override the color with the 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.
Examples ¶
SimpleInverseKin Example for InverseKin channel node
This example demonstrates how to manually use the InverseKin CHOP. To create bone chains with inverse kinematics, it is easiest to use the Character > Bones shelf tool.
See also |