Houdini 16.5 What’s new What was new in Houdini 15

What’s new in Houdini 15 User experience

On this page

Scene view

Display quality

New

GGX and PBR in the viewport. More to come in future releases.

New

The viewport now displays mitred joints on open curves with thickness.

Changed

In "Normal" lighting quality, environment lights now provide an ambient lighting factor.

Fixed

Improved hair shading in the viewport. Hair shading is now on by default on the Fur object. Hair thickness, subdivision curves, and hair shadows display properly in the viewport’s high quality display mode.

Fixed

High quality lighting mode again supports and unlimited number of lights.

Fixed

Normal quality lighting will now display lighting from an environment light with an environment map. This is currently limited to one light. The Roughness parameter controls the blurriness of the map.

Fixed

Default Phong/Lambert lighting models in the viewport are now more energy preserving. Specular highlights will look more subtle overall.

Textures

New

The viewport can now display UDIM textures. If an object’s OGL Texture parameter has %(UDIM)d or %(UDIM)2d in the string, it will be treated as a UDIM texture. For example, instead of /path/to/texture1001.exr, you would use /path/to/texture/texture%(UDIM)d.exr.

New

The viewport can also display Mari-style tiled textures. You can use %(U)d_%(V)d or %(UVTILE)d.

New

New options in the display options to highlight geometry/UV boundaries, and highlight overlapping UVs.

New

The viewport can now display world-space normal maps.

Tab menu

New

In the ⇥ Tab menu you can press ⌃ Ctrl + Enter to invoke the highlighted tool in the same way as ⌃ Ctrl-clicking a tool on the shelf. For example, pressing ⌃ Ctrl + Enter on the Sphere tool will create the sphere immediately at the origin instead of entering a placement mode.

Visualizers

New visualizers

New

Volume visualizer displays a color map or vectors showing the values along a slice of a volume.

New

Tag visualizer displays a label pointing to the target. You can set the label to be visible even when the target is outside the view. This is useful for keeping track of light names.

Visualizers tab

New

When a visualizer is attached to a node, a Visualizers tab appears in the node’s parameters containing the visualizer controls.

Quick visualization

New

You can hover over a geometry node, dynamics node, or VOP output and press X to attach a visualization node to it. Pressing X on something else in the network moves the visualization node. This is a quick way to move through the network inspecting geometry.

New options

New

Added a menu of ramp presets to the color visualizer interface.

New

Added options to the marker visualizer:

  • Color vectors and vector trails by vector values, vector directions, or a second attribute (for example Cd). This supports converting multi-component values, and mapping onto a ramp.

  • Color point trails by vector values, direction, or an attribute.

  • Normalized vector lengths.

  • New Unit length parameter makes it easier to distinguish between per-frame and per-second unit vectors.

  • In the axes visualization style, you can now enter a space-separated list of three vector attribute names in the Attribute field. The three barbs of the axis will align to the three vectors. Other styles ignore all but the first name.

Improvements

Fixed

The default attribute type is now "Auto", which guesses the attribute type from the name. This means you only have to change it if you have two different types of attribute with the same name.

Fixed

A higher-priority visualizers will no longer override other visualizers (or Cd) if the attribute it’s visualizing does not exist.

Network and parameters

Match transform

New

Objects now have buttons in the parameter editor to copy the position, rotation, scale, and pivot from another object in the viewport.

@ syntax

New

There are now @attribute alternatives to all local variables. For example, you can use @P.y instead of $Y, @Cd.r to get the red component, and @name to get the name string.

Changed

@Frame is now a floating point value, to match the VEX equivalent.

Fixed

@Frame and @Time now work properly in nodes that don’t have local variables.

Auto connect

New

In the ⇥ Tab menu you can press ⇧ Shift + Enter on the highlighted node to automatically place it and append it to the previously selected node.

Context menu

Changed

The context menu for nodes has been reorganized using submenus to hide infrequently used options, making the menu much smaller.

You can copy $HFS/houdini/OPmenu.xml into your user preferences folder and edit it to customize the context menu. See the [menu configuration XML format||/basics/config_menus].

Digital assets

Black box

New

You can now create "black box" assets that can be freely distributed and used without a license, but cannot be inspected or modified. Select an instance of an asset and choose Assets ▸ Create black-boxed asset.

Show on connect

New

The Disable when and Hide when syntax now supports the pseudo-functions ninputs() and hasinput(n) to allow hiding/disabling depending on whether an input is wired.

.hda

Changed

Houdini now saves asset libraries with a .hda extension instead of .otl. Houdini still recognizes and loads files with the old extension.

(Setting the HOUDINI_USE_OTL_AS_DEFAULT_HDA_EXT environment variable will restore the old .otl extension. This is a temporary stop-gap for studios that have infrastructure that relies on the old extension.)

User data

Developer

You can use the hou.HDADefinition.setUserInfo() and hou.HDADefinition.userInfo() methods to store and retrieve arbitrary text data on an asset. This might be more convenient than using a section. Note that adding user info will make an asset unreadable by earlier versions of Houdini.

Customization

Python panels

New

Python panels can now use hou.ui.createQtIcon() to access Houdini icons as QIcons.

New

Python panels now support drag and drop from Houdini into the panel.

Changed

The menu of available pane types now includes Python panels.

New parameter type

New

This version of Houdini introduces initial support for a "data" parameter type you can use to store binary data in a node. For example, the Curve Groom SOP uses this to store stroke data.

HDK

Developer

HDK plugins can now register mouse hooks in the viewport.

Other changes and improvements

Tree view

Fixed

You can now select multiple items (in the same network) in the tree view.

Handles

Changed

By default, rotation ring handles that are straight on to the view are no longer drawn. You can turn off Hide rotate handle rings parallel to the view direction in the Handles preferences to disable this.

Group list

Fixed

You can now use numeric ranges and attribute expressions (such as @area>0.1) in the group mask field.

Deprecation

Changed

Houdini will now display a warning if you load a scene file containing deprecated nodes (nodes that we intend to remove from Houdini in a future version). You can turn this off in the "Save and Load" preferences.

Expression literals

New

You can now use _ as a number separator in Houdini expressions, for example rand(1_000_000), to make long numbers more readable.

Version number

New

The version number is now part of the application icon.

New

A new environment variable $HOUDINI_VERSION contains the full version number (for example 15.0.123).

Changed

The viewport no longer displays environment maps as background images for light types other than Environment.

Misc

New

The hgpuinfo utility prints information about OpenGL and OpenCL support on the current machine. You can also test for feature support using the exit code.

Changed

The Cache SOP generates a warning if you try to cache packed primitives in point mode.

Changed

Re-enabled checks for stereo framebuffer support and quad buffer stereo mode.

Changed

Houdini now assumes parameters starting with stdswitcher are auto-generated folder parameters, so it doesn’t consider their deletion or change as changes to the asset.

Fixed

Distance lights in the viewport now properly ignore attenuation.

Fixed

Instanced geometry that’s animated at the geometry level now updates properly in the viewport.

Fixed

Adaptive subdivision surfaces now look correct in "wireframe ghost" and "hidden line invisible" display modes.

Fixed

Dragging in the viewport now works with distance handles.

Fixed

The Attribute class option for visualizers now defaults to "Auto", which figures out the type of the attribute based on the name, so you shouldn’t have to change it unless you have two different types of attributes (for example point and primitive) with the same name.

Fixed

HUD sliders now work in the UV viewport.

Fixed

The viewport now returns to the previous state after the user uses the reselect button on a group parameter.

Fixed

Fixed display of multiple selections (for example, where a tool asks for a set of "source" primitives and then a set of "destination" primitives) when using modeling tools in the viewport.

Fixed

The "Lock camera/light to view" button to the right of the viewport now affects all linked viewports with a camera.

Fixed

Point trails now work on packed fragments.

Fixed

Fixed display of bump maps with XY deltas.

Fixed

Improved startup times by caching information about plugins.

Fixed

The Assets menu now lists assets from read-only libraries.

Fixed

The level of detail display option is now saved in the .hip file.

What was new in Houdini 15