This CHOP provides more complicated math functions than found in the Math CHOP such as trigonometic functions, logarithmic functions and exponential functions. Since many of these functions can produce math errors, an error handling tab is provided for error handling and recovery.
Most of the functions require only one parameter, and they are applied as a unary operator to each input channel. Some functions take two parameters, and these require the use of the second input. The first parameter, X, is always a value from a channel in the first input. The second parameter, Y, is a value from a corresponding channel in the second input. Channels from each input are paired by name or index.
Errors can be handled by replacing the bad sample with a pre-defined value or by using the value of the previous sample. Alternatively, cooking can be aborted upon error for debugging networks.
Parameters ¶
Function ¶
Function
Which math function to apply to the channels. All of the
functions are unary functions except for the binary
functions Arctan (Input1/Input2)
and Input1 ^ Input2
.
Base Value
The value of the base for Log base N
and Base ^ Input1
.
Exponent Value
The value of the exponent for Input1 ^ Exponent
.
Angle Units
For trigonometric functions, the angles can be measured in Degrees, Radians, or Cycles (0
to 1
).
Match By
How to pair channels together from the two inputs for the binary functions, by name or by channel index.
Match Failure
It is sometimes desirable to produce a warning or an error when channels in the first input fail to be correctly matched to channels in the other inputs. A failure may occur when matching by Channel Number if input 1 has more channels than the input 2 or when matching by Channel Name if a channel name in input 1 cannot be found in input 2.
Error ¶
Error Handling
How to correct samples with math errors.
Abort With Error Message
Cooking aborts.
Replace With Specified Values
Values specified below.
Use The Previous Value
Uses the last good result.
Plus Infinity Value
Value to use when an infinity error occurs. Caused by sinh()
, cosh()
and tan()
.
Minus Infinity Value
Value to use when a negative infinity error occurs. Caused by sinh()
and tan()
.
Domain Error Value
Value to use when the input is out of the legal range of the function. Caused by asin()
, acos()
, log10()
, logN()
, ln()
and sqrt()
.
Divide Error Value
Value to use when a divide by zero error occurs. Caused by pow(x,y)
.
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.
See also |