Houdini 17.0 What’s new

What was new in Houdini 16.5

New features and changes in Houdini 16.5.

On this page

User interface

See also Network editor and Parameter editor.

New

The View tool now has options for how to center tumbling, dollying, and zooming.

New

Rewritten hotkey editor makes it easier to customize hotkeys.

Improved

Pressing and holding S (Select tool) now switches to Select while you hold the key down, and goes back to the previous tool when you release the key. Tapping S will still switch you to the Select tool.

Improved

Added a preference for the "close enough" distance (in pixels) when pointing at handles. Choose Edit ▸ Preferences ▸ Handles.

Improved

Ladder controls on handles are now semi-transparent to make it easier to see the effect of changes.

Improved

Dedicated game development tools shelf (ongoing).

Changed

The view tool defaults are now to automatically set the tumble pivot on geometry under the mouse pointer when you start tumbling, and to dolly toward/away from the mouse pointer. You can change the behavior using controls in the View tool’s operation toolbar or in the main preferences.

3D viewport

New

Fast, distance-adaptive instancing of packed primitives and Alembics in the 3D view. For example, the viewport can stream in geometry for close objects and replace far objects with bounding boxes. Distance culling controls are on the Optimize tab of the Display Options window.

Improved

Metallic map support at normal quality level.

Improved

"Cutout" transparency quality setting hides anything with Alpha equal to 0, and shows everything else fully opaque. This is much faster because it doesn’t require blending or extra display passes.

Improved

Basic support for displaying OpenSubdiv 3.x surfaces.

Improved

New option in display options sets an upper limit on the number of polygons produced by viewport subdivision (default is 10 million). If the viewport goes over the limit, it will iteratively restart at a lower subdivision level until it is under budget (this may result in no viewport subdivision at all).

New

Lights and Cameras ▸ Gamepad camera shelf tool creates a Gamepad CHOP setup to drive a camera. This is useful for flying through a scene, and as an example of using the Gamepad CHOP.

Improved

The 3D view now supports instancing on points with an instancefile attribute (when the object has instancing turned on). Previously this only worked at render time.

Fixed

Better near/far clipping settings when you switch from looking through a camera to the "unlocked" view.

Fixed

You can now click buttons in the toolbars around the viewport while holding Space to enter the view tool.

Changed

The hotkeys to turn subdivision on an object on or off (- and =) now require Shift (⇧ Shift + - and ⇧ Shift + =) to prevent accidental activation.

Changed

Houdini no longer draws a green tip on selected edges to indicate direction.

Fluids

See also what’s new in dynamics.

New

New Adaptive narrow-band FLIP simulations only simulates a thin top layer of a fluid.

  • Approximately ⅓ memory usage, 3× faster.

  • Ideal for FLIP tanks.

  • OpenCL accelerated.

New

Added low-cost, physically correct simulation of bubbles and trapped air.

  • On the FLIP solver node's Volume motion ▸ Air tab, turn on Enforce air incompressibility.

  • Works well with viscous fluids.

  • OpenCL accelerated.

Hair and fur

New

You can now partition a model into different areas with local grooms and then blend between them with the Groom Merge object. The Guide Groom tool now supports selecting an entire object or groups of polygons. For more information, see Fur Workflow.

New

Adaptive Prune SOP lets you prune hairs based on screen space.

New

Groom Switch SOP lets you switch between two grooms.

New

You can now groom animated and/or simulated guide hairs.

Improved

Productivity and performance improvements. You can now input skin objects to Guide Groom and Guide Deform to set up source relationships. The Animate and Simulate now support selecting multiple objects.

Art courtesy of Andryi Belichenko

New

Grow guides/hairs from curves (for example, eyelashes from an eyelid curve).

New

New Groom Fetch SOP for fetching data from a groom.

New

Support for variable segment count. Shorter hairs can have fewer line segments than longer hairs, keeping the hair geometry lighter.

New

The Curve Advect tool lets you draw a few quick curves to set up large-scale groom directions.

New

Built-in guard-hair and white hair support for animal fur.

Improved

Hair system is more efficient and time-independent.

Improved

You can now groom animated and/or simulated guide hairs.

Improved

Additional methods for interpolating between guide hairs.

Improved

More flexible masking, for example by curve length or skin curvature.

Improved

You can now paint on attributes to override simulation settings.

Improved

The Guide Process SOP has many more options for controlling bending.

Improved

The Hair Generate object now has an option to generate hair once in the rest position and deforming afterwards, using the updated Guide Deform.

Geometry and modeling

New

Completely rewritten Poly Reduce node does much better reduction much faster while retaining features and preserving quads.

98% polygon reduction while retaining textures and features

New

The abcpointcount intrinsic attribute on packed Alembic primitives contains the number of points in the unpacked geometry.

New

Edge Transport is a highly technical SOP for generating attributes by "walking" along the edge graph formed by the input geometry.

Improved

Enhanced Topo Build interactive mode allows sliding edges, skinning polygonal "sleeves" around roughly cylindrical features such as a tail, and more accurate snapping. Topobuild can also now collapse edges and faces.

Improved

Soft selection can now work by surface distance.

Improved

More geometry nodes are now compile-able.

The Invoke SOP lets you "apply" a compiled SOP block to an arbitrary input. This can be used to reduce duplication in a network, or to allow an asset to accept a reference to a block as a parameter and use the block to modify how the asset works.

You can now set the HOUDINI_SOP_DISABLE_COMPILENODE environment variable to make compiled blocks run in non-compiled mode. This may be useful for testing.

Improved

Fast alignment of handles and construction plane.

Improved

Move Center to Pivot shelf tool that translates an object’s geometry to its local object origin. For consistency, the "Center Pivot" tool is now called Move Pivot to Center.

Improved

Improvements to Alembic IO. Ogawa files now load in parallel. Animated Alembics can play back much faster. Caching allows multiple SOPs to reference the same Alembic with less cost.

Improved

A display option in the 3D viewer lets you color 3D boundaries (unshared edges) or UV boundaries differently to make them easier to see (pop-up menu on the Markers tab under "Draw"). A new option "UV boundaries in UV only" lets you color UV boundaries only in a UV viewport (not in 3D).

Improved

Objects and geometry nodes now have a separate Pivot Rotate parameter to rotate the geometry’s local axes. Previously, it was only possible to translate the local axes. Rotating the local frame of reference can make it easier to animate along non-axis-aligned directions.

The interactive pivot handle now allows rotation as well as translation. (Press Ins or ' to switch to the pivot handle.)

Improved

Many improvements to Alembic loading and saving.

Improved

New parameter on Repack SOP lets you convert packed fragments to regular packed primitives.

Improved

The grouping syntax now accepts .r/.g/.b and .u/.v in addition to .x/.y/.z for attribute component comparison. For example @Cd.r>0.1.

Improved

The Assemble SOP now has controls to transfer groups as well as attributes.

Improved

The Sequence Blend has been redesigned, is compile-able, and supports smooth attribute interpolation.

Improved

The Tube SOP now has an option to generate the minimal axis-aligned cylinder that contains all the points in the input geometry.

Improved

In the Add SOP, adding polygons "by attribute" is now faster.

Changed

The Subdivide SOP now uses OpenSubdiv 3.x, which is 2× faster. Changed some parameter names to better reflect how they work with the OpenSubdiv implementation.

Changed

In geometry node group fields, * now means "match everything", and !* means "match nothing". Previously, * meant "match anything in a named group", which is now ?*.

Changed

The File Cache node’s Pack using expanded/absolute file paths parameter is now on by default to match the File SOP.

Changed

Removed the For Each subnet.

Volumes, height fields, and terrain

New

Heightfield Patch smoothly "pastes" a feature from one height field into another.

Improved

Heightfield Blur can now blend the edges when the blur is masked. This fixes any big discontinuities along the mask edges that might be created if the mask is not feathered.

New

Volume Patch SOP smoothly "pastes" a feature from one volume into another.

Improved

Edge detection added to Volume Analysis SOP. This currently supports both Sobel and Prewitt edge detection.

Textures and UVs

New

New features in the viewport and in texture SOPs to support arbitrary UV attributes.

  • In the UV viewport the "camera" menu on the right is now replaced with a UV menu containing texture-related functions.

  • You can now specify an attribute as being meant for UVs. This makes the attribute show up in various lists of UV attributes in the UI.

  • You can now view different UV attributes in the UV viewport.

  • Most UV-related SOPs have been updated with a parameter to let you choose which UV attribute to operate on.

  • When you work interactively in the viewport, UV operations automatically use the UV attribute of the previous node.

New

You can now choose the UV viewport background image from a list of associated textures/materials in the UV menu.

The background image now works with UDIM and UVtile maps.

Improved

Better UV generation on Poly Extrude and Poly Bridge nodes. You can now automatically generate linear texture maps for bridges and extruded side polygons for every existing texture attribute, with control over island scale and shape.

Improved

You can now select points when displaying vertex UVs in the UV viewport.

Improved

The UV viewport only shows the current/selected object when you are at the object level.

Improved

UV Layout node now has very fast optimal packing with support for packing inside holes and rotational fitting.

Improved

The file browser’s Show sequences as one entry option now works with UDIM and UVTile filenames.

Improved

The color visualizer can now visualize "texture distortion" directly. This visualizer is now available in the UV viewport’s UV menu.

Previously the visualizer relied on the UV Flatten SOP generating a distort attribute. That attribute is no longer generated.

Changed

With the new built-in support for multiple texture attributes, the Layer SOP is now deprecated. If you were using it to swap other attributes, use Attribute Swap instead.

Shading and rendering

New

New Rounded edge parameter on Principled shader and Classic shader, based on new Rounded Edge VOP creates the appearance of rounding along a hard polygonal edge, with optional dirt masks.

Art courtesy of Magnus Larsson

New

New options in the render view’s bottom toolbar let you easily save the image to a file, and/or auto-save the image at intervals as it renders.

New

Cryptomatte support in rendering and compositing.

Improved

More refinement of new material workflow introduced in Houdini 16.

Improved

Dramatically reduced indirect specular noise.

Improved

Much faster rendering of nested procedurals and packed primitives.

Improved

Improved sampling of PBR lights.

Improved

Improved flipbooking.

  • Flipbook all viewports in the view as a single image.

  • Filter what object types appears in the flipbook.

  • Flipbook to MPlay and disk at the same time.

  • The frame range setting now has a menu with common presets.

  • Option to leave the playhead at the last frame when done flipbooking (to make it easier to concatenate different sequences into one flipbook).

New

New Volume quality parameter on the Mantra node to control indirect volume bounces.

New

PBR Single Scatter VOP is a much faster but less accurate single-lobe sub-surface scattering (SSS). This is useful whenever speed is more important than the highest quality. Single scatter is now available as an option on the Principled shader and Classic shader.

New

imgsave command to allow saving to disk in MPlay and Houdini.

Improved

The Classic shader now has an option to use packed primitive alpha (Alpha attribute). Previously it always used point alpha, and this is still the default.

Improved

Faster texture baking.

Improved

Simplified the LUT/gamma/ICIO interface in the color correction toolbar.

Improved

New -t option to render a specific tile in mantra makes it easy to distribute rendering of a single frame.

Improved

PBR subsurface scattering is now evaluated during direct lighting. It no longer relies on indirect bounces.

Improved

Updated to OpenSubdiv 3.1.

Improved

The Cusp Angle for Vertex Normals detail property can now control the cusp angle for automatic vertex normals in geometry in Mantra. Previously this only worked in the 3D view.

Changed

The Principled Shader now multiplies any alpha in the opacity texture with the color values, just like the Classic Shader.

Changed

Houdini now ignores camera scaling by default when rendering. If you are actually using camera scaling, you can add the Remove Camera Scale property and turn it off.

Fixed

Mantra’s default surface shader (the shader used when a surface has no explicit shader) now uses an Alpha attribute on the geometry if it exists. This matches how the 3D view works.

Crowds

New

New Partial Ragdoll settings on the Crowd State node lets you specify a named group of joints to ragdoll (for example, only ragdoll from the waist up).

New

Agent Relationship SOP creates hierarchical relationships between agents (for example, rider parented to horse).

New

New "Motors" settings on the Crowd State node let a ragdoll character still put a certain amount of effort into moving its joints according to an animation clip.

Improved

You can now set agents to partially rag-doll on the Crowd State node. You can set a named set of joints to rag-doll, and/or you can specify that joints try to follow their animation clip but also react to RBD collisions.

Improved

New stiffness settings on Crowd State node prevent loosely swinging limbs on ragdolls.

Improved

Agent FBX Import now creates extra channels in the animation clip for user-defined properties.

New

Agent Arcing Clip Layer DOP blends between a set of clips based on the agent’s turn rate and direction, for smarter quadruped terrain adaptation and banking.

Improved

The Agent Clip Transition Graph SOP has new options to automatically compute transition points between clips, making it much less work to set up smooth transitions between clips.

Improved

You can now use Agent Edit SOP interactively in the 3D view. Agent Edit can now adjust transforms in the agent’s local space instead of world space. You can now adjust a joint’s scale transform. Agent Edit can now use VEXpressions to vary the transform parameters for each agent.

Improved

There is now an option on the Agent Layer SOP to filter which shape bindings to copy.

Improved

The Agent CHOP can now create a clip from an agent’s transforms.

Improved

Agent Terrain Adaptation SOP now has an option to disable adaptations that use an underling DOP simulation (such as foot locking and leaning). When this option is off, the node switches to a stateless implementation that allows fast preview and scrubbing.

Fixed

If an agent "transitions" to the same clip (without a transition graph), the clip will now continue instead of resetting to the first frame.

Character

New

New Motion Path handle in the pose tool lets you view and edit an object’s path through space over time.

New

Quadruped and Basic Head autorigs.

New

Added a shelf tool and object node for importing Acclaim motion capture data.

Improved

Objects now have a separate Pivot Rotate parameter to rotate the geometry’s local axes, for better animation control. Press Ins or ' to switch to the pivot handle.

Improved

Enhanced X-ray display and better selection of X-ray objects.

Improved

Big improvements to the beta muscle and flesh system.

  • Comprehensive non-simulated and simulated workflows.

  • Advanced Muscle asset.

  • Muscles can be imported as deforming geometry or simulated with flesh system.

  • Density-based FEM constraint regions.

  • Anisotropic FEM fibre contraction.

Improved

Improvements to Pose Library interface, including baking.

Improved

Refinements to the CHOP-based animation constraint system introduced in Houdini 16.

Improved

Pose tool promoted to toolbox on left side of viewer pane.

Improved

Improved Align Capture Pose tool.

Improved

You can now choose whether FBX export creates an extra root for the Export node’s subnetwork.

Network editor

New

You can now save you node type color and shape assignments as a theme, and switch between themes.

New

New node badges: "bone object has kinematics", "node has take data", and "node needs to cook".

New

New badge options. The comment and descriptive parameter are now treated as text badges. Text badges have more options such as to show full text for the selected nodes, but abbreviated text for unselected nodes.

Improved

Smarter multi-wiring. During a wiring operation, you can Shift-click other inputs/outputs to add them to the operation. If you are wiring multiple inputs and Alt-click in space Houdini will create a dot. If you are wiring multiple outputs and Alt-click in space, Houdini will create a Merge node and continue wiring the merged output.

Improved

Hold ⌃ Ctrl when minimizing/restoring a network box to move other nodes around the netbox to account for its new size.

Improved

When a node inside a minimized netbox is selected, the netbox is highlighted and the name of the node is drawn next to it.

Improved

Many improvements to the Find dialog. Improved performance. Pin the dialog to have multiple Find dialogs open. Optional recursive search of child nodes. You can now search by the raw textual contents of parameters (for example, you can search for uses of specific variables or expression functions).

Improved

Nodes with required inputs now have a red triangle drawn above the input as a visual hint.

Improved

You can now hold S to enter a "select-only" mode. While you hold the key down, clicking and dragging will only select. This makes it easy to select nodes without worrying about moving the node or accidentally clicking wires, flags, or other UI.

Improved

You can now ⌃ Ctrl + ⇧ Shift + click nodes to toggle selected/unselected, as you can with items in the 3D view.

Improved

The network editor toolbar now has a button to show or hide the node palette.

Improved

Faster display of representative parameter text badges.

Improved

Improved

The labels in the top left and right corners of the network editor are now generated by a replaceable script (PATH/python2.7libs/nodegraphtitle.py)

Improved

The network editor will now look for PATH/python2.7libs/nodegraphhooks.py and import it. This provides a standard place for expert users to hook into network editor events. See extending the network editor for more information.

Changed

Quick marks are now saved with the scene file.

Developer

Added HDK examples for providing custom icon or text badges in the $HT/sampels/OPUI directory.

Parameter editor

New

Click the search icon in the parameter editor to show the filter and search toolbar.

New

You can now right-click a parameter and use items in the Reference submenu to create references in the parameter to other parameters, local variables, or geometry transforms using a chooser interface.

Improved

Tabs that contain off-default parameters are now bolded.

Improved

Tabs and multi-parms now have Disable when and Hide when options in the type properties editor, allowing an asset author to hide or disable them based on other parameter values.

Improved

The parameter editor’s gear menu is now in the customizable XML format ($HFS/ParmGearMenu.xml).

Changed

⌃ Ctrl + ⌫ Backspace in a text field now deletes the word before the cursor. ⌃ Ctrl + Delete deletes the word after the cursor.

Dynamics and effects

See also what’s new in fluids.

New

New Constrain Region tool on the Solid shelf welds two solid (FEM) objects together where they overlap. This lets you union two shapes, or pull one solid by manipulating another solid constrained to it.

New

New Visualize Finite Element tool on the Solid shelf colors tets to visualize properties such as energy level or tetrahedron quality. It can also hide part of a solid object to allow you to see the tets inside.

New

Volume Optical Flow SOP generates an advection field from the motion in a video source.

New

New, faster Bullet constraint solver.

The Use parallel constraint solver is replaced with a menu to choose the new replacement solver or the old default solver. The old solver works well in specific situations (for example ragdolls that aren’t piled on each other) but ends up being essentially single-threaded in most scenarios like a building collapse.

Improved

You can now attach constraint network geometry as subdata instead of as a relationship.

Improved

Added a Solver Tolerance parameter to the Bullet solver to let the solver stop early if it is "close enough". The Bullet solver now always outputs force, torque, distance, and angle attributes.

New

New Constraint Network Visualization DOP draws guide geometry representing relationship or geometry subdata.

Improved

The FEM solver now generates attributes containing information about forces and collisions.

Improved

The Solid and Hybrid objects now display statistics about the computed material properties and distributed soft constraint coefficients. This can be useful when using multiplier attributes.

Improved

Added new options for the Cone Twist constraint’s guide geometry.

Improved

The Constraint Network DOP now has an option to use geometry from the parent DOP network’s inputs.

Changed

Removed the ODE Solver and ODE Configure Object DOPs. ODE is now replaced by the Bullet solver.

The Bake ODE SOP is now deprecated. To set up compound shapes, use the Create Convex Hull Per Set Of Connected Primitives parameter on the RBD object node instead.

Removed the deprecated Glue Network Constraint, Glue Network Relationship, Spring Network Constraint, and Spring Network Relationship nodes. Use Constraint Network instead.

Removed the deprecated Glue Pieces SOP. Use Connect Adjacent Pieces instead.

Changed

For constraint networks, the Bullet solver now skips constraints where the name point attribute is non-empty and does not specify a valid object. To constrain an object to a world space position, use an empty string (@name="").

CHOPs

New

Gamepad CHOP translates game controller inputs into channel data.

New

Mouse3D CHOP translates inputs from a 3D mouse (such as a SpaceMouse) device into channel data.

New

Device Transform CHOP converts device channel data (such as from the Chamepad CHOP) into a transform.

VEX and VOPs

New

VEX now caches compiled function specializations to disk, improving compile times.

You can use the new vexcache command line utility to manage this cache. Use vexcache -h to see its options.

New

VEX now does some just-in-time compilation of imported functions.

You can disable this feature using the $HOUDINI_VEX_JIT_OPTIMIZE environment variable.

Improved

Fast compilation of Unified Noise.

New

New

New Manhattan and Chebyshev noise distance metrics generate different looks.

Improved

Houdini now loads VEX plugins from directories in the new $HOUDINI_VEX_DSO_PATH environment variable, if it exists. You no longer need to list VEX plugins in a separate index file.

Changed

Limit surface evaluation in VEX will give slightly different values. OpenSubdiv 3.0 did not support limit surface evaluation of Houdini vertex attributes.

Houdini will linearly interpolate vertex attributes across the ptex patch until we correct interpolation with the new OpenSubdiv 3.1 version. This may be addressed in a future nightly or production build.

Changed

Removed create_cdf and create_pdf functions.

Fixed

Invert VOP now works on vector2.

Miscellaneous

New

New "Directory" parameter type takes a path to a filesystem directory.

New

You can now add callback scripts for events related to asset libraries and the HIP file. For assets see hou.hda and hou.hdaEventType. For the HIP file see hou.hipFile and hou.hipFileEventType.

New

New hou.Parm.rawValue() method lets you get the actual textual content of a parameter, without evaluation or variable substitution.

Improved

XML menus are now more capable. You can generate an item’s label and control whether it’s disabled with Python snippets.

Improved

You can now use sesictrl to redeem entitlements on the command line without any interactive prompts. Specify your login information using the -A flag and the entitlements as extra arguments to -L. For example:

sesictrl -A "user@company.com" "secret" -L "Houdini FX" "5" "Houdini Core" "5"

Improved

If a parameter menu contains only integers, you can now turn on an option to use the integer values as the menu item tokens instead of the indices.

Improved

You can now create string array attributes with a tuple size greater than 1. String attributes no longer distinguish between null and empty string. There is only empty string, which has string index -1.

Developer

Better HDK documentation and examples.

Developer

Complete insulation of HDK from Boost.

What’s new

Current version

Older versions