Learning Houdini Journal 06 - Expressions and Workflow

Dec 06, 2015 at 12:31 am by -gToon

This is the sixth entry of what will be a year-long journal on learning the 3D application Houdini, created by Side Effects Software. Houdini is a sophisticated application that is widely used in the production of visual effects for Hollywood films such as Big Hero 6, Mad Max: Fury Road and many others.

In my previous Learning Houdini Journal 5, I discussed my progress with Polygonal modeling in the Pluralsight course I'm following along with some insights into Expressions and Houdini workflow

Polygonal Box Modeling
Great progress in the Pluralsight "Introduction to Houdini 15" tutorial with John Moncrief. Quick reminder that the course of project-based with the end result being a sports car crashing out through a window in a tall building and flying on to the highway. The modeling I've been doing is primarily on the wheels with the car (a more complex modeling job) being a course asset that you import to the project.

Course Finish
final image of the Intro to Houdini 15 course

I learned about the two types of basic modeling: Box up modeling and Curve Up modeling. Box Up modeling is where you start with a primitive shape (sphere, box, cone, torus, etc) and then build the model by extruding, extending, cutting and shaping your basic shape. The Curve up is similar but uses a line or curve that you create geometry from. It's more complex than that, but I'm doing basic Box UP modeling so I'll focus on that.

I learned the Bridge Node, Cap Node, Transform Node, Edit Node, Extrude Node and finally the Merge Node. All of these are found in the main shelf under the Polygonal tab in the Houdini interface. They can also be invoked using Tab>Select Node Type>Place in Network quite easily. Houdini makes it very easy to work either directly in the network pane or, if you select a specific node tool on the shelf (like Extrude) it will automatically lay the node down and link it in the network you've created. Pretty neat.

It occurred to me while working on the wheel using the various nodes that perhaps modeling and other activities in Houdini 15 are a combination of direct selection of tools and laying down specific nodes in the network you've created. We'll see if this idea proves to be true as I get better and using Houdini 15

Expressions
A completely new function/term came up while following the Intro tutorial: Expressions. Here's how the H15 manual explains them:

You can enter short bits of code, like mathematical expressions, in parameters to compute their values using math and variables such as the current frame number, the point number, random numbers, and so on. For example, to make a sphere rise over time without having to manually keyframe it, you could set its Y Position to equal the frame number divided by 5. -Houdini 15 manual

Although somewhat dry, this is an accurate description. My instructor, John Moncrief, laid it out while we were trying to copy one parameter from a node to another parameter. Expressions (i.e. parameter expressions) was the way it worked. Expressions are created using Hscript (default), python or VEX. I suspect Expressions will become more important as I progress in Houdini.

parameter expressions
The parameter expressions page of the Houdini 15 manual

Understanding Procedural Workflow
It became evident to me that the node-based workflow in Houdini is extremely powerful AND radically different from workflow in most other 3D applications. The tutorial has you create two large-scale node networks; the actual wheel assembly plus the car itself. When the wheel modeling was complete, we used a Merge Node to bring the two together as a whole. Although it was a simple concept, it was a revelation to me because I immediately understood that you could create a vast network of nodes for a variety of elements in your scene, work on them independently then when they are complete, join them by merging the nodes together.

I was also quite interested to see how to take a long string of nodes in a network and create a large overall node to contain them which makes for much easier use both practically and visually in the network pane. However, an interesting problem came as a result of the merge of the wheel and car node networks: we had problems with normals and uvs. One side of the network had normals, but the other side didn't so the merge node had stripes across the center indicating something wasn't right. Middle-click the node and you can see exactly what the problem is and take steps to fix them. When you get both sides with the same attributes, then the red lines disappear and you can move on.

Repeat Remember Repeat
Honestly, I'm really following John Moncrief's lead more than getting all of this down. I'm going to half to repeat these processes and techniques many times before they become second nature. But, I have to say, I'm beginning to understand the logic behind Houdini and that makes a big difference.

My Houdini learning setup
My Houdini learning set up: laptop with the tutorials and my workstation with Houdini 15


PS: Cyber-Monday was great for Houdini learning. I picked up Rohan Dalvi's "Tea and Cookies' Houdini course for 40% off. Thanks, Rohan!

Next: Finishing up the Introduction to Houdini 15 course.


Imagine your best photo ever