A model will need good UV mapping co-ordinates before texturing. That might seem a little daunting on a high resolution model, which is exactly why the workflow of polysmoothing after rigging works so well. We are actually UV mapping our pre-smoothed low resolution control cage, not our final smoothed model. A cylindrical UV map is a good starting place:
However, If you look at the flattened out UV's top right, the basic feature layout of the wireframe, doesn't really resemble the models face proportionally, and that will lead to UV stretching. Roughly speaking, the closer your UV layout resembles your polygonal mesh layout, the less UV stretching you will have. I've seen a failing to grasp this principle so often, that I feel compelled to spell it out rather obviously! :
Mouse over the image below. Note the texture swimming on the upper lip is due to the lack of resemblance between polygonal and UV layout. Note how once the UV co-ordinates more closely resemble the polygon layout the texture warping dissapears:
So, we need to spend some time getting our UV layout to resemble our polygonal layout as close as possible. You will also need to watch out for complex overlapping geometry too though, and it's often worth doing a subtle 'relax' UV's over the entire UV layout, or just certain areas like ears, so that polygons don't end up sharing the same UV co-ordinates. Here is the ear on the left immediately after the cylindrical map, and shown at right after a relax UV's operation:
Of course, this might tend to almost contradict what I was just saying about keeping the UV layout as close to the polygonal layout as possible, and technically speaking it does ( which is why I mentioned If using a relax function, to use it subtly ) , since the relax changes the UV's co-ordinates in relation to one another. But when it comes to complex geometry, there really is no alternative, and it ends up being a compromise between the two concepts. After some scaling, moving UV's by hand ( this is the bit where you're glad your control cage is reasonably light ), and stitching, I ended up with this:
Note that areas like mouth/eye interiors have been moved aside for ease. Any game artists out there will be looking at this and thinking how horribly inefficient it is ( there is so much fat in pre-rendered CG! ) and of course I would UV this somewhat differently If it were destined for a game engine. I would mirror the side of the head for starters. But as I always knew this was destined for rendering, it's not really an issue.
tip: in Maya, it may not seem immediately obvious how to quickly and cleanly separate specific UV faces amongst complex geometry ( i.e like I've moved the mouth interior aside in the above image ). The 'cut uv's' function deselects the faces afterward which is a real pain. Solution: select the faces, hit flip UV's, flip again to bring them the right way up, and then right click, select UV's. Hey presto, you have all those faces you selected now selected as neatly separated UV's.
I'd then use the UV snapshot function to export this image as a targa and bring into Photoshop. A wireframe such as above however, can be a pretty daunting place to start for creating a texture map. Most CG packages allow for baking out a lit and shadowed map. In Maya, its called ( from the Hypershade ) the 'Convert to file texture' option:
Using this function, I can setup a simple blinn shader and a couple of lights in the scene, and export an image like so:
Now, whilst this doesn't necessarily have to be used as a basis for a texture map, it's a lot easier to 'read' than a wireframe for what facial features are what, and can be very useful as a reference layer.