The Complete Houdini: Modeling (4/x) (Patreon)
Downloads
Some files exceed the archive size limit and weren't saved: 3 files. Please note these limits are in place to keep this site running long term, without costing a fortune. You can favorite the creator though, certain milestones increase the limit.
Content
Houdini offers a complete set of tools for every popular modeling technique: subdivision, curves, booleans, voxels, sculpting, and more. Houdini's procedural, node-based approach can feel a bit clunky when modeling, but the trick is to avoid interacting with nodes as much as possible and model only in the viewport using Radial Menus. In this article we'll create an antique cracked vase using curves, hard surface modeling, booleans, and voxels.
Before we get started, let's touch on Houdini's Radial Menus. In the Radial Menu selection dropdown we can choose from presets focused on specific tasks. For now, let's select Poly Modeling.
We can bring up the Radial Menu in the viewport by holding the shortcut key C and mousing over the various options. Items with an arrow icon (Adjust and Boolean in this case) expand to show further options.
Ok, we're ready to model!
First, let's add a background reference image to the viewport. Switch to the Front orthographic view (shortcut Space-3). Press D to bring up Display Options. We can add an image under the Background tab. Change the scale and other parameters as desired.
Next, create an empty geometry container in /obj. We'll make an outline of our vase using some of Houdini's curve tools. There is a "freehand" Draw Curve tool that will work, but it's a bit overkill since it makes a ton of points to keep up with every small movement as we draw.
Let's use Bezier curves instead. (Note that Curve, Curve Bezier, Curve Polygon and Curve Spline all create the exact same node, just with a different Primitive Type selected.) Using the Bezier type we can create anchor points and click and drag to bend the curves to outline half of the vase profile. Press Enter when done to lock in your work. Switch to Select/Edit mode using the top toolbar to move points, change a line's curvature and modify anchor point interpolation.
Next, we'll use the Revolve node to spin the curve around 360 degrees to make a three-dimensional vase. When adding nodes in the viewport Houdini will ask you to select an object to apply the action to. In this case, left click on the curve and press Enter. Increase the Divisions using the viewport slider to make the resulting mesh smoother.
Set the Primitive Type to Polygons in the Revolve parameter interface.
Let's do some standard polygonal modeling. Add loops using Edge Loop in the Radial Menu and move or resize components as needed by selecting them and pressing T (move) or E (scale). Double-clicking on an edge will select the entire loop.
Select the top polygons and press delete to Blast them to make a wider mouth to the vase.
We can fill the hole on the bottom using PolyFill (or by checking End Caps in the Revolve parameter interface).
We'll want to Extrude the entire model to create thickness. (Make sure to select Output Back in the Extrude parameter interface so that the resulting mesh is fully enclosed.)
Select edges and Bevel them for a more natural look and better subdivision results.
Turn on Point Snapping to allow us to quickly align components as we move them.
When doing polygonal modeling we'll also need to be able to preview subdivision, as we do by pressing the 3 key in Maya, or Tab in Modo. In Houdini this is done with Shift-= to turn on viewport subdivision and Shift-- to turn it off.
Under the hood, what this is doing is swapping the geometry container's Render > Display As setting between Full Geometry and Subdivision Surface / Curves.
We now have a nice shape for our vase, but it needs some antique-ization! Let's switch over to a boolean modeling workflow to create some interesting details. We'll be making the messiest topology of all time in the process, but that will get fixed later.
Let's create some "crack" and "damage" geometry to intersect with, and subtract from, our vase. Create a few Sphere meshes with very high resolution and then shape them into our desired forms. (I put a temporary merge node here just to be able to see them all together.)
After getting the general shape right we can use Mountain nodes to create surface noise for a broken pottery feeling.
Add Transform nodes to each (former) sphere, then click the pink Template flag on the final node of the current vase node tree. In this case, the last operation I did was PolyBevel, so that node contains the current state of the vase model.
Enabling the Template flag shows us an outline of the vase while we work on other things. Move the new geometry into position. If the gizmo is not centered on each object, right click on it and select Snap To > Centroid.
Add a Boolean node and connect the vase and our first crack/decay mesh. Set the Operation to Subtract and either A-B or B-A, as required. Looks good!
Connect the other booleans. Note that I added a Null to remove the highlighting you get if you have the last boolean node selected. Right away we notice some major topology problems and artifacts.
The first thing we can do is Subdivide the original vase mesh. All our booleans will procedurally update as we work. Here I used the OpenSubdiv Catmull-Clark Algorithm with a Depth of 3. Much better!
Hardcore modelers will want to try manually editing the geometry to remove all n-gons (polygons with 5 or more sides). This is certainly possible using the Poly Split and Point Weld tools, but no matter which modeling app you use this type of work is time-consuming. It will yield the most "perfect" result, though.
For an automated alternative, we could try a simple Remesh, which will triangulate everything we've done so far. This might be fine in many cases, but it can be slow and lead to very heavy geometry.
Another technique to try is Quad Remeshing. Exoside provides a great plugin for this called QuadRemesher, an interface to which is included with Houdini Labs. However, it's a paid addon. For now we can use the new Quad Remesh (Beta) node. There are some ugly edge artifacts here, but with further tweaking it might become useable.
Finally, let's try converting the entire model to a volume. This is a great option when dealing with complex booleans. There are a number of ways to do the conversion, but the easiest is to add a VDB from Polygons node. This will convert the entire model into a signed distance field (SDF), smoothing over artifacts created by our boolean operations. It will look blocky at default settings, so lower the Voxel Size until the details look crisp and the artifacts vanish. Note that going too low will probably crash Houdini, so don't get crazy!
Once we've got a high resolution volume, we can further smooth it using a VDB Smooth node, if needed. We can then reverse the operation and use a Convert VDB to get back into Mesh World.
Increase the Adaptivity to optionally reduce the density in less detailed areas and retain it in others. As a result of the high detail we introduced into the cracks and decay we'll likely not want this to be a super low poly, clean quad type of model. Play around with settings until you find a good compromise between details, smoothness and reasonable poly count.
Now let's get fancy and add some color!
We can start to create the black and orange bands in the reference image using Groups. It's easy to quickly group polygons based on bounding boxes, perfect for the black bands in the vase.
Create a few groups as shown, edit the bounding box shapes, then use a Group Combine to merge them into one group called black.
Add two Color nodes, one for orange and one for black. In the black one, set the Group parameter to the black group.
We can add an Attribute Blur to soften the transition between colors. Set the Attributes parameter to Cd, Houdini's default attribute for color, and adjust the Blurring Iterations to increase the smoothing.
Here's a quick preview render of the finished model in Solaris (we'll get there!), using Cd to set the MaterialX material's base color.
Conclusion
In this article we took a broad look at the diverse set of tools that Houdini provides for modeling. In the process, we touched on many new concepts, drawing on a wide array of techniques to create an interesting finished product. We'll no doubt revisit a lot of these concepts and expand on them in future installments. Stay tuned!