This tutorial was written by the amazing Michael Cauchi and appeared in issue 102 of 3D Artist
Creating hair for characters in visual effects and animation is a very important process and I feel the workflow is much easier to understand than people expect – hopefully I will be able to show this to you! In this tutorial we will be going through the process that enables you to create appealing hair for your character projects using ZBrush and Maya, and ending with some V-Ray shading tips as well as general tips for the pipeline.
Supplied on FileSilo will be the head and hair tube OBJ files used during this tutorial, so if you just want to get straight into making hair and don’t want to do any modelling you may use those. Finally, if you have any questions feel free to contact me or check out my original hair tutorial, details of which can be found on my website!
Step 01 – Understand hair properties
There are a few things you should understand about hair before you go trying to create a groom, since everything we do in CG has to be based on reality to some extent, even if it is stylised. It is very much worth doing your own research into hair clumping and strand counts in particular, but here’s a quick breakdown. The average head has around 100,000 strands of hair. Clumping is important and also varies in size based on the length of the hair. As a result, the top and front typically have much larger clumps than the back.
Step 02 – Plan your groom
Looking for reference imagery is the first thing you need to do, like with the rest of everything we do in CG. When it comes to hair, wigs can be helpful to find as they are often advertised with multiple angles. Also, try to sculpt or draw your hairstyle as this will help you understand the flow of the clumps, which is very helpful when placing your first guides. Make sure your base model has good UVs as many workflows require PTEX maps to drive attributes and one of the quirks of Maya is that the UVs of the model are still required to create PTEX.
Step 03 – Set up for placing tubes
To get started, first load your mesh into ZBrush. As we will be using a tubes-to-groom workflow we will first need to set up our Curve Tubes brush (Shortcut is BCW). To do this we want to open up the Stroke palette and go to your Curve Option boxes and set them to the settings shown in the image below, as this will make for the easiest method for using the Curve Tubes brush.
Step 04 – Place your first tubes
Start by placing tubes at the base of the head and slowly work your way up the head in layers. It is important to work in layers as this ensures that every patch of the scalp has some hair coverage so as to avoid any bald patches. It may also be worth sculpting a proxy hair mesh in order to plan out the flow of your clumps. Also, remember to vary the size of each tube because hair does not clump evenly in real life.
Step 05 – Consider the clump hierarchy
As you get closer to the top, sides and front of the scalp, try to place your curves with the clump hierarchy in mind. This makes it much easier to imitate the natural hierarchy of form in the hair. As seen in the image for this step, the front flick of hair consists of around eight tubes despite it only being one clump of hair.
Step 06 – Check for gaps
Once you have placed all your main tubes, hide the head mesh to check if you have covered the whole scalp, as hiding the mesh makes it much easier to see any gaps. After this you can then start placing secondary curves, which can be later used to create stray clumps or just simply to add a little extra variation to the silhouette. After this process you should have something that looks pretty similar to your intended hairstyle.
Step 07 – Clean your tube geo
Now that we have our tube geometry, export it as an OBJ into Maya so that we can begin converting it into curves for our hair. Before we can do this, however, we will need to make our tubes hollow. To do this you’ll have to delete the ends of every curve you made, which would take a long time if it weren’t for one simple trick – first, select all of the tubes, go into the Mesh>Cleanup tool and set it to select all quad faces. Once you’ve done this, you can invert your selection and hit Delete.
Step 08 – Convert geo to Nurbs surface
Now that all of the tubes are hollow, we can now begin turning them into curves. Firstly, select all of your tubes and then go into the Modify>Convert>Polygon To Subdiv. This will replace your polygon tubes with subdiv tubes. Now select all the subdiv tubes and go Modify>Convert>Subdiv To Nurbs. This process will likely turn your mesh green as the Lambert1 material normally becomes detached after this conversion. If that’s the case you can just assign a new material onto the OBJs, but don’t worry as we will be discarding these tubes shortly.
Step 09 – Convert surfaces to curves
There are two methods to convert surfaces to curves. First is by selecting individual isoparms (‘edges’) on the surfaces and duplicating those into curves – however, this method takes a long time so it’s generally recommended to avoid it where possible. The second method to create curves from a Nurbs tube is using XGen, which features some very helpful utilities such as the Surfaces To Curves tool. Simply set it to Curves Start at U=0 to get them to travel along the tube and set the Curve Number to something like two or three and there you go! XGen is standard in versions of Maya from the last few years.
Step 10 – Assign your hair system
Once all of your curves are correctly set up we can start assigning our hair system. This is a super-simple process in Maya. Simply select all of your curves and then go into the FX shelf and go to nHair>Assign Hair System>New Hair System. We now have a hair system, but as you can see we have a lot of work left to do, so let’s get onto the next step.
Step 11 – Manipulate hair system attributes
So we have our default hair and obviously we’re going to need to make some adjustments. However, this is way too large of a topic for me to be able to tell you exactly how to make appealing hair – the best way to learn is to simply play about with settings until you find your own way to use them. The most important settings to get you started are: Hairs Per Clump, Sub Segments, Thinning, Clump Width, Clump Interpolation, Curl, Noise and Sub Clumping. To find out what each setting does, check out my website or the online Maya documentation.
Step 12 – Per Follicle Overrides and dynamics
When making final tweaks to your groom, it is often necessary to use Per Follicle Overrides, as this allows you to change Density, Curl and other attributes on individual clumps. This is great for things like strays. To make a Follicle Override, select your guide curves and search through the Attribute tabs for FollicleShape. To make hair dynamic, simply select the guide curves we made for the groom and then go into nHair>Make Selected Curves Dynamic. If the tip of the guide snaps to the mesh then don’t worry, as you can just go into the Curves menu and select Reverse Direction.
Step 13 – V-Ray rendering and shading
When rendering make sure check your sample rate. Hair is tricky for AA, so spend time optimising your renders because you’ll be doing a lot of these! To assign a shader, select HairSystemShape in the Attribute editor and add the V-Ray attributes. The V-RayHairSampler node allows for more control by giving you attributes, which allow adding natural variance. The most common use is to add a Transparency ramp, making the hair feel softer. Lighting also has a large effect on the appearance of hair, so make sure to look-dev with similar lighting to the final shot.