On this page | |
Since | 18.5 |
Overview ¶
This blends transforms on the source primitives in the first input with transforms from target primitives in the second input, using a list of weights specified in the parameters.
This node works similarly to the Constraint Blend CHOP, but each successive blend re-uses the same target primitive’s transform, allowing you to blend the individual components of the transforms by varying amounts.
Solaris constraints ¶
Currently, USD does not support constraints. Parametric constraints are probably antithetical to USD’s design mission of being descriptive, immutable, and idempotent.
As a layer above USD, that generates USD, the LOP network can compute dynamic constraints, and “bake” the results as time samples when it writes the USD to disk.
Tips and notes ¶
-
You can’t use a nested point instance as a source, only as a target.
-
When you specify multiple source primitives, the node blends each source transform with the corresponding target primitive at the same index in the list of targets.
If you specify fewer target primitives than source primitives, the node blends the source primitives without a corresponding target primitive into the last target primitive.
For example, if you specify three source primitives,
/cube1 /cube2 /cube3
, and one target primitive/sphere1
, the node will blend all three cube transforms into the sphere’s transform.If you specify three source primitives,
/cube1 /cube2 /cube3
and two target primitives,/sphere1 /sphere2
, the node will blendcube1
withsphere1
, and bothcube2
andcube3
withsphere2
.
Parameters ¶
Sampling Behavior
Cooking this node can generate many USD time samples, rather than just a single time sample at the current time. This can be equivalent to having a Cache LOP following this node, but it will evaluate much faster, and does not cache data from any other nodes. This allows animated data to be authored to USD without introducing a node time dependency which would then cause all following nodes to also be time dependent. This can vastly improve playback performance of some LOP Networks.
In all sampling modes, if a parameter on this node does not vary with time, and does not rely on other time sampled data from the stage, only a single default value will be generated in USD for the corresponding attribute. USD time samples are only generated for parameters that may vary over time.
Sample Current Frame
A single time sample will be generated for the current time.
Sample Frame Range If Input Is Not Time Dependent
If the input to this node is time dependent, this node behaves as if it is in Sample Current Frame mode. Otherwise it behaves as if it is in Sample Frame Range mode.
Sample Frame Range
The Start/End/Inc parameter is used to generate multiple times at which this node’s parameters are evaluated, and a USD time sample is created for each attribute at each one of these times.
Start/End/Inc
When the Sampling behavior is Sample Frame Range, this parameter controls the number and spacing of base time samples to be generated by this node. The default values of this parameter are @fstart
, @fend
, and @finc
. These values correspond to the start, end, and step size of the global Houdini animation settings when interacting with Houdini. When using a ROP node to generate a range of frames, these values correspond to the start, end, and increment values specified on the ROP node being executed. This default ensures that a USD file written to disk will contain time samples for exactly the frame range requested by the ROP (regardless of the Houdini animation settings).
Subframe Sampling
For each primary sample generated by this node, these parameters can cause additional samples to be generated around that primary sample time. This is most often used to ensure that accurate data exists at exactly the camera shutter open and close times, as well as at the primary sample time.
Shutter
Controls the method used to specify the shutter open and close times relative to the primary sample times.
Specify Manually
The Shutter Open/Close parameter values provide exact offset values relative to the primary sample time.
Use Camera Prim
The Camera Prim parameter provides the scene graph path of a camera primitive from which the shutter open and close times are extracted to provide the offset values relative to the primary time sample.
Shutter Open/Close
When Shutter is set to Specify Manually, these two offset values are added to the primary sample time to indicate the shutter open and close times. The open time should be less than or equal to zero, and the close time should be greater than or equal to zero.
Camera Prim
When Shutter is set to Use Camera Prim, this is the scene graph path of a camera prim on the input node’s stage. The shutter open and close attribute values are read from this primitive.
Samples
The number of subframe samples to create for each primary sample. These samples are evenly distributed between the shutter open and close times. Note that such an even distribution may or may not create a sample at exactly the primary sample time.
Always Include Frame Sample
When turned on, forces a sample to be created at exactly the primary sample time. If the Samples value, together with the shutter open and close times, already place a sample at the primary sample time, turning on this option has no effect. Otherwise, this option causes an addition sample to be added. This means that the actual number of samples per primary sample may in fact be one more than the number specified in the Samples parameter.
Type
Whether the source prims are regular Primitives, or a Point Instancer. This node does not support nested point instances as sources.
Source
When Source Type is Primitive, the scene graph path to the prim to use.
Source Instances
When Source Type is Point Instancer, the point instance to use, using /‹path›[‹instance_index›]
syntax (for example, /geometry/instancer[1]
).
Type
Whether the blend targets are the same as the source, regular primitives, or point instances.
You can use a nested point instance as a target.
Target
When Target Type is Primitive, the scene graph path to the prim to use.
Target Instance
When Target Type is Point Instancer, the point instance to use, using /‹path›[‹instance_index›]
syntax (for example, /geometry/instancer[1]
).
Import Time
Specify the frame at which the source and/or target geometry are imported into the embedded SOP network to build the constraints.
The default $FF
expression forces the constraint LOP to be time dependent, which is needed when operating on a non time-dependent
network that has time samples driving the source or target primitives.
However, for better performance with a non time-dependent network with no time samples, it is recommended to use a static value instead.
Method
How to blend the transforms.
Proportional
Each blend source contributes to the result according to its blend weight. If the blend weights do not add up to one, they are normalized so they do.
Difference
The first prim is the “base”. The blend weight associated with the first prim is ignored. For the other blend weights, if a blend weight is 0
, the result is the base.
There are blend channels for all the other inputs, and when they are all zero, the output is the base. If any one input’s blend weight is 1
and the others are zero, that input is the output.
The advantage of the Difference method is each blend input affects the result without reducing the effect of the others. You can exaggerate beyond each of the inputs by setting their blend weight higher than 1. You can also use negative values. When all blend weights are 0, you get smooth transitions as any of the blended channels ease out of zero.
Rotation Blending
Rotation channels typically don’t blend well when treated as Euler angles, and straight linear blending can result in flips and odd rotations. Instead, shortest path blending can be used to properly blend orientations represented by Euler rotation angles.
Euler
Rotation channels are blended like any other channel.
Shortest Path (Linear)
Two inputs are blended using shortest path rotation blending. If more than two blend inputs are connected, use Shortest Path (Fast Linear).
Shortest Path (Fast Linear)
Multiple inputs are blended together using shortest path rotation blending.
Blends
Set this to the number of blend weight you want to set for the prims selected above.
Blend
How much weight to give this transform when blending. The interpretation of this value is different when Method is Difference.
Mask
For each blend, select which components (TX,TY,TZ,RX,RY,RZ,SX,SY,SZ
) to blend.
See also |