What You’ll Learn
Houdini is as full as a centipede’s sock drawer with tools you can use to create incredible artwork. But before you can do that, you’ve got to understand what you’re working with. In this course, we’re clearing up some crucial conundrums – starting with variables, a simple (but highly effective) automation tool. Building on everything we learned about attributes in the previous course, now we’re learning when you should and shouldn’t use variables instead, what the differences and similarities are between the two, and what the deal is with global and local variables.
But that’s not all! We’re sure you’ve heard a lot about VEX, but do you really need to learn to write VEX code to start using Houdini? The short answer is no. We’ll get to VEX in more detail soon, but here we’ll show you how you can do all you need and more using a little thing called VOPs. A brilliant intro to VEX, VOPs are a visual way of using VEX to manipulate attributes and modify geometry. Down the track, you’ll be using them to build shaders and materials, make textures in COPs, and work wonders in other contexts, too. Huzzah!
We’re currently rolling out this course, which means there’s more awesome content still to be announced! Buy it now to get 30% off the full course price. You’ll get immediate access to all the sections we’ve already released, as well as all the remaining sections the second they’re live.
Let’s talk details
Local & Global Variables
Computer programming uses variables all over the place, and so does Houdini. If we think of Houdini as visual programming, then it starts to make sense why there’s so much overlap. In this first section, we’ll look at using variables in HScript to save time through automation. We’ll learn about global variables as a shorthand for constant and changing values that can be used far and wide throughout Houdini, and how local variables are (you guessed it) local to individual nodes.
1. Global Variables as Shorthand for Constant Values
2. Global Variables - A Constant Name for Changing Values
3. Local Variables
4. Global & Local Variables in the Output Context
5. Local Variables Take Precedence Over Global Variables
5 Tutorials 29 Minutes
Local Variables and the Bounding Box
We humans don’t like to be put in boxes, but Houdini loves doing it to geometry. You’ll work with bounding box variables constantly when you’re dealing with geometry, so let’s dig into the fundamentals of what the bounding box is, how we visualise it, and how we quickly view bounding box values. Then we’ll learn how to use local variables on the transform node to create simple, but crucial, procedural workflows.
1. What exactly is the Bounding Box?
2. Min and Max Local Variables on the Transform Node
3. Transform Local Variables and the Match Size Node
4. Using Attributes and Local Variables in Parameter Expressions
5. Relative Bounding Box the Slow Way
5 Tutorials 35 Minutes
VOPs – Running Over Components & Geometry Globals
Like always, this section is about helping you understand the crucial things you need to know and quickly. Grasping the concept of ‘running over’ or ‘looping over’ geometry components is number one on the list for working with VOPs – so let’s start there. A close second is understanding the difference between attributes and variables, so we’ll continue to unpack that great debate as we work our way through the outputs on the geometry VOP global node.
1. Running Over Geometry Components
2. The Position Variable
3. Attribute Inputs & Outputs and Data Type Colours
4. Time Global Variables and Converting from Float to Vector
4 Tutorials 22 Minutes
VOPs – Indexing Variables
Look, it can’t all be sex, drugs, rock and roll. Like learning your times tables, this is the stuff you really need to know to get results. While it might seem simple at first, indexing variables gets complicated when the VOP is running over different classes of geometry. Understanding what returns what values will add strings to your bow and help avoid confusion and frustration down the track. Plus, we’ll use all this technical knowhow in the next sections to build some models and effects
1. The ptnum Variable and The Visualise VOP
2. The primnum Variable
3. The vtxnum Variable
4. The numpt, numprim and numvtx Variables
4 Tutorials 21 Minutes
Binding & Identifying By Attribute
Binding attributes is a two-way street. You need to know how to import attributes into VOPs, as well as how to export those values back to the geometry. We’ll cover the bind node in detail to get you zipping around in no time! To really hit the highway, we’ll look at a practical way of using these new skills to identify and select specific geometry components.
1. Binding Attributes Part 01
2. Binding Attributes Part 02 - Exporting
3. Adding Polygons by Point Attribute
4. Selecting and Splitting Geometry by Attribute
4 Tutorials 20 Minutes
Indexing, Point Sorting
& the 0–1 Range
You learned the theory, now let’s put it into practice. We’ll show you how to use index variables to do all sorts of things, like generate coordinates and get unruly points into place. While we’re at it, what’s all this fuss about outputting values in a 0–1 range? There’s good reason for setting things up this way and we’re here to get you on board, plus teach you two different methods to precisely scale geometry along the way.
1. Using Point Index to Generate a Curve U Coordinate
2. The Benefit of Working with Normalised 0-1 Values
3. Scaling Using the Match Size Node
4. Scaling to a Given Size Using the Transform Node
5. Point Sorting
6. Working with the Vertex Index
6 Tutorials 29 Minutes
Section 07 & Beyond
Putting VOPs to Work
Keep those eyes peeled and those brains at the ready – there’s a detailed unpacking of the important role of parameter VOPs; accessing and working with the bounding box in VOPs; and using the performance monitor to compare the speed of VOPs to local variables coming your way very soon! Purchase the course now to access new tutorials the second they’re ready.
Be the first to get new courses
New course updates straight to your inbox, along with special offers and discounts!