On this page |
Workflow improvements ¶
-
New expansion states on the Solaris Scene Graph Tree let you precisely control whether primitives should be displayed as bounding boxes or as “full” geometry.
-
Integration of some Adobe USD file format plugins in Solaris.
-
LOPs with render-specific tabs now have a button to reload the tabs. You can do that for a node when you open its Initialize Parameters dropdown menu and choose Rebuild Render-Specific Parameters. One node, where you can find this feature, is the
Render Var LOP.
When you open Houdini’s top-level Render menu and choose Rebuild All Render-Specific LOP Parameters, you can do that for the entire HIP file.
-
Solaris now supports collections based on USD path expressions.
-
Collection LOP and
Assign Material LOP for creating collections with USD path expressions.
-
Light Linker LOP and
Material Linker also support path expressions.
-
%pathexpr
auto-collection supports using path expression syntax within prim patterns, without authoring a collection.
-
-
The Render Gallery now has a
button that lets you import external images.
-
You can author
colorManagementSystem
andcolorConfiguration
metadata directly to a USD stage. TheConfigure Layer LOP provides appropriate parameters. You can also create the metadata on the
Configure Stage LOP through a stage variable.
-
Deactivated lights are no longer visible in the
Light Linker LOP, because you can’t turn on those light in the linker.
-
The “Asset Gallery” is now called “Asset Catalog”. Existing references inside HIP files to
$HH/assetGallery.db"
are automatically redirected to$HH/assetCatalog.db
. This makes it possible to use older files without modifications. Existing gallery references in the documentation will be changed subsequently. -
The handling of the T/R/E keys in the LOP scene viewer is now customizable with a python script (
sceneviewerhooks.py
). -
Allow LOP primitive patterns to be interrupted with the ⎋ Esc key. This works both when cooking LOP nodes and in the Edit Pattern window.
-
Added a
%size
auto-collection to select allUsdGeomImageable
prims whose bounding box’s volume, or screen area (given a path to a valid UsdCamera), is within a given range.
New nodes ¶
-
The new
Live Render LOP lets you set up a live link to the Render Gallery. A workflow guide explains how to use this feature.
-
Added the
Geometry Light LOP for applying UsdLux ApiSchemas, turning geometry primitives into lights (meshes, points, curves, and volumes). The node also includes the ShadowAPI controls and adds per-renderer light controls at creation time.
-
Added the Edit Layer Block for editing specific layers on the Layer Stack. It uses the new Edit Layer Begin and Edit Layer End nodes.
-
Shot Split and
Shot Switch are new beta nodes designed for multi-shot workflows.
-
The new
USD Configure Prims from Points SOP aims to simplify the authoring process for special SOP attributes for USD primtives. Furhermore, you can use the node to handle existing detail attributes correctly.
-
The new
USD Configure Import SOP sets detail attributes that affect how LOPs will import this geometry as USD primitives using a
SOP Import LOP, or when loading a geometry file from disk.
-
Two new recipes for the
Material Library LOP, demonstrate how to create a custom material catalog, and make reusable node graphs.
Node improvements ¶
-
The
Component Output LOP now provides a way to save source nodes to a recipe as a sidecar HDA file. Later, the recipe lets you edit the asset’s source from within the scene where the asset is used.
-
The
Configure Layer LOP has new Color Configuration and Color Management System parameters for controlling metadata on the stage
room
prim. -
The
Camera Import COP now supports direct access of LOP cameras.
-
The
Houdini Procedural: RBD LOP now deletes pieces when points with a matching piece attribute are not found. There’s also support to copy attributes from points.
-
Several improvements on the
Geometry Clip Sequence LOP:
-
New Reload Files button.
-
Fixed subframe sampling or frame increment < 1.
-
Added Handle Missing Files parameter.
-
Added option to sublayer the topology file instead of referencing it.
-
-
The
Assign Prototype LOP now grafts branches instead of stage when importing prototypes from the second input for a more targeted merge.
-
The
SOP Import LOP now authors the
fieldClass
andfieldDataType
attributes for OpenVDBAsset prims. -
Added an Enable multiparm to the
Set Variant LOP, to provide the ability to turn off/on a particular multiparm block’s effect.
-
Added support for refreshing renderer-specific parameters on LOP nodes. This can be done from an individual node’s Initialize Parameters menu, or all nodes can be refreshed from the top level Render menu.
-
A new toggle on the
LOP Import SOP excludes deactivated primitives which are matched by the primitive pattern. This is turned on by default for new instances of the node, but can be turned off to import inactive primitives into SOPS (for example, to reactivate them via the
usdactive
attribute). -
Added an option on the
Unpack USD SOP to perform additional iterations of unpacking, or continue unpacking as far as possible. An optional integer attribute can also be added to the geometry to record the nesting level when unpacking point instancers.
-
Added a new COPs sample compositing setup to the Background Plate LOP’s quick setup menu.
-
You can now allow LOP nodes to author non-root prims as the default prim for a layer.
Rendering ¶

-
Added the ability for the LOP Scene Viewer to keep multiple non-HoudiniGL render delegates “active” at the same time. Only one will be rendering at a time, but you can switch between multiple renderers without having to restart the renderer each time you switch to it. The number of delegates is controlled by the
HOUDINI_ACTIVE_RENDER_DELEGATE_COUNT
environment variable. -
Render delegates can be configured to be deleted instead of paused when switching away to any other renderer (including Houdini GL).
-
Render delegates can now specify in
UsdRenderers.json
whether or not the renderer should be paused before updating the USD stage. -
When Solaris saves a COP image for texturing, the resulting EXR file will now be tiled and mip-mapped. Mip-mapped EXRs are directly supported by many renderers.
Environment variables ¶
-
Houdini now supports Hydra 2 as the new standard interface for render delegates. This also includes
husk
. There’s backward compatibility with Hydra, but you can also set theUSDIMAGINGGL_ENGINE_ENABLE_SCENE_INDEX=0
environment variable if you need to disable Hydra 2. -
When you set the new
HOUDINI_PROTOPATHS_IN_INSTANCE_SELECTIONS
environment variable to1
, Houdini generates LOP instance selection strings in a new format. This format includes not just the instance index, but also the path to the primitive within that instance’s prototype that was selected. This allows for more targeted selection of child prims within a point instancer instance.It’s also required to disambiguate between child point instancers in the case of selecting nested instances when the top level prototype has more than one point instancer child prim. The new format is
/instancer_path[index:/path/to/selected/prototype/prim]
. -
A new
HOUDINI_NEW_CONTEXT_OPTION_RULES
environment variable that can change the behavior of context options. When you turn on this mode, it makes the context options last used to cook a node higher priority than global context option values.This reduces excessive cooking when an option exists both globally and locally via an
Edit Context Options LOP. When a node has its display flag set, this behavior changes so that the last cook context option values are never used, allowing the use of global options to explicitly override the options for a specific node. We also improved tracking of context option dependencies, so changing a global option doesn’t trigger recooks of nodes that used a local context option value the last time they cooked.
-
Replaced
HOUDINI_DEFAULT_RENDER_DELEGATE
with four separate variables.-
HOUDINI_DEFAULT_ROP_RENDER_DELEGATE
- default delegate for ROPs -
HOUDINI_DEFAULT_CLONE_RENDER_DELEGATE
- default delegate for clones -
HOUDINI_DEFAULT_SCENEVIEWER_RENDER_DELEGATE
- default for scene viewers -
HOUDINI_FORCE_SCENEVIEWER_RENDER_DELEGATE
- override delegate setting for scene viewers saved into a hip file.
-
Other improvements ¶
-
Shot Builder is a multi-shot workflow toolset added to Solaris. Please note that the system and its nodes are still considered beta. The number of nodes, their functionality and parameters are subject to change, and there’s currently minimal documentation available.
-
The Scene Graph Details pane has a new Time Samples tab for showing additional information about time sampled attributes.
-
Added a Children column to the Scene Graph Tree pane, which shows the count of direct child prims. This and the Descendants columns now show the count in an orange “warning” color when the count exceeds 50,000 to indicate that showing these columns may be negatively impacting performance. The Descendants column is now off by default, and the Children column is on by default.
-
Enhanced and improved support for point-instanced lights in the viewport.
-
Inactive prims now use a different look in the Scene Graph Tree to make their active/inactive state clearer.
-
LOP nodes with a Handle Missing Files parameter set to Warn for missing files used to direct the USD library to open the layer file. This could be quite expensive for some file formats like BGEO. Now, Houdini just checks for the existence of the file. This is much faster, but will no longer detect invalid files (only truly missing files).
-
A node’s
menu now shows the complete information for LOPs and USD prims.
-
LOP nodes can now create and edit USD prims, properties, and variants with UTF8 identifiers. Validation of identifiers conforms to the rules defined by USD.
-
New auto collections for specifying USD primitive patterns based on the values of attributes, relationships, and primvars on prims.
-
The
hou.LopNode.stagePrimStats
method now has a new Do Kind Counts parameter for returning the number of prims of each kind. -
The Karma Material Builder and USD MaterialX Builder inside a Material Library LOP contain a
Subnet Output VOP. This VOP now supports a Shader Render Context Name spare parameter to override the terminal shader output on the translated USD material. This allows for several contexts (
mtlx
andhview
) in one material builder. -
You can now interrupt LOP primitive patterns with the ⎋ Esc key. This works both when cooking LOP nodes and in the Edit Pattern window.
-
Visual enhancements in the Scene Graph Tree.
-
Component Output nodes now offer a way to edit the USD asset’s definition, using the original nodes. See Editing existing components for details.
-
A new
usdprims
expression function evaluates a prim pattern on a USD file on disk or LOP node. -
A custom LOP “editor node type” can now implement a function called
initializeParametersFromPrim
to customize how the node’s parameters are initialized from the current state of the USD prim. -
New HOM methods to get the last context options used to cook a node, and
hou.LopNode
methods that involve cooking a LOP node now have a parameter that can be used to override context option values for the cook. -
The context menu for a USD prim with no variant sets will now look up the scene graph hierarchy for any ancestor prims with variant sets, and allow setting those variants from the menu. This makes it much easier to choose variants on an asset by bringing up the menu for any prim within the asset.
-
When unpacking USD to SOP geometry, the
usdconfigreversepolygons
attribute is now added to primitives where the winding order was reversed. When round-tripping back to LOPs, this restores the original orientation without needing to manually adjust SOP Import parameters.