# Match Size

Resizes and recenters the input geometry to match a reference bounding box.

The reference can be the bounding box of another geometry, or the bounds of a set of prims.

## Parameters ¶

Primitives

The primitive(s) the node should operate on. You can drag primitives from the scene graph tree pane into this textbox to add their paths, or click the Reselect button beside the text box to select the primitives in the viewer, or ⌃ Ctrl-click the Reselect button to choose prims from a pop-up tree window. You can also use primitive patterns for advanced matching, including matching all prims in a collection (using `/path/to/prim.collection:name`).

Import Frame

The frame number at which to evaluate the stage.

Justify With

How to compute the reference bounding box.

Origin and Unit Size

The reference point is a unit bounding box. The reference size will be unit-sized.

Target Primitive(s)

The bounding box of the specified primitive(s) will be used as reference. If there is primitive, a zero-sized bounding box at the origin is used.

Location and Size

The reference bounding box is anchored to a specific point and given the specific size. Which corner of the bounding box is anchored depends on the Justify options.

Target Source

Specify whether the target primitives should be sourced from the node’s first or second input.

Target Primitive(s)

The primitive(s) to use as reference. When more than one primitive is specified, their combined bounding box will be used.

Target Position

Anchor for the reference bounding box if no second input is given. It represents the center of the box unless the relevant axis' justification is Min or Max, in which case it represents the edge of the reference box.

Target Size

Size of the reference bounding box if no second input is given.

Action

Apply Transform

Applies the resulting match size transform as a xform op on the primitive.

Transform Geometry

Applies the resulting match size transform directly onto the attributes of type “point3f”.

Transform Suffix

When Mode is set to “Apply Transform”, specify the suffix of the xform op.

Match Each Prim

When enabled, each primitive specified by Primitives will be be match sized individually. When disabled, all primitives will be treated as a single piece of geometry.

Translate

Whether to translate the object to match the reference box.

Justify X/Y/Z

Controls how the each axis is translated to match the reference box.

None

No movement on the x-axis

Min

The minimum of the object’s bounding box is aligned to the minimum of the reference’s bounding box.

Center

The center of the object’s bounding box is aligned to the center of the reference’s bounding box.

Max

The maximum of the object’s bounding box is aligned to the maximum of the reference’s bounding box.

To

Controls which axis of the reference box the object is justified to.

Same

Matches the justification of reference: so the minimum will match minimum, or center match center.

Min

The justification side of the object’s bounding box is aligned to the minimum of the reference’s bounding box.

Center

The justification side of the object’s bounding box is aligned to the center of the reference’s bounding box.

Max

The justification side of the object’s bounding box is aligned to the maximum of the reference’s bounding box.

Offset by

Additional offset to apply to the justification. This allows for a fixed-size gap, or fixed-size overlap to be specified.

Scale to Fit

Whether to scale the geometry to match the size of the reference box.

Uniform Scale

Preserve the aspect ratio of the geometry by scaling all axes equally.

Scale Axis

In case of uniform scale not all axes can necessarily be fit. This determines which axis is used.

X

The x-axis will be matched.

Y

The y-axis will be matched.

Z

The z-axis will be matched.

Best Fit

The object will be fully contained in the reference box.

Perimeter

The total edge lengths of the two models will be scaled to match. This is not well defined if either model lacks edges.

Area

The total surface area of the two models will be scaled to match. This is not well defined if either model has no surface.

Volume

The total volume of the two models will be scaled to match. This is not well defined if either model lacks volume.

Scale X/Y/Z

Controls whether each axis will be scaled to the reference box.

Scale

Multiply the resulting scaling by this amount.

# LOP nodes

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

• Create multiple render vars.

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

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

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

• Create/edit USD attribute values using a VOP network.

• Create/edit USD primitive attributes using a VEX snippet.

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

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

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

• Creates or edits a basis curves shape primitive.

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

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

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

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

• Adds a USD camera to the scene.

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

• Creates/edits collections using primitive patterns.

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

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

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

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

• Creates or edits a cone shape primitive.

• Edits metadata on a layer.

• Edits various metadata on one or more primitives.

• Configures metadata on properties (relationships and attributes).

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

• Define named coordinate systems used in shaders.

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

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

• Creates or edits a cube shape primitive.

• Creates or edits a cylinder shape primitive.

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

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

• Runs a simulation to drop primitives under gravity.

• Creates copies of a prim (and its descendants).

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

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

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

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

• Lets you refer to the parameter on another node to directly edit attribute and relationship values.

• Modify the prototypes of native or point instances in-place, without disturbing the instancing setup.

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

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

• Visualize, set, or extract variants on primitives.

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

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

• Caches (writes out once and then reads from) USD layers (possibly animated) to disk.

• Constrains a prim to follow a path curve.

• The end node of a For-Each loop block.

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

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

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

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

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

• Creates or edits a hermite curves shape primitive.

• Generates feathers for rendering.

• Invokes Houdini Procedurals while working interactively.

• Houdini Hair Procedural for Solaris.

• Houdini Ocean Procedural for Solaris.

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

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

• Instances or copies primitives onto points.

• Create multiple render products sharing common settings.

• Work in masked areas of the stage.

• Renders the USD scene using Houdini’s Karma renderer.

• Setup Cryptomatte AOVs for Karma.

• Creates a constant volume within a box.

• Creates a Karma Sky Dome and Sun Light rig.

• Configure Render Properties for Karma.

• Creates or edits a Karma Sky Dome Light.

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

• Manage Lights' LPE Tags.

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

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

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

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

• Authors USD light filter primitives from VOP nodes.

• Creates USD light link properties based on rules.

• Lets you interactively edit USD properties for multiple lights.

• Constrains a prim to always point toward a target.

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

• Resizes and recenters the input geometry to match a reference bounding box.

• Authors USD material primitives from shader VOP nodes.

• Creates material assignments based on rules.

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

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

• Merges point instancers into a single consolidated point instancer.

• Creates or edits a mesh shape primitive.

• Modify asset path attribute values.

• Modifies point transforms and property values for individual point instances.

• Adds time samples to allow motion blur when rendering.

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

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

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

• Creates or edits a Points shape primitive.

• Position and Orient primitives using point positions from a geometry.

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

• Hides or deactivates primitives and point instances.

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

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

• References the contents of a external USD files and/or layers created by other LOP nodes into a branch of the existing scene graph tree. Can also remove or replace existing references.

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

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

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

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

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

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

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

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

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

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

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

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

• Validates primitives on a USD stage.

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

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

• Sets the bounding box metadata of selected primitives.

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

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

• Creates or edits a sphere shape primitive.

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

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

• This node splits a scene graph into two disjoint sets of primitives.

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

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

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

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

• Constrain a prim to stick to a surface.

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

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

• Edits the transforms of selected USD primitives.

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

• Unbinds a material from one or more USD primitives.

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

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

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