Houdini 19.0 Nodes LOP nodes

SOP Character Import

Imports a character or animation from a SOP network into the USD scene graph.

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. The Extend Cooked Cache parameter can be used to cause additional frames of data to be cooked automatically so that motion blur can be displayed in the viewport when using this mode.

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. This option also obeys the Extend parameter to allow motion blur to work in the viewport.

Cache Rolling Window of Frames

In this mode, only a small set of frames is ever in the cache. This reduces memory usage considerably when scrubbing through the timeline, however it must recook the specified range of time samples every time a frame of data is requested from this node.

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.

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).

Import Rest Geometry Data

These parameters control how the rest geometry shapes 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.

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.

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.)

Import Animation Data

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

LOP nodes

  • Add Variant

    Adds one or more variants to a variant set on a primitive. This node creates the primitive if it doesn’t exist.

  • Additional Render Vars

    Create multiple render vars.

  • Asset Reference

    Reference, Transform, and select variants of a USD Asset.

  • Assign Material

    Assigns a material to one or more USD primitives. You can use also programmatically assign materials using VEX, programmatically override material settings for each assignment, and programmatically assign materials to geometry subsets.

  • Attribute VOP

    Create/edit USD attribute values using a VOP network.

  • Attribute Wrangle

    Create/edit USD primitive attributes using a VEX snippet.

  • Auto Select LOD

    Automatically selects a level-of-detail variant based on the primitive’s distance from the camera.

  • Background Plate

    Sets up hold-out or matte objects that leave holes in the scene through which the background is visible. These prims still take shadows and contribute to reflections as if they were the background.

  • Bake Skinning

    Bakes animation driven by a UsdSkel into transforms and point positions.

  • Basis Curves

    Creates or edits a basis curves shape primitive.

  • Begin Context Options Block

    This node begins a block of LOP nodes, within which certain context options have certain values.

  • Blend

    Partially applies edits to a layer’s attributes based on a fractional weight.

  • Blend Constraint

    Blends transforms according to a list of weights specified as parameters.

  • Cache

    Caches the results of cooking the network at different times, increasing playback speed.

  • Camera

    Adds a USD camera to the scene.

  • Capsule

    Creates or edits a capsule (tube with hemispherical ends) shape primitive.

  • Collection

    Creates/edits collections using primitive patterns.

  • Component Geometry

    Geometry container or import source, in a network created by the Component Builder tool.

  • Component Geometry Variants

    Sets up geometry variants, in a network created by the Component Builder tool.

  • Component Material

    Assigns materials to geometry in a network created by the Component Builder tool.

  • Component Output

    Assembles the final Component prim, in a network created by the Component Builder tool.

  • Cone

    Creates or edits a cone shape primitive.

  • Configure Layer

    Edits metadata on a layer.

  • Configure Primitives

    Edits various metadata on one or more primitives.

  • Configure Properties

    Configures metadata on properties (relationships and attributes).

  • Configure Stage

    Configures metadata for how to load layers into the stage and asset resolution.

  • Copy Property

    Copy properties from one primitive to another, or renames properties on a primitive.

  • Create LOD

    Uses the PolyReduce SOP to automatically generate multiple levels of detail from a high-res model, and stores them as USD variants.

  • Cube

    Creates or edits a cube shape primitive.

  • Cylinder

    Creates or edits a cylinder shape primitive.

  • Distant Light

    Creates or edits a USD Distant Light, representing a far-off light source such as the sun. Adds some useful Karma-specific attributes.

  • Dome Light

    Creates or edits a USD Dome Light prim. A dome light emits light inward, simulating light coming from the sky/environment surrounding the scene.

  • Drop

    Runs a simulation to drop primitives under gravity.

  • Duplicate

    Creates copies of a prim (and its descendants).

  • Edit

    Interactively transforms prims in the viewer. Can use physics collisions to position props realistically.

  • Edit Context Options

  • Edit Material

    Allows you to edit an existing USD material by modifying parameters and shader connections. This can be useful if the existing material is on a non-editable layer.

  • Edit Material Properties

    Lets you build a spare parameter interface that reflects material or shader input attributes to directly edit their values.

  • Edit Properties

    Lets you build a spare parameter interface to directly edit attribute and relationship values.

  • Edit Prototype

    Switch point instances or USD instanceable prims to instance a different prototype.

  • Edit Target Layer

    Allows you to apply edits directly in a lower layer, instead of overriding prims and attributes in the active layer.

  • Error

    Generates a message, warning, or error, which can show up on a parent asset.

  • Explore Variants

    Visualize, set, or extract variants on primitives.

  • Extract Instances

    Converts (heroes) an instance into a real editable prim.

  • Fetch

    Grabs the output of another LOP, potentially in another LOP network.

  • Follow Path Constraint

    Constrains a prim to follow a path curve.

  • For Each

    The end node of a For-Each loop block.

  • Geometry Sequence

    Imports a sequence of geometry files into LOPs as animated geometry.

  • Geometry Subset VOP

    Creates USD geometry subsets within geometry prims (similar to groups in SOPs) based on evaluating a VEXpression or VOP network.

  • Graft Branches

    Takes prims/branches from the second input and attaches them onto branches of the scene graph tree in the first input.

  • Graft Stages

    Takes scene graph trees from other inputs and attaches them onto branches of the scene graph tree in the first input.

  • HDA Dynamic Payload

    Cooks a OBJ or SOP asset on disk and imports the animated geometry output as a USD payload.

  • Hermite Curves

    Creates or edits a hermite curves shape primitive.

  • Inline USD

    Parses usda code representing a layer and adds it to the layer stack.

  • Insertion Point

    Represents a point in the node graph where nodes can be inserted.

  • Instancer

    Instances or copies primitives onto points.

  • Instancer

    Creates a constant volume within a box.

  • Instancer

    Create multiple render products sharing common settings.

  • Karma

    Renders the USD scene using Houdini’s Karma renderer.

  • Karma Procedural

    Sets up render-time instantiation for Karma.

  • Karma Render Properties

    Configure Render Properties for Karma.

  • Karma Standard Render Vars

    Create standard karma render vars (AOVs/Image Planes).

  • LOP nodes

    LOP nodes generate USD describing characters, props, lighting, and rendering.

  • LPE Tag

    Manage Lights LPE Tags.

  • Labs RizomUV Optimize

  • Labs RizomUV Rectangularize

  • Labs RizomUV Unwrap

  • Layer Break

    Starts a new active sublayer that subsequent nodes will edit, and indicates all previous layers will be discarded when saving to disk.

  • Layer Replace

    Replaces all uses of a certain layer with a substitute layer from its second input.

  • Layout

    Provides tools for populating a scene with instanced USD assets. You can place individual components, paint/scatter components in different ways using customizable brushes, and edit existing instances.

  • Light

    Creates or edits a USD Light prim. This node also adds some useful Karma-specific attributes.

  • Light Linker

    Creates USD light link properties based on rules.

  • Light Mixer

    Lets you interactively edit USD properties for multiple lights.

  • Load Layer for Editing

  • Loft Payload Info

    Adds basic information from inside a payload to the primitive that loads the payload.

  • Look At Constraint

    Constrains a prim to always point toward a target.

  • Mask from Bounds

    Sets a primvar based on whether/by how much selected prims are inside a bounding shape.

  • Material Library

    Authors USD material primitives from shader VOP nodes.

  • Material Linker

    Creates material assignments based on rules.

  • Material Variation

    Creates attributes/primvars to override material parameters per-prim/instance.

  • Merge LOP

    Merges the layers from incoming stages into a unified layer stack.

  • Mesh

    Creates or edits a mesh shape primitive.

  • Modify Paths

    Modify asset path attribute values.

  • Modify Point Instances

    Modifies point transforms and property values for individual point instances.

  • Null

    This node does nothing. It can be useful to insert a Null into a network as a fixed point in the network that you can refer to by name in expressions/scripts.

  • Output

    Represents the output of a subnetwork. Allows you to design a node asset with multiple outputs.

  • Parent Constraint

    Makes a primitive appear to inherit the transform hierarchy of another prim somewhere else in the tree.

  • Points

    Creates or edits a Points shape primitive.

  • Points Constraint

    Position and Orient primitives using point positions from a geometry.

  • Primitive

    Bulk-creates one or more attributes of a certain type.

  • Prune

    Hides or deactivates primitives and point instances.

  • Python Script

    Lets you write Python code in the node to use the USD API to directly manipulate the stage.

  • RBD Destruction

    An example of how to a fracturing simulation in USD, also useful as a canned effect.

  • Reference

    References the contents of an external USD file into a branch of the existing scene graph tree, or removes/replaces existing references.

  • Render Geometry Settings

    Applies renderer-specific geometry settings to geometry in the scene graph.

  • Render Product

    Creates or edits a UsdRenderProduct prim, which represents an output of a renderer (such as a rendered image file or other file-like artifact produced by a renderer), with attributes configuring how to generate the product.

  • Render Settings

    Creates or edits a UsdRenderSettings prim, which holds the general settings for rendering the scene.

  • Render Var

    Specifies a custom variable computed by the renderer and/or shaders, either a shader output or a light path expression (LPE).

  • Resample Transforms

    Generates interpolated transform time samples from existing time samples on USD prims.

  • Restructure Scene Graph

    This node has various operations for editing prim paths, variant sets, and composition arcs.

  • Retime Instances

    Offsets and/or scales the timing of animation on selected instances.

  • SOP Character Import

    Imports a character or animation from a SOP network into the USD scene graph.

  • SOP Create

    Lets you create geometry in a SOP subnetwork inside this node, so you can create geometry in-place in the LOP network instead of needing a separate SOP network.

  • SOP Crowd Import

    Imports a crowd from a SOP network into the USD scene graph.

  • SOP Import

    Imports geometry from a SOP network into the USD scene graph.

  • SOP Modify

    Converts USD geometry into SOP geometry, runs the SOP subnet inside this node on the geometry, and converts the changes back to USD overrides.

  • Scene Import

    Imports models, materials, and lights from the Object level into the LOP network.

  • Scope

    Creates a scope primitive. Scope is the simplest form of grouping, and does not have a transform. Scopes can be useful for organizing the scene tree.

  • Set Extents

    Sets the bounding box metadata of selected primitives.

  • Set Variant

    Selects (switches to) one of the variants stored in a variant set on a primitive.

  • Simulation Proxy

    Generates low-poly collison geometry suitable for physical simulation and creates a proxy relationship to the original model.

  • Sphere

    Creates or edits a sphere shape primitive.

  • Split Point Instancers

    Splits a point instancer into two or more instances, which divide up the original instances.

  • Split Primitive

    Splits USD geometry prims into child primitives based on geometry subsets or primvar values.

  • Stage Manager

    Provides a convenient interface to reference in many files at once and place them in the scene graph tree.

  • Store Parameter Values

    Lets you store temporary (unsaved) data in the stage.

  • Sublayer

    Imports from USD files or other LOP node chains into as sublayers, or removes/replaces/reorders existing sublayers.

  • Subnet

    Encapsulates a LOP subnetwork, allowing you to organize and hide parts of the network.

  • Surface Constraint

    Constrain a prim to stick to a surface.

  • Switch

    Passes through one of several inputs, based on a parameter choice or expression.

  • TimeShift

    Outputs the stage as it is at a different point in the timeline.

  • Transform

    Edits the transforms of selected USD primitives.

  • Transform UV

    Moves, rotates, and scales texture coordinates on USD primitives.

  • USD ROP

  • USD Render ROP

  • Unassign Material

    Unbinds a material from one or more USD primitives.

  • Value Clip

  • Vary Material Assignment

    Assign different materials across a number of prims to create variation.

  • Volume

    References volume data on disk into a volume prim containing field prims.

  • Xform

    Creates or edits an Xform prim. Xform (and its sub-classes) represents a transform in the scene tree.