I started with flat colors as a base and as a way to separate the major chunks of the character: coat, skin, pants, bandanna, face, etc. At the same time, I broke my game res model in to several pieces and exported the .obj files for importing into xNormal. I broke it apart to make sure the calculation rays xNormal uses don't hit the wrong surface and cause lots of weird artifacting I'd have to paint out. In xNormal, I told it to spit out both a normal map and an ambient occlusion map, which I dropped into Photoshop.
I use the ambocc and normal maps as guidelines for where I need to paint. I multiplied the ambocc map on top of my flat color bases, except for the skin, which I used a 'linear burn' layer blend mode. Straight multiply tends to gray out flesh tones, where linear burn keeps it more life-like, though it takes some tweaking to tone it down a bit. Multiply is good for clothes or inorganic stuff, but linear burn is better for skin. Anyway, in addition to the ambocc map, I desaturated the normal map, and multiplied that over everything. This ramps up the contrast of the high parts and low parts, and tends to show off the ZBrush work more than ambocc. It takes a bit of care though, because it can give weird results and easily make seams on the model. It has to do with the orientation of the UVs and the RGB channels of the normal map. I could get into it, but this post is already getting long. Long story short, to minimize UV seaming, you can try only using one channel of the normal map, or just be careful to paint out the seams when you're done.
Okay, with the ambocc and desaturated normal map multiplied on top, I used a custom grunge brush to paint highlights and shadows to really push the tones. I used the brush and low opacities of different colors to break up the solid flat initial colors. With that done, I painted lines showing flow of folds, wrinkles, valleys, outlines, protruding edges, and meeting of different materials. And viola, texture!
