Since | 19.0 |
This node is a wrapper around SOP Import that provides convenient and efficient import of SOP-level skeleton animation and skinned geometry.
Tip
If the Rest Geometry is not specified, only the skeleton and animation will be 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 will be 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 will be 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 choices. 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 ever 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 enabling Subframe Sampling
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, and 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).
Shift Range to Source
Shifts the animation so that it begins at the clipinfo
attribute’s source start time.
Set Primitive Path
If enabled, imports the character’s prims under a SkelRoot
prim at the Primitive Path.
Otherwise the prims will be imported at the default location (underneath a primitive named character
), or at the path specified by the optional usdskelrootpath
attribute on the Rest Geometry.
Primitive Path
Specifies where in the scene graph to import the character’s prims.
Set Skeleton Primitive Path
If enabled, imports the Skeleton
prim at the Skeleton Primitive Path.
Otherwise the skeleton will be 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.
Skeleton Primitive Path
Specifies a custom path for where to import the Skeleton
prim.
This can be relative to the Primitive Path.
Set Animation Primitive Path
If enabled, imports the SkelAnimation
prim at the Animation Primitive Path.
Otherwise the animation will be 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 Primitive Path
Specifies a custom path for where to import the SkelAnimation
prim.
This can be relative to the Primitive Path.
Animation Save Path
When this is turned on, set 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 will be saved out to a
.usd
layer file using this file path (after output processing).
Geometry Save Path
When this is turned on, set 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 will be 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.
Bind Materials
If enabled, 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.
Attributes
A space-separated list of attribute names/patterns specifying which 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 deals converts certain well-known Houdini attributes to their USD equivalents.
Indexed Attributes
A space-separated list of attribute names/patterns specifying which 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 call 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 which 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 which 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 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 disabled the attribute values will be 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 will be imported as a geometry subset, named for the group.
USD Custom Attributes
A space-separated list of attribute names/patterns specifying which SOP attributes to import into USD as attributes (rather than primvars).
Translate UV Attribute to ST
Convert the SOP vertex attribute uv
into a USD primvar called primvars:st
. Whether you need to turn this on depends on which 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 which 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 deals converts certain well-known Houdini attributes to their USD equivalents.
Import as Single Element Array
A space-separated list of attribute names/patterns specifying which 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 which 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 which SOP attributes to always author as default values for USD primvars (never time samples). This is the list of exclusions when Author Time Samples is set to “If Not Specifically Excluded”.
USD Custom Attributes
A space-separated list of attribute names/patterns specifying which SOP attributes to import into USD as attributes (rather than primvars).
See also |