Hello, hello! Welcome to a new free tutorial! We'll go through the basics and some unique grooming techniques in Houdini!
First things first, let’s open Houdini!
Once Houdini is open, let’s start with the basics, create a sphere. For that, we add a node called “sphere”.
Then, on the sphere node, we will change the primitive type to a polygon mesh.
Then we jump 1 level up.
And then rename the node to “GEO”. It’s very important always to use proper names.
If you see it at the top of the screen, go to the build window and the Hair Utils tab.
On the Hair Utils tab, we’ll select Add Fur, which creates all the basic networks for you to add the Houdini fur and Houdini setup.
Now the moment you click Add Fur, you can see a message to “Select a static geometry to add fur to.”, the static geo is the one that doesn’t move, in this case, our sphere.
We click the geo and hit enter!
This will create the following 3 nodes:
Now we have all the nodes ready, but we still need to make the connections between the nodes!
So, the first thing to do, it’s to go inside the GEO node, where we have our sphere, and we create a node called “Null”.
Extra information for those who are using Houdini for the first time!
To connect one node to another, just click on the white dot that it’s located on top or the bottom of the node.
Then just drag to another white dot.
Let's continue! Now we need to rename the Null node, and we will name it on caps “OUT_GEO”.
We use caps to name the null because you will see the cap word at the start if you go to the tree view.
And this will be our first setup. And now, we’ll start seeing the basics of the Guide Groom.
First, select the Guide Groom.
On the top is the first area, named the import area.
This is just an import option for the areas where we want to spawn the fur on. We also have the VDB, this one is going to create a group of box cells that will be generated from the input skin. These boxcells are going to be used mostly for everything that has collision parameters inside of Houdini.
Then we also have the basic scatters, like how many guides we want to scatter, or the ways that we wish to, like one guide per point.
So it’s going to be on each point of the surface.
Then we have “Use External Geometry” if we want to use external geometry as the guide creation.
In this case, we’ll select “Scatter On Surface”.
With the Density parameter, you can control how many guides are scattered along the surface.
For example:
Density = 100:
Density = 1000:
We also have the override option. With this one, you can multiply these values by data, in this case, Skin Attribute (attributes that reside on the skin) and Texture(texture created on the software of your choice, like Substance or Mari).
Then we have the Scatter Seed, which changes the spawn of the guides, and finally, the Relax Iterations. The more iterations you have, the more of an even distribution you have, and the fewer iterations, you have a more uneven distribution.
A quick tip: If you go for a realistic groom, evenness is not the best way to go. But also non iterations will give you weird clumpy hairs. So a good level is when you don’t see a perfectly relaxed distribution.
Now let’s talk about the guide properties!
First, we have the Initial Direction Attribute.
This one will be the default “furdirection”.
The second one will be the segments of the guides.
How many points will a guide have per guide?
The basic level to work with is 8.
And finally, we have the main length controller.
As the name says, it controls the length of the guides.
And finally, the last two options we will see in this chapter. For the first one, we have the display options.
This is to change the color of the guides on the preview.
And the second one will be Draw Wide Curves. To activate this option, just hit the check box.
Now you’re going to see the width option. This allows you to control the width of the curves on the previews.
So now you can decide how you see your guides!
At this stage, you should be able to do this basic setup with “Guide Groom”. Now let’s take a more detailed look into this node!
Inside the guide groom node, there are three inputs and three outputs.
So, we have “GUIDES”, “SKIN” and “SKINVDB” inputs.
There are several ways to affect the guides! The first one is the “Guide Process” node.
All the nodes in there can be affected via the guide process node.
Now let’s talk about curve advect. This one is a different process from the guide groom.
*If you want more information about the curve advect, here is the link to the side fx official website: https://www.sidefx.com/docs/houdini/shelf/sop_groom_curveadvect.html
To add the curve advect, first, we go inside the guide groom node, then you click on curve advect.
It automatically creates a set of nodes for the guide advect already connected. Let’s go one by 1 to check what they do.
To select a node and make it visible, just click on the node and then click on the last little cube on the node:
It will turn blue, so that means that this node is displayed.
We just have to draw our curve, so click and drag on the geometry to create your curve.
If you pay attention, we can barely see the curve. But what if I just want to see the curve, not the geo?
On the top, there’s a little icon with a cylinder, sphere, and cone. This means that everything is visible. Let’s click on it.
You’ll have these three options:
So if you don’t see your curve, you can ghost or hide the other objects.
For example, if we click on hide other objects and select the mirror node:
You should see only the curve that we created and the mirror of the curve.
Let’s see now what happened to the advent curve node after we created this curve:
What happened is that the node creates guides following the guide that we created!
So, if we create more curves, the node will make the groom follow and interpolate properly.
For example: Let’s create some random curves.
Now let’s go back to our guide advect node.
The flow of the guides changed to follow our guides.
You can add a lift node:
You can also add a pair of CB to bend the guides upwards or downwards.
If you go out, deselect the guide groom, and select the hair gen node, you should see the hair following our guides:
With this method, you can have a nice groom very fast.
Now that you know what the curve advect does, let’s eliminate that and allow us to begin from scratch!
If you paid attention to Chapter 2 when we saw the curve advect, there were more options on the guide process, so let’s take a look! If you hit tab with your cursor on the geometry section, this little menu will appear:
Now let’s search for “guide”, and you will see all the guide process options:
Those options are also on the top of the screen, on the window guide process, but it’s more efficient to search for the one you need on the geometry tab.
Let’s check one by one to see what they do!
To create the guide process bend, hit the geometry section tab and search for it. When you select the guide process bend, it will create a little box on your cursor like this:
You can just drag in on top of the connection:
And it will automatically create the connection.
As always, we can edit the node on top of the geometry section.
Let’s take an in-depth look at all the options here:
We have the groups, but now we don’t have any, so let’s leave it like that. And the last option is to visualize masks.
*It’s important to know that these will affect depending on the order of your operations, and some operations don’t have an attribute to override the blend. So if you have to blend it, it’s better to create more than one. If they are not going to share the same mask, it’s important to take that into account.
For example, if the operators are not going to share the same going to, let’s say, one is on the foot and the other one is on the head, you don’t want to affect one with the other, it’s better to create a different guide process. But if they share the same area, for example, let’s say that you want the leg to bend and increase the length. Creating the same node and adding an operator inside it will be better.
So this is the basic setup for that. We have an active operator, in this case, is the basic blend.
The other operations are:
*If you want more information about every one of these operations, you can check them out on the sidefx website: https://www.sidefx.com/docs/houdini/nodes/sop/guideprocess.html
Let’s check the parameters of the blend operation.
First, we have the blend slider.
The blend slider is a mask, so the main mask of the effect.
Then you have the mode, in this case, “Bend in Root Direction”.
With the Angle slider, that will read the matrix of the root and bends the guides on that angle.
Lets’s put it into practice:
Angle set to 0:
Angle set to 20:
You also have a Random Angle slider, which adds a random value to Angle.
Let´s take a look at this example, this is what happens when we put a random value of 10.
And finally, we have the Randomness Bias. This is how tight we want these random to happen.
We saw all the modifiers for the angle, but let´s see the different ways that you can bend your guides:
We just saw the guide process of the bend, so now let’s look to set direction!
To change the guide process, go to operation and change Bend for Set Direction.
Set Direction is quite a similar node to Bend, but slightly different. We have some values that are the same, for example, the blend slider:
We also have a Rotate with Skin Animation. This is in case we have a rest skin.
Then we have the Solo and Active options, so when you have more than one operator, you can have it Active o Inactive, and the Solo option is just to isolate it.
Uniform Direction, this is going to drive the guides toward the direction (X, Y, Z) you set on.
Direction Amount is the amount to rotate towards a direction around the skin normal. This only changes direction in the skin plane without changing how far the curve lifts off the skin.
The lift Amount is quite an important one. It curves off the skin or flattens curves against the skin to match the given direction. This only rotates away from or towards the skin but doesn’t change the orientation around the skin normal.
And finally, we have the modes Rotate Rigidly Around Root and Set Each Segment.
Let’s see now what the guide process lift does.
This one is like the Set Direction. It’s a pretty simple operator.
We have three new options for this operator, the Randomize, the Lift, and Follow Skin Contour sliders.
First, we’re going to check the Lift slider. We have a value from 0 to 1, where 0 it’s going to attach the guides to the surface:
And with a value of 1, it’s going to have completely straight guides:
We also have the Follow Skin Contour.
This causes flattened curves to follow the skin's contour rather than just pointing straight toward the skin tangent. This produces a more natural effect but is a bit slower to compute.
Then we have the Randomize, which randomizes the effect per curve.
This also adds two more sliders, the Min Lift (the lowest lift value used) and Max Lift (the highest lift value used).
As mentioned before, you can have multiple operators, so let’s look at how to add and delete operators.
To delete an operator, you just have to click on the little “x” under “Operations”.
And now, we have 0 operations.
Now to add an operator, we just have to click on the “+” symbol.
When you create an operator, it’ll create by defaul. Thist direction, this is just because is the first one on the list.
Now that you know how to add and delete operators, let’s play with them and see what kind of result we can accomplish!
First, we’re gonna set a clean and fancy direction for the guides.
And you should see something like this on your viewport:
Now, click on that “+” symbol to create another operator!
As you can see now we have 2 Set Direction operators, let’s change the second one for a Lift operator. We’re gonna turn on the Randomizer. You should have something like this:
But, maybe this is a little bit too strong, so let’s lower the value of the blend for the Lift to 0.5.
As you can see, this is a smoother result than the last one!
We encourage you just to play with the values and the operators, and make a lot of mistakes! You’ll learn more from your mistakes!
Now let’s take a look at one of the most basic but useful ones! Maybe not at a guide level, but afterward we will be able to use the same operator in a really nice way!
Here it is a really important thing to remember, in Houdini, the guides are curves, but the hairs are curves too! So we can actually do a lot of things, because the hair strands and guides are exactly the same thing, just with different positions and different connections between them.
So first, if you still have the operators, just delete one, and change the operator to “Set Length”.
Set Lenght has some different modes:
Let’s check them one by one:
We’re going to set the node to Set so we can check the other options in this operator.
First, we have the Method, Scale, and Cut or Extend.
Scale, uniformly scales curves around the root point and Cut Or Extend, cuts or extend curves at the tip.
We also have a length slider.
As the name says, the Length slider changes the length of the guides. A quick note is that this doesn’t apply to Multiply mode. When we change the Mode to Multiply we no longer have this option, instead, we have a new slider called Scale Factor.
Scale Factor doesn’t just change the length, instead scales it as a whole from the root position.
Then we have Randomize, which randomizes the operation’s effect.
The Randomize will replace the Scale Factor for 2 sliders, Min Scale Factor and Max Scale Factor, where the Min Scale Factor is the smallest length to use when Randomize is enabled and the Max Scale Factor is the greatest length to use when Randomize is enabled.
And finally, we have the Cull Threshold.
What Cull Threshold does is that after changing the curve lengths, cull any curves that are shorter than this value.
Let’s continue our journey with the Guide Process! Before checking the Wave operator, we’re going to check very quickly the Displace operator.
As you can see, there’s only one slider or option to edit this operator, the Amount Slider.
You just have to put an attribute, it can be a Guide Attribute, Skin Attribute, or Texture attribute.
This will displace the information that we have put as any of the attributes. This is just a basic displacement.
Now let’s check the guide process “Wave”.
So this creates a wave that will be and behave as a constant value. This one has 4 options that we can manipulate:
The guide process Straighten is a really basic one.
This is just going to straighten out any curve on the guides.
We have 2 options to manipulate this operator, Tangent Straightness and Normal Straightness.
We have the guide process Smooth. Basically, this operator will smooth any other operator that we put in.
We have our blend slider, that blends the overall effect of the operation.
Also, we have 2 Smoothing Modes:
Then, the Search Radius searches for neighbors within this radius. The search is performed on curve roots, so this specifies the distance between roots.
And finally, we have the Num Neighbors, it’s the maximum number of neighbors to take into account. The actual number may be lower when fewer neighbors are found within the Search Radius.
Finally, we have the operator Frizz.
This one is similar to the wave, but the Frizz works on a vector 3D space global noise.
First, we have a Frequency slider, which is the frequency of the noise function, and a Random Frequency which adds a random value to the Frequency. The random value is generated between the negated and positive value of this parameter.
Then we have the Limit Frequency To Representable Values option, which clips the frequency to a range that can be represented using the number of points per unit length found on each curve. Without this, high values can result in random values instead of predictable noise.
And finally, we have the Amplitude and the Random Amplitude sliders:
Now we’ve finished with all the operators, remember, if you want more information about any of the operators we’ve just seen, go to the official Sidefx website: https://www.sidefx.com/docs/houdini/nodes/sop/guideprocess.html
Also to see more in-depth every operator and examples, you can check the video tutorials for Introduction To Houdini Groom! https://courses.creaturegarage.com/playlist/6JbEN9vLVK
Now that we have the basic setups for the guide process, it’s time to start understanding how masking works.
We have several types of masking, first, it’s the overrides that we’ll have Guide Attribute, Skin Attribute, and Texture.
Guides Attributes are the curve attributes or the per-point attributes we bring in. Skin is the geo attributes and texture attributes are the ones that we bring from different software (Mari, Substance, Photoshop, etc…)
But we also have masking.
Masking is an important feature because it has the main blend, and if you turn down the main blend, the effect gets completely removed.
So this is the main driver of the whole node, not just for the operator. Remember that you can have several operators in one node. And for this one, we also have an override.
Now let’s check the 2 types of masking:
First, let’s go ahead and activate the Curve Mask.
As you can see now we have several options to edit this mask! Let’s go 1 by 1 so you can understand what every one of these options does.
First, we have a check box for Range In Absolute Length, when this one is enabled, the range parameters below operate in world units.
We have the Range Min and the Range Max:
Also, we have an Effect Position.
It sets the position where the curve is affected most. The root is at 0 and the tip at 1.
Then, we have the Falloff.
The high values result in a wide, bell-shaped ramp. Low values in a pointy shape.
Finally, we have the Influence Width.
It scales the falloff handles around the effect position for additional control.
Now let us take a look at the Curve Mask Ramp.
Basically, it controls the curve mask directly.
Let’s continue with the other type of mask, the Noise Mask.
First things first, we have the amount as always. It blends the effect of the noise mask.
We also the noise frequency.
As the name says, it controls the frequency of the noise.
Then we have the Gain.
The high values result in more contrasted noise and fewer areas with medium values.
Finally, we have Bias, which biases the noise towards low or high values.
If you want to check more in-depth how the masks work, you can check the full course here! https://courses.creaturegarage.com/playlist/6JbEN9vLVK/file/04NyaQjgNa
Now that we know how the guide process works, we will jump into the guide groom node!
To create a guide groom node, first, we will delete the guide process node and add the guide groom to the shelf.
And we put the node on the skin connection, and Houdini makes the connections automatically.
For this tutorial,we’re going to work with the “guidegroom”, so just click on the top of the options of the node and change “guidegroom::2.0” to “guidegroom”.
It should look like this:
The first option we will see is the “Recache Strokes”.
This one is used to load new information.
Also, try not to use a guide process node on top of the guide goom node.
First, we will see the essential tool of the guide groom, “Plant Guides”.
To change the tool, just click on the box next to “Tool”.
A quick tip: if you don’t see the cursory change to plant guides on the viewport, click on the symbol down below, and your cursor should change like the one below.
Now let’s try to add some guides:
Just click where you want your new guides:
One important option on the plant guides brush, is he interpolate neighbors.
Let me explain this one with an example:
If you create a guide longer than the other one, like this:
And you add a new guide:
It will interpolate the length of this guide.
And the last important option of this brush is the mirror:
If you click on the check box for Mirrorring, it will mirror every new guide that you create:
Let’s take a look at what the Scrrn Brush does. To select the Screen Brush go to the same little box next to the tool, and select Screen Brush.
This brush will be your best friend. It’s the brush that let us comp the active areas of the hair.
This is a basic grooming tool. you can also change the radius of the tool to affect more or less guides.
You can also change the strength of the tool, to control how much you affect the guides.
Also, we have a Randomize.
And the last important one, is Constrain Length, if it is with a check, it will preserve the length of the guides, if don’t this will happen:
The difference between the surface brush and the screen brush is that the surface brush will only work if the cursor travels on a surface (geometry).
And the screen will work anywhere on the screen.
We have the tool Cut.
This is a very simple one. We have first the same option as the previous tools, the radius. What this does, it’s going to cut the guides by the rim of the curve of the tool.
Finally, we have the Ray Bias, also in the Screen and Surface Brush.
The Ray Bias controls the thickness of the collision layer around the character’s skin. The Guide Groom SOP prevents curves from passing through this outer layer while you edit them. The ideal value would be something like 1/10th or 1/100th of the shortest segment length in a groom. Making it much larger would keep curve points far from the skin. Making it too small would make it easier for curves to end up inside the skin.
To see more in-depth this tool more, check the video tutorial here: https://courses.creaturegarage.com/playlist/6JbEN9vLVK/file/g92QZ346Dp
Now we’re going to check the Extend tool.
Technically the Extend is the opposite of what cut does, but it has a drawing mode which is the really nice thing about it.
This is a straightforward tool, but if you want a more in-depth look, you check the video tutorial here: https://courses.creaturegarage.com/playlist/6JbEN9vLVK/file/l7qLKRLlN9
Another simple brush is the Lift.
This one will lift the guides, but it will lift based on the amount that you put on the lift option.
We also have the clump brush.
This one is not very used because we usually work the clump on a hair level, not on the guides. But if you want to use it, it will create a clump with the guides within the brush's radius.
Finally, we have the Part brush.
This brush will move the guides outside the radius of the brush.
These last two brushes are rarely used, but now you know what they’ll do if you want to use them!
Remember, if you want to see a more in-depth look at the brushes or any option we saw in this playbook, check the video tutorials here: https://courses.creaturegarage.com/playlist/6JbEN9vLVK
So thank you for reaching the end!
See you on the next one!
We recommend checking out some of these tutorials:
https://creaturegarage.com/playbooks/houdini-for-groomers
https://creaturegarage.com/playbooks/introduction-to-xgen