#### Houdini Made Easy - Step 03

The Geometry Essentials Collection

# Houdini Geometry Essentials 03

### Attributes, Variables & Parameters

# What You’ll Learn

You learned a tonne of crucial theory in the previous Geometry Essentials courses. This course will teach you even more, but that’s not all. It’s time to take that theory and turn it into action by learning how you can apply your newfound knowledge to real projects.

First we’re clearing up some crucial conundrums – starting with variables, a simple (but highly effective) automation tool. Building on everything you learned about attributes already, now we’re unpacking when you should and shouldn’t use variables instead and what the deal is with global and local variables. We’ll also take a hands-on look at bounding box variables and parameter expressions, copying to points using instance attributes, working with tangents and normals, resampling curves with accuracy, and more. We’re mixing new teachings with practical project exercises to give you deep understanding AND the skills to put it into practice.

### Current Course

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.

## Course Syllabus

Let’s talk details

## Section 01

**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.

### Lessons

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

## Section 02

## Bounding Box Variables

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.

### Lessons

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 Using Local Variables

##### 5 Tutorials 35 Minutes

## Section 03

## Referencing Parameters & Bounding Box Values

Put down your pen and pick up your mouse – we’re putting what you’ve learned into practice with a new project. In this first phase, we’ll teach you how to add crucial parameter expressions without having to actually write expressions at all, why positioning your geometry relative to the origin is such an important first step in procedural systems, and how a node that does nothing can be used to great effect.

### Lessons

1. Project & System Overview

2. Channel References

3. HScript Bounding Box Expression

4. The Advantage of Referencing Nulls

5. The Importance of Positioning Geometry Relative to the Origin

6. Aligning with the Origin Using Match Size and Transform Nodes

7. Organising The Network

##### 7 Tutorials 34 Minutes

## Section 04

## Understanding Orientation Along Curves

We’re marching on with our practical project and introducing a new, essential concept: how to master precise control of orientation when copying geometry to curves. Let’s face it, figuring out orientations in 3D space is confusing. We’re covering all the fundamentals (like curve tangency, up vectors and the up attribute) so you can orientate your geometry exactly as you need to, every time.

### Lessons

1. Copying to First and Last Points

2. Using Polyframe to Orientate the Copied Geometry

3. Orientation Along Curve and the Order of Operations

4. Understanding the Up Vector

5. Computing and Controlling the Up Vector

6. Leveraging the Primary and Secondary Axis

7. Manipulating the Normal Attribute

##### 7 Tutorials 38 Minutes

## Section 05

## Distributing with Precision

We’ve mastered orientation, now it’s time to talk distribution and spacing. In Houdini, we can make random effects with just basic knowledge, or even purely by accident! Deliberate control over our geometry is a different story, and far more useful. As we take our practical project to the next level, you’ll learn to control distribution along curves using resample length, tangent computation, as well as arc versus chord length measurement methods.

### Lessons

1. Controlling Distribution Using the Resample Length

2. Tangent Type and Arc Length vs Chord Length Measurement Method

3. Justifying the Copy on the First Point

4. Justifying the Copy on the Last Point

##### 4 Tutorials 20 Minutes

## Section 06

## Resampling & Raying

Strap yourself in, it’s time to go off road! Now that you can distribute geometry along a curve with laser precision, let’s kick things up a notch. In this practical section we’ll upgrade our system to handle elevation and any kind of terrain, thanks to our trusty allies the ray and resample nodes — two cornerstones of Houdini procedural workflows.

### Lessons

1. Resampling the Planar Curve

2. Using the Ray Node to Deal with Elevation

3. Resampling Twice for Greater Precision

4. Raying Back onto the Input Curve

5. Ray Tolerance and Treating Polygons as Straight Edges

6. Maintaining the Last Vertex

##### 6 Tutorials 30 Minutes

## Coming Soon

## Section 07

## Subnets & Parameters

In the previous sections we used your new skills for working with attributes and variables to build a solid procedural network – now let’s turn it into a reusable tool you can whip out time and time again.

### Be the first to get new courses

New course updates straight to your inbox, along with special offers and discounts!