On this page

Workflow improvements

  • A completely revised Stage Manager LOP with a new user interface and lots of convenient features like reference path replacement, instanceable references and general layout improvements. You can also select and transform multiple prims now.

    Read more about the tool and its possibilities on the Stage Manager page.

  • USD cameras appear in the list of cameras to look through in SOP networks in the same/similar way that OBJ-level cameras do.

  • Significant performance improvement for the Karma Render Settings LOP on large scenes.

  • A new SOP Payload tool is available. This tool is a preconfigured and optimized SOP Create LOP for a more convenient import of payloads.

  • When inside a SOP Create LOP, you can now control which LOP node’s stage to show in the viewport alongside the SOP content.

  • The Solaris Desktop now includes a Log Viewer pane.

  • Dragging and dropping an asset from the Layout Asset Gallery pane into the viewport now works even when there are no nodes in the LOP network.

New nodes

  • New Quick Surface Material LOP and Quick Cloud Material LOP let you skip the Material Library LOP. This is the first step in making changes on materials more accessible without having to constantly jump between stage and shader networks.

    Follow this link to read more about the new Quick Materials.

  • A new Geometry Color LOP adds display color and opacity attributes to geometry primitives for fast preview. The node can also apply basic random colors to instances. However, you can’t colorize geometry subsets, because USD doesn’t support applying displayColors to GeomSubsets directly.

  • A new Draw Mode LOP replaces the Card LOP. The node sets draw mode properties to USD model assets to determine how an object will be displayed in the viewport.

    You can choose from various modes: Full Geometry, Origin Axes, Bounding Box and Textured Cards. A wide range of options lets you fully configure and customize the look of your objects.

Node improvements

  • The SOP Import LOP now has a user-defined widths attribute for points and curves that don’t come with the corresponding SOP-level information.

    In this context, please also note the new BGEO file format option that lets you define a custom widths attribute value (pscale in SOPs), if the SOP attribute is missing.

  • Added acceleration blur support to the Houdini Hair Procedural. The acceleration attribute is now copied from the guides/skin, and new controls have been added to choose between Velocity Blur and Acceleration Blur.

  • Added parameters to the Configure Property LOP to set asset info metadata on properties (as the Configure Primitive LOP already allowed for prims).

  • Support for geometry subsets to the Vary Material Assignment LOP.

  • Support for animated shader parameters to the Background Plate LOP. Karma XPU also has minor functionality improvements to the background plate. The background plate is now a MaterialX network and holdout objects won’t have shadows.

  • New toggle on the Geometry Clip Sequence LOP which allows the topology and manifest files to be generated from a single clip file instead of using all the clip files. This can make this node much faster, and reduce memory usage, especially when using BGEO files for the clip files.

  • An improved Edit Material Properties LOP lets you reference materials from disk. You can also maintain the parameter interface by saving dialog scripts in USD material primitives' metadata.

    • You can also make referenced primitives instanceable though an appropriate toggle.

    • The Initialize Parameters option changes the state of all control menu parameters to Do Nothing, so that this node will not apply any changes. The functionality of the parameter is the same as on the Edit Properties LOP.

    • A Class Prim Path parameter inherits the behavior of the Material Library LOP for VOP subnets. This makes it easier to specify a new base class for the existing (or derived) material.

    • A Reload File button reloads the reference file.

  • The Component Geometry LOP can now create and bind materials based on the SOP attribute usdmaterialpath.

  • The SOP Import LOP now supports the extended geometry subset types introduced in USD 24.03 when creating subsets from the Partition Attributes parameter. In particular, you can create subsets from point partition attributes (elementType = point) when authoring Mesh, TetMesh, and Points primitives, and from primitive partition attributes (elementType = tetrahedron) when authoring TetMesh primitives.

  • The UV rendervar on the Karma Render Settings LOP and Karma Standard Rendervars LOP was renamed to Texture Coordinates (st) and no longer outputs intrinsic uvs, but an st primvar instead.

  • An update on the Prune LOP lets you create missing explicit prims (when using Target Method ▸ Primitive Pattern) as new override prims to allow for pre-declaring specific prims' activation state or visibility.

  • Extract Instances LOP now handles array primvars with ElementSize metadata and has an option to flatten array primvars to scalar primvars.

  • Karma Render Settings, Karma Standard RenderVars and Karma Render Products LOPs can now specify custom parent prim locations for the render products and rendervars.

  • Edit Material LOP nodes created from the Material Linker LOP’s context menu now have channel references to the Linker’s prim path parameter.

  • Updated Prune LOP now allows empty inputs. This makes it possible to author new prims on an empty stage.

Rendering

  • You can now instance light sources, for example if you want to scatter lights to illuminate a fun fair, a carousel or complete cities at night with cars driving through the streets.

  • Major improvements on Solaris cloning

    • Clones are now able to render a data window.

    • You can rearrange the columns of the control panel.

    • Clones can send back multiple AOVs.

    • Snapshots of clones are supported.

    • You can remove context columns from the control panel.

  • Render delegates can now specify a list of dynamic libraries in the UsdRenderers.json file that will be loaded by Houdini before trying to instantiate the render delegate. This should reduce configuration issues when installing 3rd party render delegates.

  • husk procedurals will now find USD render settings prims (e.g. to extract camera information) even if they're not explicitly tagged in the renderSettingsPrimPath metadata of the stage.

  • Allow USD preview shaders in the Houdini GL render delegate, even when the HOUDINI_GL_USE_MATERIALX environment variable is set to 0.

Procedurals

  • A new Houdini Procedural: Crowd LOP configures Houdini Crowd Procedural primitives. The primitives provide a render-time optimization that reduces the amount of unique skinned geometry generated. The procedural works with instanced SkelRoot primitives representing the crowd characters. As a result you’ll see improvements on memory usage and performance as shown in the comparison below. On the left you can see the render stats for Houdini 20, and on the right the same information recorded in 20.5. Click here for a workflow guide.

  • The new Houdini Procedural: RBD LOP lets you deform hi-res geometry at render time through simulation points imported from a SOP network.

    With older workflows, users often had issues with bigger scenes at production scale. For example, large amounts of fractured pieces created an appropriate number of primitives - either as prototypes or individual objects. This normally lead to performance and naming problems, and the scene required (much) more disk space. Click here for a workflow guide.

    The procedural is the recommended replacement for the other output types of the RBD Destruction LOP, such as Deforming Mesh or Dynamic Skinning.

Other improvements

  • The Select All Bound Geometry action in the Scene Graph Tree will no longer select ancestors of prims to which the material is bound, even if all children of that ancestor prim have the same bound material.

  • The VEX methods for getting the transform of a prim no longer require that the prim is an Xformable. These methods will work on any prim type by assuming that the transform of any non-Xformable prim is the same as its closest Xformable ancestor.

  • Depth of field settings are now always preserved while making view adjustments on cameras.

  • Added support for round-tripping tetrahedral meshes from SOP geometry to the new USD TetMesh primitive type.

  • Added a hou.SceneViewer.resetViewportCamera method which is the equivalent of the Reset Native Viewport Camera entry in the viewport camera menu.

  • Unpacking a packed USD primitive, which references a point instancer, will now translate the invisibleIds attribute into the SOP usdvisibility attribute. This is similar to how primitive visibility is translated for other USD primitive types.

  • Support for a more accurate/precise LOP point instance selection string format (/instancer[instance_index:/path/to/selected/prototype]) which can be enabled by setting the HOUDINI_PROTOPATHS_IN_INSTANCE_SELECTIONS environment variable to 1.

  • New preferences to disable the syntax highlighting (pathParameterCompletion()) and path completion (setPathParameterCompletion(path_parameter_completion)) for primitive pattern parameters. Having this option turned on can result in pauses when editing parameters caused by USD stage recomposition. See the HOM Module page for more information.

  • Added a new @fps automatic context option, which is equal to the global animation FPS setting (unless it is overridden).

    This context option value is now used to set the FPS and TCPS values on new stages created by LOP nodes, instead of accessing this value directly from the global FPS setting.

    This means that changes to the global FPS are now tracked and may cause LOP networks to recook. You can also set the fps context option with an Edit Context Options LOP to override the global FPS setting when you create new USD stages. This could result in changed behavior of existing LOP networks if a context option, named fps, has been created in your hip file or LOP network.

  • Houdini 20.5 uses USD version 24.03.

What’s new in Houdini 20.5