If you’ve ever wondered how to enrich your 3D models with hair and fur, you’re in the right place! Here’s how . .
As 3D artists, you’ve probably heard of several grooming solutions while working with 3D characters. Imagine a monster covered in fur, a man with a beard, or simply a wool coat with random hair scattered everywhere. These are common situations where you need to use a specialized software.
In Autodesk Maya, for instance, there’s a solution called XGen, which consists of several tools such as brushes, modifiers, sculpting layers, and more. I’ve experimented with XGen for some time and found it really powerful.
Nevertheless, there are other equally valid choices on the market and I wanted to explore more options for grooming.
Yeti by Peregrine Labs is an amazing toolset for creating hair/fur, feathers, and procedural geometry.
What makes Yeti different from XGen is it’s based on nodes. That means, in simple terms, a non-destructive workflow, where every change is local and doesn’t impact the rest of the nodes.
I generally feel comfortable working with node-based tools such as Substance Designer or Houdini, because they give me more flexibility while revising and tweaking my nodes by keeping my work organized.
In this article, I’ll teach you how to create fur on a custom character. (Note: We’ll cover shading in depth in a future tutorial.)
Here’s a character that I quickly modeled and rendered. I wanted to focus on a simple, cartoony creature that’ll be partially covered in fur. Along with the character, I simply created some render scenes, just to test a few general lighting situations.
In this last example, I finished with a completely orange backdrop to better emphasize the contrast between warm and cool tones. Notice the presence of subsurface scattering on the character’s skin, in order to make him more organic and interesting.
We’ll start from this character and build our Yeti nodes. You’ll see that Yeti is a mixture of a node-based graph and brushes.
Basic Setup for Yeti
Let’s open the file with our character. The Yeti menu appears at the top of the screen and contains two essential items:
- Create Groom on Mesh
- Create Yeti Node on Mesh
The first one is related to the series of brushes you can use to sculpt your hair. While the second one allows you to manage a graph and add nodes, which act like modifiers for your hair/fur and have several built-in functions.
The first thing you have to do while starting with Yeti is to apply those two actions to your character.
Select the character and click on Create Groom on Mesh. This action creates an entry in the Maya Outliner. For simplicity’s sake, let’s call it Grooming controller for the rest of the article.
Do the same thing for the Create Yeti Node on Mesh action. Let’s call the new entry the Yeti controller.
Now you’re ready to sculpt your fur!
In the outliner, select the Grooming controller and, in the shape tab of the attribute editor, click on the Edit Groom button. This action opens the Grooming editor with the following tools.
Grooming Tools allow you to sculpt your fur. We have the add, remove, scatter, comb, cut tool, and so on.
Attribute Paint Tools are useful when you need to create specific attributes to use in your node graph, for instance.
Finally, Workflow contains utility tools like flood fill, selection, deselection, mirror, etc.
Sculpting the Fur
Let’s start with the third Grooming Tool in the list: the Scatter tool.
Note: When using the Sculpting tool in Yeti, you create objects called Strands. Every strand controls several hairs called Fibers.
With the Scatter tool, you randomly instantiate strands on the character. Under the Strands tab of our Grooming controller, there’s the parameter called Minimum Strand Distance. Increase it to around 0.29 to create the minimum space between one strand and another.
At the end, you should have the character covered in strands.
If you want to vary the global length of your strands:
- Select the length attribute under the Attribute Paint tab of our Grooming controller
- Select the arrow up in the Attribute Paint Tools section of the Grooming editor
- Again, in the Grooming editor, click on the Flood Fill tool (the bucket) several times to increase the length
Relaxing the Strands
Now that your strands are in, it’s time to comb. From the Grooming editor, select the comb (fourth tool) and give your strands the right direction. Observe how a few strands have some random orientation. To achieve that, click on the penultimate icon in the Grooming Tools section (the Sculpting tool) and adjust the single strands.
When you’re satisfied with the strands, you can go on building your node graph.
The Yeti Graph Editor
This editor considers the geometry and our previous grooming to build and manipulate the real fibers.
Access Yeti from the Maya menu bar at the top of the screen and click on Open Graph Editor.
What you get is an empty graph. You need to create nodes from the Create menu. When you get used to this tool, you can directly use the upper icons.
At the end, you should have something like this—a basic graph with some nodes.
Let’s dig into the basic nodes.
They simply import the geometry and the grooming we’ve just created in the previous part. When you double-click on a node, a Node Inspector pops up, showing the related options.
Note: Before configuring the import nodes, we need to select the Yeti controller (see the basic setup section) and, in the Input Grooms option, add the Groom controller. This makes the grooming available for one of the import nodes.
Let’s get back to our graph. Double-click on the first import node. Give it a name and select Geometry in the Type option. The Selection option allows you to select your actual geometry shape (BodyShape).
For the second import node, the Type option is Groom. For Selection, you need to load the Groom controller shape (Groom_ControllerShape).
That’s it! Now you’ve told the graph that the geometry and the grooming exist.
This node scatters points on the mesh, which corresponds to the place where the future fibers will grow, and allows controlling the density, as well as other interesting parameters.
I set the density to 100, however, the problem is that the points appear throughout the model, which isn’t what we want. Despite having the strands just on the head, the scattering appears on the whole geometry.
We need a density map to tell Yeti where to put the future fibers. So, paint on your UVs to create the map. The painting can be performed inside of Maya by the 3D Paint Tool or (if you prefer) by external tools—we want to color the head with white and the rest with black.
At the end, you should have a color map saved. We now need to use it in our node graph.
We introduce a Texture node where we load the color map we’ve just created. Along with the map, we indicate a name for the Attribute field and, finally, we copy that attribute name to the Groom/Texture Attribute of the scatter node.
Let’s sum it up with some images.
This is the way we tell Yeti to make the fiber grow in white areas:
This node creates the actual fibers from the previous scattered points and has a second input, which is our initial import node (the grooming with the strands). We have to tell Yeti to consider our previous sculpted strands to build the fibers. For instance, the strand length will be considered while building the fibers.
The grow node also has other additional parameters to set a min/max length and make the fibers random in length.
This node considers the fibers created by the grow node and takes the grooming as second input. Now, Yeti knows how to relax and orient the fibers based on the strands—giving shape to our fibers!
I haven’t touched the node inspector for the comb node. By default, it has all you need!
Last, but not least, is the width node. It takes the result of the comb node and changes the base and the tip of the fibers. I usually reduce the tip width to have more convincing results.
In the node inspector, I only changed the Width Multiplier, the Base, and the Tip Width. You can try several values in order to achieve thinner fibers.
Ready to Render!
At this point, we’re almost done with our basic fur, but we definitely need to increase the number of fibers.
In the Attribute editor of our Yeti controller, there are two menus dealing with some fur properties in the viewport and at render time.
I changed the Render Density to 5 and the Viewport Density to 4.470 (almost the same). I expect to have more fibers now!
In a next article, we’ll be talking about more advanced techniques for sculpting the hair. For now, bear in mind this simple but effective setup—perfect for situations dealing with fur. Again, the shading is quite an important step too, which we’ll also present it in a future article.
For this render, I applied a shader in Arnold, which looks interesting and nice while presenting the character. It has the diffuse contribution, as well as some soft specular reflections. The purpose is to make the composition cartoony and fun to look at.
Here’s the final render:
As you know, Yeti works with a non-destructive workflow, so we can add new functionalities without affecting the other nodes.
In this last example, I used a node called Scraggle to mess up the hair a bit. Here’s a preview now, but we’ll discuss it more in the next article:
Now that you have the basic skills to produce a hairdo for your character, we can jump straight to other cool features and techniques . . . in the next episode!!
If you find this article interesting, have a look at my works on my Artstation page.
Looking for 3D assets? TurboSquid by Shutterstock has over one million 3D models used by game developers, news agencies, architects, visual effects studios, advertisers, and creative professionals around the world.
Build some more cool projects with these assets: