Since | 19.0 |
This node is a wrapper around the SOP Import LOP, which provides convenient and efficient import of SOP-level skeleton animation and skinned geometry.
Note
If the Rest Geometry is not specified, only the skeleton and animation are imported.
Parameters ¶
Animated Pose
Path to the SOP node containing the animated skeleton geometry.
Rest Geometry
Optional path to the SOP node containing the rest skin geometry. If not specified, only the skeleton and animation are imported.
Capture Pose
Optional path to the SOP node containing the capture pose to use for the Rest Geometry.
Cache Behavior
Specifies when and how frames are combined into the cache.
Always Cache All Frames
As soon as the node is cooked the first time, or whenever the input to the Cache LOP is modified, the node cooks the entire frame range and combines the results into a single stage.
This can be very expensive in both time and memory. However, if you are caching the entire frame range, this method provides the lowest average per-frame caching time.
Cache Cooked Frames
Frames of data are cooked and combined into the cache when that particular frame is requested.
This is more expensive per-frame than cooking multiple frames at once, but it provides the best time to first result.
Cache Up To Cooked Frames
This is a hybrid of the Always Cache All Frames and Cache Cooked Frames options. When a particular frame’s data is requested, this LOP cooks and caches all frames from the start of the range up to the requested frame.
This option is useful when the cooked data is coming from a simulation where it might be very expensive to go back and cook earlier frames.
Cache Current Frame Only
In this mode, only the current frame is in the cache. This reduces memory usage considerably when scrubbing through the timeline. However, it must recook the time samples every time a frame of data is requested from this node.
This mode is typically only used when Subframe Sampling is turned on for motion blur.
In this mode, the Cache node is always time dependent, even after playing back an entire simulation.
Clip Range
Specifies how the cached frame range is determined.
Use clipinfo Detail Attribute
Determines the frame range using the clipinfo
detail attribute from the Animated Pose.
If the attribute does not exist, the scene frame range is used.
Custom Frame Range
Only cache the specified frame range.
Start/End/Inc
The first frame, last frame, and increment size (in frames) between each cook request made of the input to populate the cache. The first two values control the range of frames over which the Cache should apply. The third value allows the stage to be super-sampled for improved motion blur, or sub-sampled to preserve memory (at the cost of accuracy, as USD simply uses linear interpolation between time sampled values).
This parameter is available when Clip Range is set to Custom Frame Range.
Shift Range to Source
When turned on, shifts the animation so that it begins at the clipinfo
attribute’s source start time. This parameter is available when Clip Range is set to Use clipinfo Detail Attribute.
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.
Primitive Path
When turned on, imports the character’s prims under a SkelRoot
prim at the specified path in the scene graph.
When turned off, the prims are imported at the default location (underneath a primitive named character
), or at the path specified by the optional usdskelrootpath
attribute on the Rest Geometry.
Skeleton Primitive Path
When turned on, imports the Skeleton
prim at the specified path. The path can be relative to Primitive Path.
When turned off, the skeleton is imported at the default location (a child primitive named skeleton
), or at the path specified by the optional usdskelpath
attribute on the Animated Pose geometry.
Animation Primitive Path
When turned on, imports the SkelAnimation
prim at the specified path. The path can be relative to Primitive Path.
When turned off, the animation is imported at the default location (a child primitive named animation
), or at the path specified by the optional usdanimpath
attribute on the Animated Pose geometry.
Animation Save Path
When turned on, sets the Save Path metadata for the layer containing the geometry to this file path. When you write out USD using a USD render node, the geometry is saved out to a .usd
layer file using this file path (after output processing).
Geometry Save Path
When turned on, sets the Save Path metadata for the layer containing the geometry to this file path. When you write out USD using a USD render node, the geometry is saved out to a .usd
layer file using this file path (after output processing).
These parameters control how the rest geometry shapes are imported into USD.
Import Rest Geometry Data
When turned on, imports the rest geometry and skeleton.
When turned off, only creates an override for the SkelAnimation
prim.
Bind Materials
Binds materials to the imported USD primitives based on the usdmaterialpath
SOP attribute.
The usdmaterialpath
value can specify either the path to a material primitive, or the path to another primitive to copy the material binding from.
If the Partition Attributes include a materialBind
SOP attribute, material bindings can also be created for the resulting geometry subsets.
Treat Polygons as Subdivision Surfaces
For polygon meshes that are not already tagged with a subdivision scheme, author a subdivisionScheme
attribute set to catmullClark
. This will convert them to subdivision surfaces.
Attributes
A space-separated list of attribute names/patterns specifying the SOP attributes to import into USD as primvars.
In addition to matching attribute names directly, there are some values with special meanings:
bounds
Authors the USD extent
attribute using the calculated bounding box of the associated SOP geometry.
visibility
Authors the USD visibility attribute based on the value of the usdvisibility
geometry attribute.
See importing attributes for information on how the importer converts certain well-known Houdini attributes to their USD equivalents.
Indexed Attributes
A space-separated list of attribute names/patterns specifying the SOP attributes to import into USD as indexed primvars.
If a SOP attribute matches this pattern, the importer authors the primvar as an indexed array of values (that is, an array of values called primvars:‹name›
, and an array of indices into those values called primvars:‹name›:indices
).
Preparing an indexed primvar can be expensive for attributes that are not integers or strings. You should only use indexed primvars where it is likely to result in significant savings in storage size due to a small number of unique values being used across a large number of components.
Import as Single Element Array
A space-separated list of attribute names/patterns specifying the SOP attributes to import into USD as primvars with Constant
interpolation (an array with a single value for the whole primitive), regardless of whether the SOP geometry attribute is a point, primitive, or vertex attribute. If multiple values could be chosen for a particular USD primitive, the importer chooses the first value it encounters.
Importing as a single element array (versus Import as Single Value) can be useful since it allows the primvar’s interpolation to be overridden without changing the primvar’s type.
Import as Single Value
A space-separated list of attribute names/patterns specifying the SOP attributes to import into USD as primvars with Constant
interpolation and a single value for the whole primitive, regardless of whether the SOP geometry attribute is a point, primitive, or vertex attribute. If multiple values could be chosen for a particular USD primitive, the importer chooses the first value it encounters.
This is the default behavior for how detail attributes are imported.
This is similar to Import as Single Element Array, but the primvar’s type is a scalar value instead of an array with a single element (for example, vector3f
instead of vector3f[]
).
Partition Attributes
A space-separated list of attribute names/patterns specifying which SOP primitive string attributes represent subsets of the geometry. For mesh and curve primitives, the importer puts elements with the same value for this attribute into their own geometry subsets.
The importer will try to set the subset name to the attribute value, but may need to change the name to make it a legal USD primitive name. The importer stores the raw attribute value on the geometry subset prim as Custom Data with the key partitionValue
.
Prefix Subsets with Attribute Name
When creating subsets from Partition Attributes, the subsets are named by combining the attribute name with the partition attribute’s value (a string or integer). This avoids name collisions when multiple partition attributes contain the same values, but can be undesirable if precise control of the subset names is required. For string attributes, if this option is turned off, the attribute values are directly used as the subset names.
Subset Groups
A space-separated list of group names/patterns specifying SOP primitive groups. SOP polygon and curve primitives in each group are imported as a geometry subset, named for the group.
USD Custom Attributes
A space-separated list of attribute names/patterns specifying the SOP attributes to import into USD as attributes (rather than primvars).
Translate UV Attribute to ST
When turned on, converts the SOP vertex attribute uv
into a USD primvar called primvars:st
. Whether you need to turn this on depends on the renderer you are using and how your shaders are authored. If you are rendering with Karma, leave this off.
(As of this writing there is no strict standard for texture coordinate naming in USD, but the use of st
is a common convention, whereas in SOP geometry, using uv
is the common convention.)
These parameters control how the animated skeleton’s attributes are imported into USD.
Attributes
A space-separated list of attribute names/patterns specifying the SOP attributes to import into USD as primvars.
In addition to matching attribute names directly, there are some values with special meanings:
bounds
Authors the USD extent
attribute using the calculated bounding box of the associated SOP geometry.
visibility
Authors the USD visibility attribute based on the value of the usdvisibility
geometry attribute.
See importing attributes for information on how the importer converts certain well-known Houdini attributes to their USD equivalents.
Import as Single Element Array
A space-separated list of attribute names/patterns specifying the SOP attributes to import into USD as primvars with Constant
interpolation (an array with a single value for the whole primitive), regardless of whether the SOP geometry attribute is a point, primitive, or vertex attribute. If multiple values could be chosen for a particular USD primitive, the importer chooses the first value it encounters.
Importing as a single element array (versus Import as Single Value) can be useful since it allows the primvar’s interpolation to be overridden without changing the primvar’s type.
Import as Single Value
A space-separated list of attribute names/patterns specifying the SOP attributes to import into USD as primvars with Constant
interpolation and a single value for the whole primitive, regardless of whether the SOP geometry attribute is a point, primitive, or vertex attribute. If multiple values could be chosen for a particular USD primitive, the importer chooses the first value it encounters.
This is the default behavior for how detail attributes are imported.
This is similar to Import as Single Element Array, but the primvar’s type is a scalar value instead of an array with a single element (for example, vector3f
instead of vector3f[]
).
Set Default Values
A space-separated list of attribute names/patterns specifying the SOP attributes to always author as default values for USD primvars (never time samples).
USD Custom Attributes
A space-separated list of attribute names/patterns specifying the SOP attributes to import into USD as attributes (rather than primvars).
See also |