WoW-style clothing system.

So I've been working on a few methods to achieve a clothing system similar to the one World of Warcraft uses. Essentially, most clothing is simply a texture over one's body.

I have thought of a few methods of doing this, but I'd like to hear input from someone who might have more experience. I do have the scripting skill, just not the theory behind it at the moment.

What sort of method does WoW itself use to apply clothing the way it does? How could it be replicated in Unity?

Probably a shader. One model, a "bare skin" over-all texture. Painted on clothing is chest, arms, legs and feet. One masking texture with r=chest, g=arms, b=legs, a=feet.

Clothing is made as 1 of each part, on a texture. For simplicity, imagine all clothing comes in matching sets (but it's just to save space, so if we have more arms than legs, we'll need some textures with just arms on them.) Clothing texture#1 might have silkChest, silkArms, silkLegs, silkBoots. Clothing texture#2 is the same, but wool or something, and so on. The alpha texture of a clothing channel is a further mask (so the skin can show through in shorts, or jeans with holes.)

To draw, give the skin texture, the partsMask, and the 4 part textures in order: chest, arms, legs, boots. So, if you have silk arms and legs, leather chest and gorse feet, the last four textures are leather, silk, silk, gorse. The chest is added using weighting partsMask.r * tex#3(chestType).a. Arms use partsMask.g * tex#4(armType).a ... .

Six total textures and a little blending is no problem for just one pass (beats me if a cell-phone can do that easily.)

I believe that City of Heroes, for example, uses separate meshes for arms and legs.