Branchomatic

Branchomatic is a new method for building smooth, branching sweeps in Houdini. Currently in Houdini, the Polywire SOP achieves a similar result. However, the branch junctions (areas where multiple branches meet) that Polywire outputs, are both messy geometry wise, and fairly rigid in that they attempt to best match the incoming branch widths. This can lead to far more geometry in the output than is necessary, and prevents smoothing algorithms like Deltamush from properly smoothing these areas.

Along with Branchomatic, included below, is a tool that will build coherent trees based off of the output of the Find Shortest Path SOP (when output geometry is turned off). Unlike the regular output of Find Shortest Path, this approach outputs a fully connected edge network, as opposed to the default, indvidual network traversals, which make meshing difficult. See the example project below for more details.

Features:

  • Smooth branch junctions (smooth areas where multiple branches meet).
  • Primarily vex based (with the exception of the convex hull sop).
  • Processes multiple curvesets in parallel.
  • Uses pscale if available.
  • More stable than Polywire at high pscale sizes.
  • EXPERIMENTAL Triangle Decimation (see below).

Known Issues:

  • If the angle between any two branches at a junction is less than 1 degree, the resulting mesh may contain holes.
  • Some features are based on the scale of the input curves, so try to keep everything around pighead sized.
  • Slower than Polywire.
  • Output geometry may be facing the wrong direction (a Reverse SOP after the meshing will fix this issue.)

Project Files:

Branchomatic HDA

Find Shortest Path To Tree HDA

Example Project File


An example of triangle decimation:

Grid Image