| Since | 22.0 |
This node translates APEX scenes or characters from a SOP network to USD.
This can be useful for importing characters and animation that were created entirely in SOPs.
To rig existing USD assets, the APEX SOP Rig Builder LOP can be used.
The SOP Import APEX Character recipe is essentially a SOP Import APEX Scene LOP with Import Mode set to APEX Character.
See animating in LOPs for an example of how to use this node.
Parameters ¶
Import Mode
The type of geometry that the SOP Path contains.
APEX Scene
The geometry contains an animation scene with one or more characters, animation, and other scene elements. Each character and the specified Shapes to Import are imported under the Import Path Prefix, and a scene is created at the APEX Scene Primitive path.
APEX Character
The geometry contains a single packed character. The character is imported at the Import Path Prefix with the specified Shapes to Import underneath.
SOP Path
The path to the SOP node containing the APEX scene or character.
Shapes to Import
A pattern specifying the shapes from the character folder structure to translate to USD primitives. All other items in the folder structure, such as rigs, are referenced by the APEX Scene Primitive. This pattern supports the APEX path pattern syntax.
Import Path Prefix
If a prim being imported has an automatically generated name (like mesh_0) because it had no path primitive, or if it has a path primitive but the path is relative (does not start with /), the node automatically prefixes the name/path fragment with this path. This is a way of keeping “un-pathed” prims organized under a single branch. (See how to create geometry hierarchy.)
(The default is /$OS which puts “un-pathed” prims under a root prim with the name of this node.)
APEX Scene Primitive
When Import Mode is set to APEX Scene, this is the path of the HoudiniApexScene primitive that is created to represent the APEX scene.
Scene Save Path
When turned on, configures the save path for the imported scene’s rigs, animation, and other elements.
When you write out USD using a USD Render ROP, the geometry is saved to a
.bgeo.sc file using this file path (after output processing).
When turned off, the save path is automatically determined based on the node name.
This parameter is available when Import Mode is set to APEX Scene.
Rig Save Path
When turned on, configures the save path for the imported character’s rig.
When you write out USD using a USD Render ROP, the geometry is saved to a
.bgeo.sc file using this file path (after output processing).
When turned off, the save path is automatically determined based on the node name.
This parameter is available when Import Mode is set to APEX Character.
Enable Treat Polygons as Subdivision Surfaces
When turned on, the Treat Polygons as Subdivision Surfaces setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigpolygonsassubd detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
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.
Enable Attributes
When turned on, the Attributes setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigattribs detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
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.
type:string
Matches against any SOP string attributes.
type:uv
Matches against any SOP texture coordinate attributes.
See importing attributes for information on how the importer converts certain well-known Houdini attributes to their USD equivalents.
Enable Indexed Attributes
When turned on, the Indexed Attributes setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigindexattribs detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
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.
Enable Import as Single Element Array
When turned on, the Import as Single Element Array setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigconstantattribs detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
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.
Enable Import as Single Value
When turned on, the Import as Single Value setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigscalarconstantattribs detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
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[]).
Enable Boolean Attributes
When turned on, the Boolean Attributes setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigboolattribs detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
Boolean Attributes
A space-separated list of attribute names/patterns specifying which integer SOP attributes should be converted to primvars of type bool.
Enable Unsigned 32-bit Attributes
When turned on, the Unsigned 32-bit Attributes setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfiguintattribs detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
Unsigned 32-bit Attributes
A space-separated list of attribute names/patterns specifying which integer SOP attributes should be converted to primvars of type uint.
Enable Unsigned 64-bit Attributes
When turned on, the Unsigned 64-bit Attributes setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfiguint64attribs detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
Unsigned 64-bit Attributes
A space-separated list of attribute names/patterns specifying which integer SOP attributes should be converted to primvars of type uint64.
Enable Asset Path Attributes
When enabled, the Asset Path Attributes setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigassetpathattribs detail attribute exists on the SOP geometry (for example, from the USD Configure SOP)
Asset Path Attributes
A space-separated list of attribute names/patterns specifying which string SOP attributes should be converted to primvars of type asset.
Enable Subset Attributes
When turned on, the Subset Attributes setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigpartitionattribs detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
Subset Attributes
A space-separated list of attribute names/patterns specifying which SOP string or integer attributes represent subsets of the geometry. The importer puts elements with the same value for this attribute into their own geometry subsets.
Each attribute’s subsets are added to a subset family (named from the original attribute) which indicates that the subsets are related.
The subset family’s type is set to partition to indicate that the subsets are non-intersecting and that every element of the primitive appears in a subset.
If there are elements with empty string values (which are not added to a subset), the family type is instead set to nonOverlapping to indicate that the subsets are non-intersecting but some elements do not appear in a subset.
The family’s type is authored as an attribute on the parent primitive, for example subsetFamily:shop_materialpath:familyType.
Subsets can be created from point or primitive partition attributes on SOP meshes, curves, tetrahedra, and points.
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.
Enable Prefix Subsets with Attribute Name
When turned on, the Prefix Subsets with Attribute Name setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigprefixpartitionsubsets detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
Prefix Subsets with Attribute Name
When creating subsets from Subset 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.
Enable Subset Groups
When turned on, the Subset Groups setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigsubsetgroups detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
Subset Groups
A space-separated list of group names/patterns specifying SOP groups. SOP elements in each group are imported as a geometry subset, named for the group.
Subsets can be created from point or primitive groups on SOP meshes, curves, tetrahedra, and points.
Enable USD Custom Attributes
When turned on, the USD Custom Attributes setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigcustomattribs detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
USD Custom Attributes
A space-separated list of attribute names/patterns specifying the SOP attributes to import into USD as attributes (rather than primvars).
Enable Translate UV Attribute to ST
When turned on, the Translate UV Attribute to ST setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigtranslateuvtost detail attribute exists on the SOP geometry (for example, from the USD Configure SOP).
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.)
When turned on, imports the specified Materials. The Materials pattern explicitly specifies the materials to import, since the character folder structure does not typically have material assignments on the top level geometry.
Destination Path
Prefix the node path of each imported material with this path to create its scene graph path.
Materials
The list or pattern of material VOP nodes to import. The default expression imports any materials contained in the creator network of the SOP Path.
| See also |