home about gallery publications education links contact

..::old hair (or "a little off the back sir?")::..

Note from the author: This article was written with 3ds max 4.x in mind. Due to software improvements, bug fixes, user interface amendments and added features, some items listed below may not apply to 3ds max after version 4.x...

With the release of Final Fantasy on DVD and video, we can now sit back and marvel at Aki's hair time and time and time again. Well, maybe if you're into that kinda thing, but creating realistic hair in 3D is quite difficult, so we tend to resort to a plugin for these type of flowing hairstyles. But if it's something else you're after, like fuzzy old hair, then sir, you've come to the right place. Take a seat, have a coffee and I'll be with you in a minute...

Note from the author: As the head models to accompany this tutorial are not provided due to intellectual rights of the character, please work on your own head model, or one of the many free ones available on the web. You may need to rescale and/or amend size settings of the elements described in this tutorial to acheive similar results, depending on the scale of your own scene.

The mesh in the screenshots was PURPOSELY messed up as the included file in the original tutorial was heavily refined then optimised as I did not want to give away the original mesh.

My head modelling skills aren't THAT bad!! :)

Enlarge Screenshot Load the scene "Rowley_normal_head.max" from the cover cd. This is a base deformed head in a single pose that has been snapshotted from a previous animation and has quite a high polygon count; be warned that the polygon count of the scene is going to get much higher! **NOTE: THIS ASSET IS NOT PROVIDED. Please use any head model you currently have, or download one of the many free ones**
Enlarge Screenshot We will start by creating a rough Geosphere primitive in the centre of the head to get the rough shape. Set the Radius to 140, Segments to 8 (so we get a line down the centre of the head) and set the Geodesic Base Type to Icosa if it isn't already. Label it Hair Sculpt.
Enlarge Screenshot Apply an FFD cage and push and pull the Control Points until we get something that resembles the hairstyle in the screenshot. Don't worry about the hair overlapping the ears or other unwanted areas as we can remove these later on using polygon selection; we're just after a rough shape.
Enlarge Screenshot Once our shape has been acheived, apply a Volume Select modifier. Check Stack Selection Level to Face, the Selection Method to Invert and the Select By Volume to Mesh Object and select the head as the selection object. This will select all faces outside the Head mesh.
Enlarge Screenshot A little selection refining is in order as you don't have hair eminating from your ears! Select the Select Object tool, apply a Mesh Select modifier and deselect the polygons surrounding the ears and any other unwanted areas. This will keep the hair confined to the areas that we want it to be.
Enlarge Screenshot Working with this mesh can be quite slow, thanks to the Volume Select Modifier. Therefore, to speed up things, clone the Hair Sculpt Geosphere and label it Hair Sculpt Collapsed. Collapse the mesh and hide the original one; this will still maintain the selected polygons.
Enlarge Screenshot Create a new Geosphere and label it Hair Sphere. Set the Radius to 40 and 4 Segments. Set the Geodesic Base Type to Icosa if it isn't already. Apply a Noise modifier and set the all the Strength spinners to 60. Finally, check on Fractal.
Enlarge Screenshot With the Hair Sphere still selected, create a Scatter Compound object. Select the Hair Sculpt Geosphere as the Distribution object. We will use Scatter as the way of distributing the hair as it can give us a random distribution effect which is what we are after.
Enlarge Screenshot Check on Hide Distribution Object in the Display rollout. Set the rest of the parameters as displayed in the screenshot ensuring Use Selected faces Only is selected; you may wish to display Proxies instead of the Mesh while working in the scene due to high poly counts. We can now hide the distribution object.
Enlarge Screenshot Open the Material Editor and create a new Blinn material. Label it Grey Hair. Set the Ambient, Diffuse and Specular colours to white, the Specular spinner to 60 and the Glossiness to 40. In the Extended Parameters, set the Advanced Transparency Falloff to Out and set it's spinner to 100.
Enlarge Screenshot Assign the material to the Scattered Hair object. The main hair texture consists of a simple Smoke procedural map in the Opacity slot of the material. This map will give us ample control of the design of the hair and will give a wispy effect, which is the end result that we are after.
Enlarge Screenshot In the Smoke procedural Map, set the Coordinates source to Explicit Map Channel; this will lock the procedural texture to the spheres and will not 'pass under' the geometry should the scene be animated. Set the Size to 0.1, the number of Iterations to 5 and the Exponent to 1.
Enlarge Screenshot Back at the top level of the material, you will notice that the specular hilight covers the entire sphere, even in areas that are transparent. To rectify this, instance copy the Smoke map in the Opacity slot to the Specular Level slot.
Enlarge Screenshot With the hair material and hairstyle completed, we shall add extra detail to the face by adding eyebrows. Select the head mesh and draw out eyebrows in Polygon Sub-Object mode as shown in the screenshot. Don't worry if they are aren't exactly identical, as no-one's are! (Technically, the eyebrows should be a seperate object linked to vertices on the mesh due to mesh update times when deforming.)
Enlarge Screenshot For the eyebrow hair, we shall create another small Geosphere with a 15 Radius and 3 Segments. Apply a Noise modifier to the stack and set the scale to 30, check on Fractal and set the Strength spinners to 30. Label this Eyebrow Hair Sphere.
Enlarge Screenshot With the Eyebrow Hair Sphere selected, create another Scatter Compound object. Select the head mesh as the distribution object and check on Use Selected Faces Only in the Object Distribution Parameters section. Check on Hide Distribution object and set up the rest of the settings as displayed in the screenshot.
Enlarge Screenshot As the hair material is assigned using UVW mapping, the same hair material can be assigned to the eyebrow hair is required to keep the style consistant. Simply apply the material to the eyebrow hair, or clone and modify the Diffuse colour settings if you want a slightly different shade.
Enlarge Screenshot Eyebrow hair is quite thin, so don't forget to un-check Cast Shadows in the eyebrow's Object Properties window, else a large streak may be cast by the numourous lights in the scene. Failing that, make every light raytraced, but be prepared to wait years for your render to complete!
Enlarge Screenshot Open the "Rowley_Firestarter_Head.max" file on the cover cd. Again, this is a base untextured head for us to play with. Create a box as shown in the screenshot with a few iterations so we can deform it into the shape we require. **NOTE: THIS ASSET IS NOT PROVIDED. Please use any head model you currently have, or download one of the many free ones**
Enlarge Screenshot Firstly, to get the mesh to a point, apply a taper modifier to the stack and amend it so that the top of the box almost reaches a point. A low taper Amount setting normally suffices for this type of deformation. Failing that, simply use a 2x2x2 FFD cage to deform the mesh.
Enlarge Screenshot Apply a 3x3x3 FFD cage to the mesh and push and pull the Control Points so the mesh deforms around the head as shown in the screenshots. Again, as with the initial head, we need not be over precise as we can always use sub-object selection on the scatter if required.
Enlarge Screenshot To add extra refinement to the hair shape, apply a Meshsmooth modifier to the stack and set the number of iterations to 2. This will increase the number of polygons in the mesh, enabling us to add a procedural deformation to get a spiked hair result.
Enlarge Screenshot To get the spiked hair look, apply a Noise modifier to the stack, check on Fractal and play with the Strength and Scale spinners to generate something that resembles that in the screenshots. We're not after something exact, just something that resembles the overall look.
Enlarge Screenshot Create the Keith Hair Sphere as we did with the original, with the same settings for the Geosphere and Noise modifiers. Create a new Scatter Compound object and select the spiked hair box object as the distribution object. Set the parameters as displayed and check on Hide Distrubution Object. Hide the original box distribution object or make it non-renderable.
Enlarge Screenshot Apply a UVW map to the Scatter object and align it so it matches that displayed in the screenshot. Set the Map Channel spinner to 2, as the Opacity map uses channel 1. Instance copy the Scattered object, mirror it and resposition it to the other side of the head.
Enlarge Screenshot After setting up the hair texture as in the intial model, (or by cloning and modifying the one provided) create a new Gradient Ramp material in the Diffuse slot. Set the map channel spinner to 2 and amend the W angle spinner to 90 to rotate it. Set up the rest of the gradient parameters as shown. Assign this material to the two Scattered hair objects in the scene.
Enlarge Screenshot To add a little florescence, mix the gradient diffuse map with a Falloff map, set to Shadow/Light in the self-illumination slot and the gradient in the Lit (white) slot. Create the eyebrows as before and assign the original hair material to them. Instant firestarter!

Initially published: 3D World magazine, Issue 24, April 2002.

Copyright Pete Draper, April 2002. Reproduction without permission prohibited.