Making Of 'The Steam Master'
This tutorial is intended for people with a prior understanding of the basic tools used for modelling and texturing.Â This is not a step-by-step walkthrough, but more of a project overview.
This tutorial will present the workflow used by character artists working at AMC Studio when creating a Next Gen character. There are alternatives to this, but prior production experience has led me to believe that this method gives the most satisfactory results.
The inspiration for the character comes from Asimov's sci-fi novels, with a bit of Steam Punk, Fahrenheit 451, Ray Bradbury's dystopian novel, etc.
Basically, there are 5 phases to be followed:
- Prehigh modelling
- High-res modelling and face textures
- Low-res in-game mesh and UVs
Here's a quick sketch I did. Â It doesn't contain too much detail in it as I'll probably change a couple of details during this tutorial. Â Working with technical restrictions usually causes this (Fig.01).
2. Prehigh Modeling
You can use any 3d modelling package for this stage. Â I used Maya, but that shouldn't be a problem for people using other programs as the descriptions are pretty general and can be easily applied to other 3d packages. Â This phase is very important as it defines the proportions of the characters, its silhouette and functionality.
Now is the time to decide which parts can be modelled separately. Â Most of the time, the accessories should be separate geometry which can be modelled fully in Maya. Â It's also very important to keep the entire mesh built out of quads so that the work we'll be doing later in ZBrush will be easier.
Here's a breakdown of this model (Fig.02):
Each part has a different material to it (Fig.03):
- Skin Face
Tip: Having some generic meshes to start from helps a lot when doing characters!
I usually use a generic head made earlier. Â For now, I'm not interested in details and anatomical features; I'm more concerned about the general proportions of the head.Â
I won't go too much into detail here, unfortunately, as it takes a lot of time to go through this stage step-by-step.Â I'll therefore concentrate on the general aspects of getting the natural proportions of the head right. Â I use lots of anatomical references and photographs when working and so should you! Â Even if you have your own concept for a particular character, the subtle details require photographic reference.
On this particular model the ears are not visible so I won't pay too much attention to them. Â The same goes for the neck area. Â This is good, because I can concentrate on the face and the shape of the head (Fig.04 and Fig.05).
I use a flat black shader (Surface Shader in Maya) to check the silhouette. Â After I'm happy with it, I move on to modelling the hood. Â As the hood is shaped by the head, I start the hood's geometry by extracting a part of the head I modelled earlier. Â One very important thing is that the hood should retain the initial head's topology so there won't be any problems at the seams, especially since the part of the head that's not visible will be deleted (Fig.06).
I'll give the head a basic cylindrical UV and then use the Unfold command to improve it. Â Later I'll texture it in ZBrush using the Image Plane and Projection Master (Fig.07).
Tip: when doing UVs for ZBrush, leave some extra pixels on the sides towards the origin of the UV space or else you won't be able to use Projection Master!
Next up are the glasses. Â I want them to look retro, so I'll make them from simple materials like bronze and leather. Â I use a torus as the basic shape and continue from there, extruding my way to the final desired shape (Fig.08 and Fig.09).
I then add divisions where I want sharp edges, especially on the metal parts (Fig.10).
To make ZBrush work easier, I'll split the glasses based on materials: bronze, leather and rubber (Fig.11).
3. High-res Modelling and Face Texture
Before I export all the parts into ZBrush, I double check for polygons with more than 4 sides. Â These can cause nasty problems when sculpting so avoid them at any cost!
I import each mesh in ZBrush 3.1 as a subtool. Â I use this feature as it allows me to import a lot of geometry into the scene. Â It's a lot easier to split a very high-polygon model into lower resolution parts and work on each of them individually, which means better performance in ZBrush (Fig.12).
This is how the imported objects look in ZBrush. Â I import them one by one as subtool, starting with the head.
So, the head is first! I gathered a pretty large collection of pictures of old people, wrinkles and other details. Â Google is my best friend!
I won't go straight into details yet; I'll take the natural approach of doing the big shapes first. Â It's very important to be aware of the skeleton and muscles that give the face its form. Â As the character is meant to be an in-game model, I'll have to amplify some of the shapes.
Level 02 ZBrush (Fig.13):
Level 04 ZBrush (Fig.14):
Starting from the level 4 subdivision, I start adding the details. Â I'll try to add some asymmetry to the face to give it a natural, realistic look. Â I'll use this level to start texturing. Â The most important plugins here are Image Plane and Texture Library. Â Most of you are probably familiar with those so I won't go into more detail here. Â You can use ZBrush's website for more details on these plugins: http://www.zbrushcentral.com.
Level 05 Zbrush (Fig.15):
I won't add further detail to the geometry until I'm satisfied with the texture. Â One big advantage to working both geometry and texture in ZBrush is that you can have the same level of details on both. Â Also, you'll know when to stop adding details into the hi-res mesh!
For this head, I used a lot of alpha brushes to add different surface details. Â I used skin textures to create them. Â The target for the ZBrush generated textures is 2048x2048, but the final texture to be used in-game is 1024x1024. Â I won't add any more details so I won't have details that are finer than one pixel.
Level 06 Zbrush (Fig.16):
Next step is the hood. Â I'll use the same workflow I used for the head.Â The neck area is a particularly hard area, as references are hard to find for this type of hood. Â This is where improvisation comes into play! Â Just remember to keep everything looking as realistic as possible.
Hood Level 2 (Fig.17 and Fig.18):
I won't add the weave texture in ZBrush as it will probably be lost when I resize the textures from 2048 to 1024.
Last but not least are the goggles. Â The metal parts were pretty much done when I exported them from Maya, so I'll concentrate on the leather. Â One important thing to remember is that the leather strap is tightly strapped to the head, so it should look accordingly (Fig.19 and Fig.20).
4. Low-res Mesh and UV Layout
This phase can be done in almost all of the well-known 3d packages. Â You can use ZBrush Topology or Maya Live to do it. Â I'll use Topogun, a tool developed by Cristi Prefac, one of my colleagues. Â Topogun will allow me to redo the entire topology for the low-poly model and then bake the normal map, ambient occlusion and colour map from the high-res model to this low-res one. Â I decided to keep the polygon budget around 4500 triangles, so I'll have plenty of geometry for the character's facial features!
I'll import the last level from ZBrush as reference into Topogun and use the second level as a starting point for my in-game mesh (Fig.21 and Fig.22).
After I redo the topology for all the parts, I go back to Maya to build the final in-game mesh. Â I take this chance to optimize what I can by reducing the poly-count and tweaking the UVs.
I do this by either using Maya's Unfold command or Road Kill UV, a cool free UV tool.
Here you can see the way I've split the UVs into different layouts. Â Each will have its own texture (Fig.23).
After making sure that the UVs are properly layered, I go back to Topogun to bake the normal map and ambient occlusion map. In the next image you can see the settings I used when doing this (Fig.24).
The generated textures will be combined in Photoshop. Â I usually work directly on the normal and ambient maps in Photoshop to correct the errors produced by the baking.Â You could try re-baking the textures until you achieve a satisfactory result, but usually it's faster and easier to just paint, clone stamp or smudge the errors (Fig.25).
Tip: You can add details from the diffuse textures by transforming it into a normal map using Crazy Bump or NVIDIA's NormalMapFilter. Â This resulted normal map can be overlaid on the baked one to achieve the surface detail needed (Fig.26).
Here's a quick view of the character with normal maps applied.
The diffuse texture is baked in Topogun from the ZBrush high-res model created earlier (Fig.27).
For the hood and glasses, I create the textures in Photoshop by using the normal map and ambient occlusion as a starting point. Â The surface detail was created using a weave pattern and a crumpled paper texture to give it that old, used look.
The glasses use different patterns to define the bronze, leather and broken glass. Â I also added some dirt textures to enhance their look.
Diffuse Maps (Fig.28):
Flat shaded (diffuse only) model (Fig.29):
The specular maps are built using the colour maps as base. Â I start by de-saturating the image to get a better view of the grey shades. Â For the shiny areas, I enhance the lightness, sometimes to near white. Â For some materials (metals for example) the specular looks best if its colour is complementary to that of the colour map. Â I know that having too much contrast on the specular map can make the character look unrealistic from up-close, but actually this effect is preferred because it enhances the look of the character when viewed from a medium distance as most game characters are meant to be viewed. Â To give the specular map variation I used "dirt" maps that, unlike the dirt maps used in the colour texture to add small details, add variation on a larger scale. Â Also, I try to vary the specular as often as possible; for example I defined the hood as being made from two different materials by giving it two distinct areas with different specular colour.
Here's the final Maya scene viewed in High Quality Mode. Final poly-count: 4400 polygons (Fig.30 Fig.31 and Fig.32).
Tip: To achieve a realistic skin look, use the Noise filter from Photoshop on the specular map. Â You can also add specular noise to other surfaces like metal.
Making a realistic head requires a lot of anatomically-correct references. Â The best ones are pictures of normal, everyday people. Â The character's expression has to be natural so a lot of attention has to go into detailing the face. Â As I mentioned at the beginning of this tutorial, a strong silhouette will also add to the quality of the final result.
As this head is intended for use in a game, the edge loops are very important, as correct and natural-looking deformations will give the animation a more natural, believable look.
At first the entire process might seem long and complicated, but by splitting the work into different phases everything is going to be much easier to follow. Â The last couple of years have brought a tremendous leap in what can be done with in-game characters by allowing the artist to use more polygons and textures to accomplish his work. Â This means we can do we could only dream of before Next Gen games.
I hope you have enjoyed reading this tutorial.
About the Author
Sorin Lupu is Lead Character Artist at AMC Studio since 2001. Â He has a degree inPainting from the Faculty of Fine Arts, a part of the National University of Arts in Bucharest, Romania.
He and his team have done character work for such games as Rise of Nations: Rise of Legends, Mercenaries 2, Saboteur and a couple of other yet-to-be-announced titles.