On this page | |
Since | 18.5 |
Overview ¶
This node has two methods for “extracting” pieces of a geometry prim:
-
Split the prim by faces that belong to a certain subset, and elements that do not not.
-
Split the prim into pieces by which faces have the same value in a certain primvar.
Parameters ¶
Primitives
A USD path or space-separated list of paths of prims to split.
Split Mode
Geometry Subset
Split the prim(s) by elements are in a certain subset (Subset Attribute Name), and elements that are not.
Primvar
Split the prim(s) into pieces by which elements have the same value in a certain primvar (Primvar Name).
Subset Attribute Name
When Split Mode is Geometry Subset, the name of the geometry subset attribute by which to split the primitives.
Primvar Name
When Split Mode is Primvar, the name of the primvar by which to split the primitives.
Sublayer Style
(When Load as reference is off.) By default, geometry imported from SOPs is treated like geometry imported from a file on disk: you can only edit it by applying stronger opinions on top. Changing this parameter, allows this node to put the geometry in the active layer, so it can be modified by LOP nodes connected to this node’s output.
The node does this by copying the contents generated from the SOP geometry into an anonymous in-memory USD layer. This is slower, but provides more options for how many USD layers you need to write to disk, and what goes in each layer. This is similar to the operation of a Load Layer for Editing LOP.
The Copy SOP Layer Into New Active Layer
style creates a new active layer into which the SOP layer contents are copied. The Merge SOP Layer Into Existing Active Layer
style copies the SOP layer contents into the input node’s active layer, resulting in no new layers on the stage.
Enable NURBS Curves
When enabled, the NURBS Curves setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfignurbscurves
detail attribute exists on the SOP geometry (for example, from the USD Configure SOP)
NURBS Curves
What to do with NURBS curve primitives.
Convert to Basis Curves
Import the curves as a BasisCurves
primitive.
This only supports cubic curves, but is useful for rendering through Hydra.
Create NURBS Curves
Import the curves as a NurbsCurves
primitive.
This provides complete round-tripping of NURBS curves, but has limited support for rendering through Hydra.
Enable NURBS Surfaces
When enabled, the NURBS Surfaces setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfignurbssurfs
detail attribute exists on the SOP geometry (for example, from the USD Configure SOP)
NURBS Surfaces
What to do with NURBS surface primitives.
Convert to Meshes
Import the surface as a Mesh
primitive, which can be useful for rendering through Hydra.
Create NURBS Patches
Import the surface as a NurbsPatch
primitive.
This can be useful for round-tripping of NURBS surfaces, but has limited support for rendering through Hydra.
Enable Kind Authoring
When enabled, the Kind Authoring setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigkindschema
detail attribute exists on the SOP geometry (for example, from the USD Configure SOP)
Kind Authoring
How to assign kinds to imported prims.
All Geometry is One Component
Set root primitives in the imported tree to Component. Do not set kinds on descendants.
Nested Groups and Components
Set leaf primitives in the imported tree to Component. Set branch primitives to Group.
Nested Assembly, Groups, and Components
Set root prims in the imported tree to Assembly. Set intermediate branch prims to Group. Set leaf prims to Component.
None
Do not set kinds on the imported prims.
Geometry Handling ¶
These parameters provide options to alter the interpretation of the SOP geometry data.
Enable Treat Polygons as Subdivision Surfaces
When enabled, 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 Subdivision Group
When enabled, the Subdivision Group setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigsubdgroup
detail attribute exists on the SOP geometry (for example, from the USD Configure SOP)
Subdivision Group
If Treat Polygons as Subdivision Surfaces is on, only convert polygons in this primitive group into subdivision surfaces.
Enable Reverse Polygon Vertex Ordering
When enabled, the Reverse Polygon Vertex Ordering setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigreversepolygons
detail attribute exists on the SOP geometry (for example, from the USD Configure SOP)
Reverse Polygon Vertex Ordering
USD supports an orientation
attribute on mesh primitives that indicates whether polygons have a left-handed or right-handed ordering, while SOP geometry is always left-handed ordering. When this option is on, the importer always reorders vertices (and associated primvars) to be right-handed.
This is useful when round tripping right-handed oriented polygons from USD into SOPs and back into USD. The data is always converted to a left handed ordering when importing it into SOPs. If you imported the polygons back into USD without this option, they would be left-handed, unlike the original.
Enable Set Missing Widths
When enabled, the Set Missing Widths setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigsetmissingwidths
detail attribute exists on the SOP geometry (for example, from the USD Configure SOP)
Set Missing Widths
USD has a fallback value of 1.0 for the width of Curves and Points, which is often far wider/thicker than desired. If the SOP geometry does not explicitly author width/pscale data, this control can be used instead to explicitly author a USD value.
Import Data ¶
These parameters affect the conversion of SOP geometry attributes into USD attributes and primvars, and the choice between default and time sampled value authoring.
Enable Set Default Primitive
When enabled, the Set Default Primitive setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigsetdefaultprim
detail attribute exists on the SOP geometry (for example, from the USD Configure SOP)
Set Default Primitive
TBD
Enable Topology Attributes
When enabled, the Topology Attributes setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigtopology
detail attribute exists on the SOP geometry (for example, from the USD Configure SOP)
Topology Attributes
Controls whether USD topology attributes should be authored as time sampled or default values.
The following attributes are treated as topology attributes:
Primitive Type |
Attributes |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Animated
If you know that topology is changing in the source geometry over time, choose this option to record topology attributes as time samples in the USD scene graph. Having animated topology can be very expensive during playback, so only use this option when necessary.
Static
Write topology attributes as default values. This can make playback much faster, but limits how the topology can change over time.
None
Do not author topology attributes.
This is useful when USD data is sent to SOPs for processing, then brought back into LOPs. Using this option tells the importer that the geometry topology has not changed in this process, so only the changing point positions or other primvars will be imported.
Enable Attributes
When enabled, 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.
See importing attributes for information on how the importer converts certain well-known Houdini attributes to their USD equivalents.
Enable Indexed Attributes
When enabled, 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 enabled, 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 enabled, 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 enabled, 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 enabled, 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 enabled, 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 Set Default Values
When enabled, the Set Default Values setting is used when translating the SOP geometry to USD.
Otherwise, the parameter’s default value is used unless a usdconfigstaticattribs
detail attribute exists on the SOP geometry (for example, from the USD Configure SOP)
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). This is the list of exclusions when Author Time Samples is set to If Not Specifically Excluded.
Enable Partition Attributes
When enabled, the Partition 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)
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
.
Enable Prefix Subsets with Attribute Name
When enabled, 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 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.
Enable Subset Groups
When enabled, 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 primitive groups. SOP polygon and curve primitives in each group are imported as a geometry subset, named for the group.
Enable USD Custom Attributes
When enabled, 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 enabled, 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.)
See also |