Create a Game Character: Jouster - part 9
This exclusive, free tutorial series will explore game character creation workflow. I will cover my entire process of taking a concept through to the final game asset.
You can see how the concept was designed by Marc Brunet on LayerPaint in his two-part tutorial.
During this tutorial series I will cover:
1. Blocking in the proportions
2. Sculpting the face
3. Sculpting the armor
4. Creating the armor meshes
5. Finalizing the details
6. Creating the low poly model
7. UV unwrapping and texture baking
8. Texturing the armor
9. Texturing the face
10. Model presentation in Marmoset
I hope you'll find this series of helpful in some way and if you have any questions feel free to contact me. Let's get started!
Texture the face
Step 1: Texturing in ZBrush
We'll begin the face texturing process by PolyPainting in ZBrush on our high poly model. I like to start with some photo reference as a base and paint on top over that. 3D.sk is a great resource for human reference and textures!
When using any photos for texturing, try to remove any of the harsh lighting information. In ZBrush, import the photo reference (Texture > Import) and click the Add to Spotlight button. Use Spotlight to align the photo reference with the model and begin painting the texture information onto the model with a Standard brush and RGB turned On (and ZAdd/ZSub turned off). Work your way around the model to block in some rough texture to begin with.
Next, turn off Spotlight and change the Standard brushstroke type to Spray and the Alpha to Alpha 07, or a custom skin pores brush. With the RGB Intensity very low begin to layer on and even put some of the skin tones from the texture reference.
Press C to quickly color pick and try to add some subtle skin variation. We'll be finalizing the skin texture in Photoshop, but this will work as a good base to start with!
Step 2: Baking PolyPaint
To bake the PolyPaint information is fairly simple: export the head OBJ from ZBrush and load it in the high definition meshes tab in xNormal. Scroll across and uncheck 'Ignore per-vertex-color'.
Load the low poly mesh and set the Ray distance from the previous bakes. In the baking options, check 'Bake highpoly's vertex colors' and hit Generate Maps.
Step 3: Texture the face
In Photoshop, set up the base colors and bakes group with the Ambient Occlusion map, like in the previous part. Create a new group above the base colors group called "Skin" with a layer mask, masking all of the skin areas.
Begin by blocking in some saturated red tones around the cheeks, nose and lips, some blue tones around the jaw line and under the eyes, and some yellow tones over the forehead, cheeks and mouth. Adjust the layer opacity so that the tones are subtly noticeable.
With a scattering, pore-type brush, begin painting some skin tones to add some more variation and some blemishes. To add some texture, create a new layer and fill it with gray. Apply a monochromatic noise filter (Filter > Noise > Add Noise) and apply a soft Gaussian Blur (Filter > Blur > Gaussian Blur). Set the layer blending mode to Overlay and the opacity low. Paint in some eyebrows with a small, Hard Round brush and add some eye make-up to the texture.
Pro tip: Tinted AO
When texturing skin, adjusting the color of the ambient occlusion can give the skin a more natural feel. I like to use a Gradient map, but a Hue/Saturation could also be used. Create a Gradient map and clip it to the Ambient Occlusion layer. Apply a mask to the Gradient map so it only applies to the skin parts of the Occlusion map. Adjust the Gradient map so that the dark parts of the occlusion are a more dark brown/red tone.
Step 4: Create the eyes
For the eyes I've added a small alpha strip that sits above the eye geometry, which is used to fake the Ambient Occlusion. There is some Ambient Occlusion that is applied to the outer areas of the eye texture, but the occlusion strip helps to 'ground' the eye into the eye socket.
When creating the iris, use some texture reference as a base and begin blocking in the overall tones on top. With a small brush, create some varied strokes radiating out from the pupil. Add some small flecks of color variation and to add depth, make the upper half of iris slightly darker and the lower half slightly lighter.
For the sclera, use a dull, off-white color and avoid using bright white, as this can make the eye look unnatural. Add some small reddish veins to the sclera, but be careful not to overdo it!
Step 5: Texture the hair
In Marmoset, the Alpha channel of the Diffuse map is used to control transparency. To create the hair alpha create a new group called "Alpha" and using a white, hard-edged brush, begin to paint the hair strand clumps. Once you've painted the hair strands, copy them to the Alpha channel and test how it looks in Marmoset.
To paint the Diffuse texture for the hair, block in some colors or use some photo reference as a base. Paint some larger clumps of hair, alternating between dark and light shades of the base tones.
Next, add in some thinner strands of hair. For this hair, I decide to add in some extra light and shade; to do this, create a new layer on top and set the layer to Soft Light. Using a large Soft brush, paint using black and white to add some highlights and shadow. Once the hair is complete, use nDo2 (or similar) to create the Normal map for the hair using the diffuse texture.
Step 6: Specular and Gloss maps
Creating the Specular and Gloss maps is the same process as with the armor. For the skin we want to give it a blue shade. This can be done by inverting the color information or using a Hue/Saturation adjustment layer. Use a Levels adjustment layer to increase the contrast in the skin details. Increase the lightness on the lips, the eyelids and tip of the nose for both the Specular and Gloss maps.