Houdini 13.0 Nodes

interface version 1

An optimized variant of the original Fluid Source SOP.

This is a drop-in replacement of the original Fluid Source SOP – meaning that those nodes can be replaced with the “Change Type” menu item to this node type, and it will produce (almost) the same results. (Make sure to enable “Keep Parameters” when switching the node type.)

This operator is tested and should work in source, sink, pump, collide and expand modes.

Certain internal optimizations are applied, the most important being VDB operators used for volume construction (both scalar/density and velocity).

Parameters

For all parameters not mentioned here, see the Fluid Source SOP documentation.

Enable

A global on/off switch for the node.

Note

For certain modes (e.g. collide field mode) this will not work, and the source has to be disabled in the DOP network.

Division (Voxel) Size

Global voxel size setting.

Size Reduction (%)

A reduction percentage on voxel size. (A value of 0.5 reduces field density – effectively doubling the voxel size, but reducing the number of overall voxels.)

Use Optimizations

If disabled, the original internal mechanisms (non-VDB) will be used. Can be useful for backwards-compatibility testing.

Show Guides

Display guide geometry.

Note

This operator displays velocity fields as guide geometry (so they are only built for display and won’t affect simulation times).

Known incompatibilities

  • Scalar Volumes

    • SDF From Volume

      • “Minimum Distance” doesn’t work (use “Empty Interior” instead)

      • ...

Known issues:

  • Scalar Volumes

    • Fill Interior has to be enabled on vdbfrompolygons if “Empty Interior” is used with Edge Thickness/In Feather Length (or artifacts can appear, esp. with small voxel sizes)

To Do

Goals:

  • refactor it to get rid of all bottlenecks and any unnecessary complexity

  • VDB-ize it as much as possible

  • full parameter compatibility with the original (it should be 100% swappable)

Particulars:

  • “Scale By Source Attribute” –

    • The internal node volumefromattrib_extrap should be removed (slow), and a pointcloud-based volume multiplier should be implemented. (DONE – marginal gain, still a bottleneck)

  • Motion Blur

    • is very slow, should be optimized

    • should support automatic object-level motion detection (just like velocity volumes/object motion)

  • Scalar “slice” vis mode should also be displayed as a guide (but hopefully it’s not as slow as velocity trails)

Release Notes

2014-12-02

UI reorganization:

  • “Container Settings” is called “Advanced Settings”, Particles and Partitioning toggles were moved here, and their tabs are hidden if disabled

  • Various other controls are set to hidden-if-disabled to reduce UI clutter

2014-11-13
  • Bug fix: empty input geo will result in an empty output geometry (instead of a single-voxel volume at the origin).

2014-10-29
  • Velocity field guides were shown for disabled fields – fixed.

  • Scalar fields: added per-field smoke visualization density parameter

  • Scalar fields: added “VDB From Points” method

2014-10-21

Rearranged Division Size parameters, so there's...

  • a single overall size parameter (Division (Voxel) Size)

  • an overall size reduction parameter

  • additional size reduction params for both scalar and vector fields

Field generation –

  • there’s an additional “enabled” switch for each field

Added “VDB From Points” to vel field generation

Velocity field visualization changes –

  • “smoke” is switched to rainbow

  • “streamers” are now displayed as guide geometry (this won’t slow down emitter generation if streamer visualization is forgotten as enabled)

  • NOTE: streamer guide generation is now slower than necessary, this should be fixed

2014-10-19

Started working on first version.