On this page | |
Since | 18.5 |
Overview ¶
-
In USD a payload is essentially a reference you can choose not to load.
-
Often when working with a very complex scene, you want to leave payloads unloaded to improve performance.
-
It is helpful to display unloaded payloads as bounding boxes. To support this, Houdini needs to “loft” metadata (the prim type, kind, and the bounding box expressed in the
extentsHint
attribute) from the payload contents onto the prim that holds the payload specification, in case the data from within the payload is not loaded. -
This node lofts the primitive type, primitive kind, and extent information from the payload. Since extent information may be animated, this node provides the standard sampling controls to allow extent information over a range of frames to be generated in a single cook. It can also set a color that will be used to draw the bounding box for this primitive when the payload is unloaded. And finally it can store statistics about the payload such as the number of prims and the number of total mesh faces. This information may be useful in the pipeline to elp decide which payloads can be safely loaded.
-
Variant sets are not promoted from inside the payload onto the top level prim. This is a very useful practice that can be incorporated into an asset authoring workflow, but the Loft Payload Info LOP cannot help with authoring this kind of structure.
-
To copy this metadata from inside the payload onto the primitive with the payload specification, be sure to run this node with payloads loaded. It descends into the selected prims and finds any payloads. It then records metadata about the payloads on the ancestor prims so the information is still available when the payloads are not loaded.
Tips and notes ¶
-
You can load/unload payloads interactively in the Scene Graph Tree pane.
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.
Primitives
The primitive(s) the node should operate on. You can drag primitives from the scene graph tree pane into this textbox to add their paths, or click the Reselect button beside the text box to select the primitives in the viewer, or ⌃ Ctrl-click the Reselect button to choose prims from a pop-up tree window. You can also use primitive patterns for advanced matching, including matching all prims in a collection (using /path/to/prim.collection:‹name›
).
Note
This parameter needs to be exposed in order for the transform handles to be context-aware. Without it, the handles may not be positioned properly.
Set Primitive Statistics
Adds metadata to the prim containing information about the number of primitives appearing under the payload prim.
Set Geometry Count Statistics
If Set Primitive Statistics is enabled, this option can also be turned on to generated more detailed statistics such as the number of faces on mesh prims. Calculating this additional information will be slower than simply collecting primitive counts.
Number of Colors
Specify colors to be applied to the payload primitives which will control the appearance of the bounding box representation of the prim when the payload is unloaded.
Set Color
For this multiparm instance, control whether the specified color will be applied to the prim. Expressions for this parmeter can use the @numprim
(total number of prims being processed), @prim
(index of the current prim being processed) and @primpath
(scene graph path of the prim being processed) local variables to help provide variation across many primitives.
Color
The color applied to each primitive. This parameter can also use the @numprim
, @prim
, and @primpath
local variables to provide variation across prims.
See also |