|
This course covers advanced modeling techniques for building 3 dimensional characters. Students wil explore techniques of character modeling to include various approaches to figure construction. |
![]() |
|
| JUMP
TO A SPECIFIC WEEK: |
Week
6: Adding Clothing and hair, LOD GROUPS in Maya

Fabric can fold in several ways which will be important to us when we get into Zbrush:

Take a look at this video, which explains these concepts in greater detail:
Sculpting Cloth Tutorial (And Brush Downloads) from Selwey (click image below):

Additional Sculpting Cloth Tutorial (click image below):
Hair can be created in 4 distinct ways in Maya (excluding stylized boxy-geometry)--
For Long hair that needs to be very realistic and possibly dynamic, Paint Effects with a hair system simluation is the only way to go.
Here is a demo on how to create paint effects hair. Click on the Image Below:
For Game artists, or animators looking for a little simpler method, using polygon or nurbs planes lofted from curves, then transparency mapped is a viable solution.
Here is a demo on how to create Polygon hair. Click on the Image Below:
Creating Hair, the Epic Studios Way with Maya's Visor:

For Short hair (or fur), fur simulations can be used.
Here is a demo on how to create Fur Simulations. Click on the Image Below:
For more info about setting up Fur for rendering,
Creating Hair Using Maya Fur Simulations---

Hair using Paint Effects: The eyebrows:
To create the eyebrows, I usually use Maya's Eyebrow PaintEffects brush which you can find by going to Window-General Editors-Visor-Hair. Here I have it selected. It will draw right onto any selected surface that you make paintable (Rendering-Paint Effects-Make Paintable), so I trace out a few PFX strokes onto the brow line. I can also modify the shader settings in the Attribute editor to control the color and transparency of the eyebrow.
Note: there is also an Eyelash brush (second icon on the second row as seen in the image below) and while I won't be covering it here, the process is essentially identical.
Now the problem with PFX is two fold. 1-They don't render in Mental Ray. 2-They won't move with the skin underneath because there is no easy way to bind them. To remedy this we will convert them to Polygons... Modify-Convert-PFX to Polygons as seen below:
Once they are polys, we can perform a Mesh-Combine operation. The trick then becomes (since now they will render), "how do we get them to move with the head when they face blenshapes into a brows-up position for instance? To do this we will use a wrap deformer:
Problem is, wrap deformers are very expensive to use computationally because they require the whole model to deform a whole other model. To speed up this process, We can use the Paint Memebership tool:
Choose wrap1Set as the set memebership to paint and first remove all the verts. Then I go back in a second pass and add just the verts surrounding the eyebrow geo.
Now, thats all you have to do to get the eyebrows to move when the blendshapes are targeted.
Short Hair using Fur: Skull and Beard:
For this character who has a recently shaved head and facial stubble, a fur simulation is the best option.
Because my UVs for the head look like the below image (notice there are seams right through where the hair fits), I am going to have some problems painting the fur. The biggest problem with using Fur is the UV seams. Note my current UV layout. I have marked three arrows (UP1, UP2, UP3) and each point up in Tangent Space (aka in the UV texture editor). Maya's fur properties are baked to texure maps which mean that they are painted with regards to this tangent space setup.
BUT, look at how these three vectors are applied into 3d space!!! all of a sudden, they are each going in different directions. This means when I try to paint directional properties, the hair will be near impossible to get growing at a consistent angle.
To remedy this, I am going to apply the fur simulation to a separate mesh that I will generate from extracting out the skull cap area of the head.
As soon as the geo is extracted I delete the history, assign a black surface shader, and set the render stats all to off so this geo does not render.
Don't forget to also turn off the mental ray render stats!!!!
Here are the UVs of just this area. Still problematic, but since this geo won't render, I can reset them up just for fur.
With a little bit of cutting and reprojection, I can set the UVs up like this, so not only do they have more area to use, but they also are oriented to the best possible ability in Tangent Space.
Note how the "sideburns" come down to a similar angle as the beard area comes up to.Now I can attach fur this area:
I alter my U and V samples to get a better estimation of where the fur is growing from:
And here are my properties for the fur itself. I have turned down the global scale to make it shorter, and upped the density to make it thicker.
I have also set my map width and height to 1024sq.
Now, one would think that to apply a texture map to the main areas: Baldness, Length, etc... one could just apply them maps as seen here in Details-Baldness-Maps-Add Item.
The problem is, Maya has a long standing bug which doesn't allow you to directly add maps. You have to "trick" it into beleiving there is already a map there.
To do this, Go to Fur-Paint Fur Attributes Tool, then choose the appropriate category. Paint a little bit then exit and you will see that there is now a spot for you to input a map in Details-Baldness-Maps.
I can now paint my own maps for baldness and length after I first "pretend paint" them with the paint fur attributes tool.
I do use this tool however to paint direction, and If you UVs are set up with few seams and correctly oriented tangency across seams, you should have no problem "combing" your fur from here.
To finalize the creation of your fur, you must BAKE it. To do this, select the fur, and hit the bake button. Then immediately save out your scene. On scene-save, your maps will be generated.
Make sure to take this maps with you in your project directory!!!!
Longer Hair using Maya Dynamic Hair:
For this character I needed longer hair, and that meant Maya Dynamic Hair.
OVERVIEW:
To create Maya Dynamic hair (which does not have to be used dynamically as seen in this example) you first need to create guide curves from which the hair can be rooted and "grown". Once the curves are generated, we can apply a hair system to them. This hair system has "global" properties which control everything for all the hair, and also has "local" override properties that can be controlled on a per-follicle basis. Every curve gets it's own follicle when you assign a hair system. Lastly, to make this system renderable, we assign a special paint effects stroke (this type IS renderable in Mental Ray) which has texture and material properties. The final result is the creation of what you see below (hardware view) and above (rendered).
Here are the properties that we are going to need to use to create the Hair. The Hair menu can be found in the Dynamics Menu set.
Once we create our curves, we will use the Create Hair option to assign a hair system.
To make the curves dynamic... we'll you should be able to guess which option that is.
Then finally to make the hair renderable we will use Assign Paint Effects Brush to Hair.
So first we obviously need to create some curves. I do this by selecting the head and making the surface live using the large magnet on the status line.
Using the EP Curve tool (ciricled below left), I can then draw right on the head the direction of the hair. For any guide curve needs that do not stick to the head, I simply turn off "live" mode by again clicking hte magnet draw freely in an ortho view, then use the CVs to move/rotate into 3d space. Here is a look at the curves I have created. Note, its not 1 curve for EVERY hair on the head, each curve will have a clump of hairs it controls, so maybe a 1-50 ratio or so? We can set those preferences later.I created about 200 curves for this head.
IMPORTANT: I always draw from the root to the tip. This insures that I don't have to reverse the curve layer when I apply the hair. If I draw from tip to root, my hair will grow backwards.
Once I have these curves created, I put them in a group and HIDE the group. Then I remove one curve from that group and put it in an unhid new group. The reason I do this is that editing hair can be cumbersome when you are trying to figure out which curve controls which group of PFX hairs. So I hide what I don't want to see. I then select the 1 visible curve and Assign a new hair system (one you have created your first system you will see them show up in the listing seen below and can choose those to automatically reapply the same properties)
You should never really have more than maybe 2 or 3 hair systems per character, and for most characters could probably use just one. For this character I have two types of hair, thick and thin which I can choose to use. I used the thick hair for the bun and top of head (as I wanted it to have very little gaps) and I used the thin hair for any little "trailers" or "wisps" like the sideburns or very back near the neck. You may also want to use two systems if you have something like a ponytail where the hair on the top of the head is static and the ponytail is dynamic.
***Hair systems control properties that you want identical on large sections of the hair***
For any other small changes, you can use the per-follicle overrides which we will look at in a minute. Once you have assigned your hair system to the initial curve, you will now see two curves. One will be the original dark blue, the new one will be a light blue. The new one is your dynamic curve which is attached to the folicle. Select this new curve and Assign the PFX:
That should give you something like this (seen below). You can edit the CVs of the curve to change to the clump of hair and make sure the roots dip into the head, and the rest of the hair never dips back in while contouring the way you want.
Repeat this process for many more curves, and you will get a setup that looks like this:
A-These are your original curves that I have manually put into a labeled group. Keep them for use later in case you want to duplicate and make more hair clumps.
B-These are your hair systems and associated PFX nodes (for instance, thick_hair is the actual dynamic node for the hair, thick_hair1 is the PFX "material" node). These are the general properties of all the hair and are the master controllers.
C-These are your clumps of hair called Follicles. Each curve from column A has a duplicated curve that gets created automatically and gets grouped under the corresponding follicle. The follicles have individual override settings for the hair system, and their curves will disply dynamic properties if played back.
Below is an image showing properties of the Thick Hair system used in this demo. Graphs and sliders control dynamic elements, shading, and draw qualities. These should be experiemented with in your own scene via render test to find the values that work for you as the needs will change from character to character and lighting setup to lighting setup. Thusly, I cannot recommend specific values to use, and need to recommend personal experimentation instead.
Note that each of these values can be overridden in the Follicle. Here is a look at the settings you can control on a per-follicle level.
Using this process should give you a manageble, lifelike, full head of hair.
And if you want to know more about the dynamic properties of hair, including how to use this system to drive your geometry, you can use this video of mine here:
Creating Hair using Textured Planes (also great for games):
For this character I decided to use textured hair planes. The advantage to this is 2 fold: I have direct texture control over the look of the hair, and also that this type of hair works in a real-time enviornment.
Here is what the geometry looks like for this head of hair. It is made of 300 or so overlapping NURBS planes (but Polyplanes can also be used of course). I have the freedom to sculpt and model them however I want. However, It is important to note that they are ALL ORIENTED THE SAME WAY as seen in the second image where I have applied a ramp texture to the material. Notice that red is consistently the tip side of the texture plane, and blue is consistently the root side.
![]()
I created these planes by generating EP curves, exactly the same as in the demo above on long hair using Maya Dynamic Hair. Except this time, instead of creating a hair system and attaching it to the curve, I am creating geometry from the curve using Surfaces-Surfaces-Loft. Select the two curves and choose this option to output NURBS geo by default. Remember when you do this though that your EP curves need the same number of spans and need to be drawn out the same way (root to tip) to make sure the UVs orient correctly too.
If you care to output to polygons, you can do so by swapping these options. For curly or wavy hair, you will need a higher count. For straight hair, set the count as low as you can go which will make just a single face plane.
From here we can now make the texture for the hair (assuming that you have now created all of the geometry). Go to Window-Paint Effects:
Click on the "double brush" icon shaped like a "V" to open the Visor. Choose the hair type you desire:
We want to set the canvas size under Canvas-new (I choose 1024 square here), and VERY IMPORTANTLY you should edit your background color to roughly match the color of your hair. Leaving it white usually makes the hair look "fringed" as the white blends with the alpha creating a 1 pixel "Stroke" of white around each hair. UGLY.
Click the Pain Effect Brush Settings Icon shown below to open the Settings window. To straighten the hair, you will want to edit the number of Multi Streaks, Segments, and Length Min and Max shown in the two images below. You can also edit the color under shading. Draw out on your canvas to test, you can always crop these out to separate images later.
Now the cool part about this process is that when I create a color map, it also SIMULTANEOUSLY creates a matching alpha channel for transparency!!!! Just save your texture as a targa when you are done.
Now lets move on to hooking up the texture. For simplicity's sake, I am going to do this to a single plane in a test scene. I create a new Blinn material and drive the outColor and outTransparency from the texture into the Color and Transparency nodes of the blinn. When I hit "6" to enter textured mode, it gives me the following look in the viewport. Looks great, right???
Well when I render, there are two apparent problems. 1 is the blown out specularity since the Blinn is completely shinny the surface looks laminated in plastic. 2 is the fact that the shadow takes on the shape of the square plane, not the shape of the hair.
So, I head to photshop where I make a specular map out of the alpha and color maps combined. I hue shift it blue to give the sheen off the hair a slight bluish tint. I put black in the "alpha" area and then load this into Maya where I apply it into the Specular Color channel of the Blinn. And now.... NO laminated look. Hooray! But, one problem still remains, the square shadow....
To fix this, I need to create a Mental Ray shadow shader. See... mental ray is kinda dumb. It needs your help to figure out what this shadow is really supposed to be doing.
Go to the Blinn's shading group node by click the "spaceship exiting the stargate" button (just to the left of Presets). Open up the Mental Ray section and under custom shaders hit the checkerbox for Shadow Shader. Here, create a Mib_shadow_trans (as seen in part 2 of the image below). In the Transparency section of the Shadow Shader, you can input the Alpha from your color map (outalpha to Transparency).
But then you render and this happens..... Um... Dear Mental Ray... WTF???
Ok, so MR is, for some god-forsaken reason, BACKWARDS from Maya when it comes to alpha detection. What this means is that where there is black, Mental Ray sees white.Seriously, WTF....
So what we need is a Reverse node between the Color texture and the Shadow Shader:
Take the Color node and MMB drag it onto the Reverse node. Connect OutAlpha to Inputx/y/z as seen below. Then hook the reverse into the transparency of the shadow shader, and finally that shadow shader into the shading group of the Blinn (which you should have already).
WATCH THIS VIDEO on Creating LOD Groups in Maya:
![]()
PROJECT 2 Example ORTHOS:
![]() Image by Luis Martinez |
Image by: Meng Her |
![]() Image by: Dante Gainer |
|
JUMP
TO A SPECIFIC WEEK: |