Home Creators Posts Import Register Favorites Logout

Content

As we begin our deep dive into all things Houdini, let's start at the beginning with the interface and a few important workflow concepts.

I'll be using the default Houdini interface, layout and shortcut keys so we're all on the same page. Let's roll!

After launching Houdini we're greeted with a number panes, toolbars and menus. There is a top Menu Bar (1), Shelves with shortcut icons (2), the main Scene View (3D viewport) and associated toolbars (3), a Parameter viewer (4), the Network View where we'll build node trees (5), and, at the bottom, the Playbar for controlling animation playback (6).

Each pane contains a number of tabs. The Geometry Spreadsheet and Animation Editor tabs will see frequent use in this series.

Everything we see grouped together in the main Houdini window is called a Desktop. The default desktop is called Build. There are many other presets, plus we can make our own. The Solaris desktop in particular will be important down the road.

Each desktop preset is configured around streamlining particular tasks. For example, the Modeling desktop brings common modeling activities to the forefront. We'll stick with Build for the time being as it's a good general purpose setup.

Let's look a bit more at how the Houdini interface is constructed. Each tab has an X icon that will close the tab. It's easy to bring a tab back or add a new one by clicking the + icon. Maybe you closed the Geometry Spreadsheet by mistake. To get it back, click on the + and select Geometry Spreadsheet from the New Pane Tab Type > Inspectors flyout menu.

Each section of the interface is collapsible using nearby small arrows. The top menu bar can be collapsed, as can the Shelf, the viewport toolbars, and much more. To bring a collapsed section back, simply click the same arrow again.

Let's keep exploring by adding some geometry. Press the Tab key while mousing over the Scene View or the Network View. Type box and press enter. This will allow us to position either the node in the network view or the outline of the box in the viewport. Simply press enter again to confirm the default initial position.

We now have a cube! Notice that the top toolbar in the viewport has changed to give us access to some parameters related to our new geometry. We can quickly change the size and resolution of the box this way.

The 3D viewport can be navigated just like any other 3D app. Use Alt plus left, middle or right mouse buttons to orbit, pan and zoom. Pressing F (or sometimes Space-F, depending on the context) centers the currently selected object.

When our new box node is selected, the Parameter tab updates to show some relevant options. All box-specific stuff is missing, however.

Why is that? To understand this we have to understand the behavior of the Network View. The address bar in the tab says obj.

This is referred to as "being in obj (object) context." Houdini is set up much using hierarchies much like a file system, with different contexts encompassing different functionality. In /obj context we can perform tasks related to objects, geometry, meshes, animation and simulation. There are other contexts such as /mat for materials, /out for rendering, /tasks for building and executing tasks, etc. Left click to see this dropdown list and switch between contexts:

Our box resides in /obj. It's actually in the "top level" of /obj, meaning it's in the root of the object context. When something is in the top level like this we are only interacting with a container for the actual geometry, hence the parameter pane shows options for adjusting the container of the box, not the box itself. Let's double-click on the box1 node. This is called "diving in" to a node in Houdini parlance.

Now that we're inside our top-level container, the address bar shows a new path, /obj/box1. There is another node here called box1, which is our actual box geometry. Select it and we see a set of parameters specific to box-type geometry. We can choose Primitive Type, Axis Divisions, quads or triangles, and much more.

Let's add a sphere and a tube. Press Tab again, type to search, then press enter to confirm your selections.

Note however that we still only see the box. This is because its blue Display Flag is set. Hover over any node to see various node-related options. We'll cover them all soon, but for now the display flag is what we're interested in.

We can set the display flag on one of the other objects, but only one flag can be set at a time. To see all our objects at once, add a Merge node, wire all three objects into it, and enable its display flag.

Each object is currently occupying the same location in the scene, so let's move them around a bit so they don't overlap. We could do this using the Center parameter on each object, but it's good practice to instead use Transform nodes. This makes it easy to quickly access only the transforms of our objects and keep things neatly organized and modular.

Add a Transform node after the sphere and tube and set their X positions to -2 and 2, respectively. Now we're able to see all our geometry. Select the Tube node and check End Caps to close the tube.

When you change a parameter from its default value, Houdini will bold the parameter name. End Caps is off by default, so it's bold now that we have it turned on.

To further understand the nested, hierarchical nature of our small scene, let's jump back up to the top level of /obj by clicking obj or the back arrow.

The yellow selection highlight shows all three objects are treated as one since we are now interacting with the container.

Let's rename the container from box1 to group so it's more descriptive. Simply double click on the name and type away.

We can transform the container and by extension every object within by altering values in the parameter tab. Let's rotate it 90 degrees around the Y axis.

Looks good, but there's a potential problem. We transformed the Sphere by -2 on the X axis, but it's now at -2 on Z in world space. Essentially, we're seeing two transforms stacked on top of each other. This can lead to a lot of confusion because the container transform is "hidden" in a separate part of the scene. It's generally best avoid modifying the properties of the container. Of course sometimes it's fine to do so, but for now try to keep all transforms only within containers.

Go back to the container's parameters and zero out the rotation. Dive in again and let's do the rotation the right way. Add another transform node after the merge and enable its display flag.

Set the Y rotation to 90 degrees and now we've got a much clearer scene structure.

The source of the rotation of the group is totally clear. You can select other nodes in the tree and modify them while still viewing all three, or you can work on one object in particular by isolating it via its display flag.

This brings us to the number one superpower of Houdini: procedural, non-destructive workflows. In our simple scene every single thing can be changed individually and the entire node tree will be recalculated on the fly. We could swap out the sphere for a torus but keep the the -2 on the X axis transform. We could update the resolution of the cube without affecting anything else. One object could be animated. The sky's the limit! It's immensely powerful.

Moving on, we can save our scene by pressing Ctrl-S or clicking File > Save on the top menu bar. Before doing so, let's talk about how Houdini interacts with the file system using two built-in environment variables: $HIP and $JOB. In Houdini, a $ denotes an environment variable. There are many other built-in variables, such as $F ( the current frame), plus you can define your own.

$HIP points to the folder where the scene file is currently saved. If we save our scene to C:\Houdini\houdini_intro.hip, then the $HIP variable would point to C:\Houdini. If we instead saved to C:\Houdini\scenes\houdini_intro.hip, then $HIP would be C:\Houdini\scenes.

$JOB refers to the working directory for our entire project. Say we saved the scene in the latter location, \scenes, but we wanted to use other asset folders in our project such as C:\Houdini\geo and C:\Houdini\render. We can set $JOB to C:\Houdini in that case to give us easy access to all our project subdirectories. This can be done by clicking Set Project in the File menu and selecting the desired folder.

We can access $HIP and $JOB throughout our project, which is very helpful when referencing geometry or texture files on disk, for example. More on that later!

Finally, note that when we save a scene the file name will be changed to match the Houdini license type. The file houdini_intro.hip will stay unchanged with a full Houdini commercial license, will change to houdini_intro.hiplc for Indie (limited commercial), or houdini_intro.hipnc for Apprentice (non-commercial).

Conclusion

Great! We dipped our toes into the warm Houdini waters and have a good basic understanding of the interface and some essential workflow concepts. Coming up in Part 3 we'll explore the interface more and do some modeling. Stay tuned!

Files

Comments

No comments found for this post.