Cracked stone letters 'DP' breaking through grass

Houdini 19.5: I/O – UI – RBD -FLIP – PYRO – UX ..

There are no completely new features in the Houdini 19.5 update this time. Rather, there are fundamental revisions to the most important functionalities of Houdini: RBD Rigid Body Dynamics and Fluids Simulations. I/O, i.e. input & output, is another topic that extends across all tools. And as expected, there are some user interface standardisations and improvements – especially in the interactive tools. Let’s dive right in!

And here’s the beta disclaimer: This article was written before the release of H19.5, so something may have changed..

Rigid Body Dynamics – RBD

It’s getting down to the nitty gritty! RBD is what Houdini is best known for – rigid body simulations. Usually, but not always, to break something. Many of the RBD nodes have been given a tidy new user interface. The parameters are now organised in logical tabs and panels. Rarely used parameters have been “hidden” so that they are not in the way and distracting.

Even more important, however, is the new workflow. Parameters should no longer be set in the solver but in separate “Configure” nodes (e.g. “RBD Configure”). Import and export nodes have been have been adapted to each other and are structured in the same way as the I/O nodes of other solvers, for example the Pyrosolver. The other I/O improvements are not so obvious, as they are more about speed improvements under the bonnet and better handling of inputs and outputs.

RBD I/O 2.0

In Houdini, data, be it geometry or animation, is always outsourced wherever possible. Of course, this also applies to simulation data, proxies and constraints. Geo, proxy geo and constraints can now also be written together in a single file. “RBD I/O” makes it easier to name this data, select the path and folder and create version numbers. In the past, Houdini users had to build this functionality themselves or the Studio pipeline developed tools for it. The file name and path are therefore made up of parts and these can also be variables. In Houdini, $HIP is the path where the Houdini Scene *.hip is saved. All this already exists here and there outside of RBD in Houdini, now this naming workflow is also implemented for RBD. Furthermore, the fourth input of the node is now exclusively for Simulation Points (instead of Geometry and Points in previous versions).

DOP I/O – DOP Import 2.0

The new 2.0 version is of course faster and has a tidier UI. The improvement in speed is particularly noticeable in large scenes, such as crowd animations. And here, too, there is now the Quick Setup drop-down menu in the UI with 2 selection options: “Transform High-Res Geometry” and “Cache Simulation”.

RBD Material Fracture: Performance and memory improvements here too. If, for example, two pieces of wood that are in a group (selection), but also 100 units that are far apart, were to be transformed into wood splinters, this took ages. Now such a scenario is much quicker.

RBD Transform: “RBD Transform” was added in response to numerous user requests and makes it easier to place RBDs. It is similar to the normal Transform Node, but has the three inputs and outputs required for RBD (High-Res Geometry, Constraints, and Proxy Geometry). RBD Match Transforms: With RBD Match Transforms, manual adjustments to individual fragments of an RBD simulation can be included in the stream again. UX improvements: RBD Constraints from Curves and RBD Constraints from Lines
now have a nice HUD.

Diagram illustrating data processing components and flow.
RBD Match Transforms: With RBD Match Transforms, manual adjustments of individual fragments of an RBD simulation can be included in the stream again.

Pyro & FLIP Fluids

FLIP solvers are hybrid solvers that use both particles and volumes for simulation. These FLIP fluids are not new per se – but they are now also available in the SOP context. That’s awesome!
SOP-based FLIP fluids enable fast, simple setups that no longer require sending back and forth between SOP and DOP. In the past, this has made many things technically difficult to understand and cumbersome. This is now a thing of the past and – I repeat – very cool!
In addition, new methods have been introduced that simplify the addition and removal (source/sink) of particles. The simulation container, i.e. the area in which the simulation is to take place, can not only be a box, but also a cylinder or a sphere. Even deforming animated shapes are possible. There are also presets for temperature, viscosity, beach waves, oceans and melting rubber animals.

A flowchart showing nodes for fluid simulation in a software interface, including FLIP Container, fluidcompress, and particlefluidsurface.
The node network of the melting rubber animal preset.

Pyro

The “Pyro Sources SOP” can generate pyro instances which are distributed to scattered points – for example for very large explosions, dusty storms or forest fires. Compared to before, these can now be different sources at the same time. The timing of the ignition and the transformation can be adjusted. The whole thing can also be realised with a special packed workflow, the Pyro Source Pack. Pyro Spawn Sources and Pyro Source Instance Operators enable an even more flexible workflow. The new Pyro Spawn Sources and The Pyro Source Instance SOPs create and instantiate spawn points. And Houdini Pyro Simulations have GPU-accelerated noise.
KineFX and Channels (CHOPs)

KineFX, the rigging and animation framework and toolset freshly introduced in Houdini 19, mainly gets many detail improvements. But also new functions in the area of UI and user-friendliness. I/O is also a big topic here again.

Animation options settings window with various sliders and checkboxes.

Animation

In the area of character animation and rigged animation with skeletons, H19.5 contains a huge number of detailed improvements to the MotionClip SOP, the MotionClip Extract SOP, the MotionClip Pose Delete SOP, the Rig Pose SOP, Rig Match Pose SOP, etc. Some of the improvements here with a little more detail.

MotionClip SOP Viewport State

SOP nodes that output motion clips can now visualise these clips to display movements or poses. A freely selectable colour gradient can be chosen to represent time. The current frame is also highlighted (or “highlighted”? What a word!). This makes it easier to edit rigged animations, be it motion capture data or animations created elsewhere. The whole thing is a so-called ViewPortState, which shows the direction in which Houdini is heading in terms of UI and viewport. It is becoming more and more user-friendly and the basis for this is the development of viewport states.

Frame rate change and key position handling

Frame rates and animation keyframes are closely related. It is annoying if the frame rate has to be changed later for whatever reason. Should the existing keyframes remain at the keyframe number or at the same time? And what happens if there is no frame at all? Should it then be snapped to the next one or should the keyframe be on a subframe? All of this is now easier to set. Any changes to the timings must now be confirmed explicitly and are not carried out automatically as before.

Media control buttons on a toolbar
The timeline can now be switched to subframes. This was already possible before, but was well hidden. Now there is a button for this.

Animation Channels – CHOP

The good old CHOPs also get something new: The Pass Filter CHOP, which filters audio as a control signal for animations, now also gets a Butterworth filter, which is particularly steep and thus enables a more precise frequency separation.

Procedural Rigging

The new Joint Capture Paint SOP replaces the old Capture Layer Paint SOP in the KineFX Capture workflow. There is a Rig Tree in the UI, and some new viewport states. A new Point Capture SOP, Character Blend Shape Channels SOP. Since it would go beyond the scope of this article, here is a list of the Procedural Rigging SOPS that have been improved: Attach Joint Geo SOP, Joint Capture Biharmonic SOP, Character Blend Shapes Add SOP, Character Blend Shapes Extract SOP, MotionClip SOP, MotionClip Extract SOP, MotionClip Pose Delete SOP, Rig Pose SOP, Rig Match Pose SOP, Blend Shapes SOP, Rig Doctor SOP, Orient Joints SOP, Visualise Rig SOP and if I’ve missed any I apologise. Procedural rigging is obviously an important topic. Unfortunately, it’s a bit neglected in this article, but we’ll make up for it!

Input/Output

A lot is really happening with regard to I/O in the H19.5 release. I/O is getting the attention it deserves. There is a special character I/O SOP with motion clip support. FBX support for characters has been improved. “Dem Bones Skinning Converter” is not a band name, but a converter to turn animations with geometries that have no topology changes into bones animations. The USD Skin Import SOP, Mocap Stream SOP have been improved. And something with Qualisys.

3D terrain map with blue water body and green vegetation
2D Heightfield Fluids – also called “The Fountain Tool”. Fancy a relaxed ripple?

Still water is new! The Shallow Water Solver

The new Shallow Water Solver SOP is another small highlight in H19.5. What was that? “Still waters run deep” is not true here. Still or little moving water, i.e. without breaking waves or splashes, can now be displayed in Houdini as a 2.5D heightfield (like the terrains). In the example, the water flows down a mountain. Sources and outflows are defined by masks. And moving objects can also displace the water. The “Shallow Water Solver SOP” is not suitable for complex water, but that’s what Vellum and Flip are for.

Blue figure on a green surface with a curved edge
Roberto the rubber animal on a long journey and drives a bow wave over a 2D heightfield fluid.

Oceans

On most computers, Houdini uses the FT implementation from Intel’s MKL library in the “VolumeFFT SOP” and Ocean_sample VEX function. This is much faster at 4K Ocean Spectrum resolutions. And Ocean Rendering in Karma CPU is made possible. Yeah..

Solaris

Solaris is Houdini’s scene layout, lighting and rendering tools. Solaris is based on the Universal Scene Description (USD) framework from Pixar. Several interface improvements, for example in the render settings and some new nodes, ensure that Solaris, which was introduced in H18 (end of 2019), is slowly emerging from the early adopter/ beta feeling. Look development, material library, rendering, caching and import and export are also being optimised. The new Houdini Procedurals Hair LOP generates rendertime hair from guide curves and skin prims. And the Houdini Preview Procedurals LOP enables interactive previews of the procedures.

A row of colorful icons representing different actions like combine, delete, fill, and stack, displayed on a dark background.
The Solaris – Layout LOP tools make interactive scene layout possible. And the icons are worth more than a thousand words.

Other new Solaris Nodes are:
Reference 2.0 LOP, Edit Prototypes LOP, Isolate Scene LOP for Solaris stuff
Light Filter Library LOP for Karma Light Filter Shaders and MaterialX nodes.
Motion Blur LOP, File Cache LOP, Match Size LOP – Matching and centring of prims and models.
Cache 2.0 LOP – efficient caching of subframe samples.
Coordinate System LOP – coordinate systems.
Karma Cryptomatte LOP – Cryptomatte AOVs for Karma.
Karma Ocean LOP – Rendered Ocean Spectra and foam with Karma CPU.
Scene assembly and layout

Again some detail improvements: The Layout LOP now also has a stack and a paint brush. Houdini is on the way to providing interactive tools for set dressing and scene layout. Houdini wants to be not only procedural but also art-directible and artist-friendly. It will be!

Karma

Karma is Houdini’s own renderer, which works together with Solaris and will probably eventually replace Mantra. Some of the new features have therefore already been mentioned in the Solaris section. As you would expect, Karma has become faster. The highlight with regard to Karma is a first version of the “Karma User Guide”, with tips and tricks for optimising rendering with Karma. As with all new help and user guides, I’m really impressed by the detail and illustrations. This is how documentation works!

Logo with geometric shapes and colorful background
MaterialX Colour Correction Node – test image when night falls.

Shading

The new features in the shading toolset are quickly listed: Principled Shader VOP and Karma Nested Dielectrics VOP now support dielectric materials in MaterialX/Karma. The Karma OCIO Colour Transform VOP transforms colour manually, and Karma Ray Import VOP imports ray variables for MaterialX shading graphs. Karma Volume VOP combines VDF and EDF volumes Karma-friendly, and last but not least Karma Rounded Edge VOP render-time edge rounding and Karma Curvature Surface surface curvature – but both only work with
Karma CPU.

A colorful plastic dinosaur toy in green and pink
MtlX Facing Ratio: Surfaces that are orthogonal to the camera are red, the others are yellow. Something like a FallOff is supposedly softer..

MaterialX

MaterialX is the material counterpart to USD. Not much new and Lama (Material Layer) is unfortunately not yet supported. MtlX Color Correct is a new wrapper to make the MaterialX Colour Correction Nodes more user-friendly. MtlX Facing Ratio is the new node to create a nice soft falloff. The version numbers are now: UsdMtlX update USD 22.05, MaterialX library version 1.38.4.

What’s new PDG/TOPs

PDG (Procedural Dependency Graph) can be used to distribute and process tasks. This can be, for example: rendering, simulation, geometry and landscape generation, Python scripts, connections to other applications (via API) such as render manager, project manager etc. The whole thing works both locally and on other computers and in other apps such as Photoshop or Maya. Python always works anyway, but many things are already well connected.

The Procedural Dependency Graph or TOPs (Task Operators) is certainly the most “exotic” and technically challenging part of Houdini. TOPs was introduced in H17.5 (March 2019). In the meantime, it has become an indispensable part of larger and smaller pipelines. The PDG options for working with USD data have been improved. Error messages for attribute evaluation and the PDG API have been improved. I won’t go into details for reasons (DP is not a programmer magazine and I only understand this to a certain extent).

Global attributes and two nodes are also new: Attribute Promote TOP and Attribute Reduce TOP. TOP Schedulers: The connection from PDG to Deadline, Tractor or even Houdini’s own render manager HQueue, get several “enhancements” in H19.5. TOP Partitioners have been improved in terms of the use of arrays and the partitions can now be sorted by name. The JSON input TOP has been extended.

PDG Services

A cartoon gas station illustration with a red pump and green sign.

The Procedural Dependency Graph Services are something like a process in continuous operation, which can be addressed like a server and which can process “work items”, i.e. jobs. These services can now be created and managed directly in the PDG Graph. There are five new nodes at the start: Service Create, Start, Stop, Delete and the Reset TOP node. The icon is a small petrol station, called “Service Station”. There is now also a Python script service that can be created in the PDG Services window. Also
several PDG services of the same type can now be created and each named differently.

Crowds

There are now new versions of Agent Look At DOP and Agent Look At Apply DOP. The agents now also track point clouds or other agents. The attention span of the agents can be defined – how interesting a target is can depend on the distance, the relative speed or whether it is in the field of view of the agent. The rigs can now be controlled by the agent.

Agents

Agents can now have a “Rest Pose” that is used when animations do not move every joint. The Crowd Solver DOP can now handle animation layers. And other detail improvements.

Vellum

Vellum shape matching simulations are another small highlight. The shape is first filled with spheres of different sizes. The constraints of the spheres are set very hard. These sphere objects are then used to simulate. This is ultra-fast, as they are only spheres. At the end, the sphere objects are then exchanged for the geo again, hence “shape matching”. In order to run these “shape matching” simulations on the GPU, Nvidia Ampere graphics cards (from 30 series) are probably required. Otherwise it has to run on the CPU..

Vellum I/O settings interface in a 3D application.

Vellum I/O 2.0

The Vellum I/O 2.0 node is now like the Pyro, FLIP fluid, and RBD I/O nodes in terms of UI structure, parameters, and basic functionality.

User interface showing Vellum Solver settings in 3D software.

Static topology

In the Vellum Constraints SOP there is the new Static Topology parameter. This makes them static, i.e. they will not slip, break, be removed or welded. This prevents large and dense objects, such as high-resolution tetrahedra, from having to be recalculated (recoloured), even though this would not be necessary.

Vellum Attach Constraints SOP

The new Vellum Attach Constraints is an interactive tool for editing geometry and stitch constraints. Lines can be attached interactively between fabric and target geometry. Very similar to the RBD Constraints from Lines node.

3D spiral model with blue dots in a grid interface
The “hundreds” of spiral HDA tools created by Houdini users on the net are being retired.

Resolution Independent Tetrahedron

Then there is the fact that the tetrahedrons have rehearsed a rebellion and can now change their resolution without changing the simulation much.

Modelling

I had already announced it in the last Houdini release article. Houdini is becoming more interactive. Both TopoTransfer and Curve, the curve tool, are getting significant improvements. For example, better operation with a stylus/pen input as far as Topotransfer is concerned. The Curve tool can now add Orient attributes to points and has better interaction in Bezier with two curves. In addition, rounded edges are much easier to set, and keyboard shortcuts and radial menu are optimised. “Convert Line” can now convert edges into curves, to be found in the “Curve from Edges” shelf.
And there is now a primitive for 2D spirals and 3D helixes that leaves nothing to be desired. Both archimedean and logarithmic spirals are created, left or right turning, with all necessary attributes.

Search options in a software interface.
. Comprehensive search in scene and documentary – with hashtags!

Other news

Python 3.9! And Houdini now supports native fullscreen mode for the poor macOS users. Volumes can be illuminated by environment lights in the viewport. And 15 nodes are now verbified i.e. multithreaded, e.g.: dopimport::2.0, fit, groupsfromname, lidarimport, polywire, pointcapturecore and some kinefx nodes.
And last but not least, there is something completely new: the “Dashbox – An interface for finding things”. This new, nerdy search is to be integrated into other existing search functions in the future (i.e. not yet)… At the moment it is self-sufficient, but a quick keyboard control à la Everything/Autohotkey will certainly be helpful when it is in full use.