Describing the process of creation of a character for game engine, this article is addressed most of all to those who are interested in developing Next-gen models and to anyone who wants to look behind the scenes of modern game making as well. This character was made for portfolio. I began to design characters not so long ago; one could say this is my first complete and finished character. Since this work is my personal project, I determined the following parameters: 20 000 triangles and 2048×2048 textures. The model was planned to be a physically based rendering.
First of all, I’d like to show you my work plan, a rough pipeline. Pipeline or production sequence of graphical content creation can vary from firm to firm, and from artist to artist. Here I described the pipeline which I had followed, excepting first two points – because I took as a basis a ready concept – and also last two points.
1. Verbal description;
3. Modeling/sculpting the general forms of a high-poly model;
4. High-poly model retopology (finishing high-poly geometry for the further detailing);
5. High-poly model detailed elaboration;
6. High-poly model retopology (creating a game low-poly model, which goes directly to game engine);
7. Low-poly UV layout (creating texture coordinates);
8. Map baking: normals, ambient occlusion, color map (transferring information from high-poly to low-poly);
9. Creating textures: diffuse, specular, gloss, normal;
11. Character rigging and skinning (framework rigging and binding the mesh);
But let’s leave all these boring lists and discuss the process of creation in detail.
I found the concept in the vast spaces of the Internet, and I felt like making it in 3D. Later I discovered that this character had been already created in the world of 3D many times.
Nevertheless, I didn’t abandon the idea of creating this character. I just decided to rearrange a bit some details. Why make another one pattern? First of all I decided to sculpt the entire model in one piece in ZBrush. ZBrush is wonderful software that allows you to mould the model. It differs from other three-dimensional graphics software, where we operate with vertices, edges and polygons. Here we have a brush with different options. Using the tablet one can make pretty delicate operations, like a sculptor or clay artist. ZBrush allowed me to avoid in the initial stage the errors connected with general masses and proportions. Working with this software I can easily change proportions and try different details. It turned out that sculpting hard surfaces isn’t easy at all.
Although the model appeared to be crooked at first, little by little the work was moving on.
Finally, after a number of alterations, I found the necessary form.
When I judged that the model is ready for retopology I switched to another software in order to finish geometry for sculpting – Topogun and 3ds Max. The essence of retopology is to build a new model’s mesh over the other model. Many 3D graphics software contain the function of retopology, the same ZBrush and 3ds Max. However, these programs are not very handy for retopology and have little options and functions. Topogun – it is software developed specially for retopology and it has many advantages over other graphic design software. There are some disadvantages – working in it for ten hours I came up with a number of improvements – but who cares:) Main drawbacks are: the absence of normal auto backup and frequent crashes. Since new topology was made special for Turbosmooth, there’re almost no triangles. I tried to use only quad polygons.
New grid sample next to the old one.
Then I corrected all errors and distortions in 3ds Max and finished there geometry. It was long and tiring retopology, because each detail was exported from ZBrush, processed in Topogun, then transferred to 3ds Max, adjusted and sent back to Zbrush. Some model parts were made directly in 3ds Max (for example, knee-caps).
Finally, the topology of the model was adjusted completely; I made a new clean mesh that was loaded back in Zbrush.
This is how my mesh looks like inside Zbrush after retopology.
Since I was tired after a long mechanical work on retopology, I was happy to switch to the detail elaboration of the model. Everything is simple here: I increased the number of polygons and added the details with the help of brushes. Happy moments didn’t last long – when the amount of polygons was more than 12 million computer started to give me troubles and it was pretty inconvenient.
As a result, the model looks like this.
Now it’s high time to make the mesh for use in realtime renderers (in game engines). And again Topogan. This stage was performed fully in this software, only some separate geometry distortions were corrected in 3ds Max. Since the work was made for portfolio, I was generous with triangles, although I know where I could save. At this point I tried to bake out a normal map to see whether details transported properly. Meanwhile I realized that Topogun is no longer on my way, in the further project I abandoned it in favor of 3dCoat. But that’s another story for another time…
This is how the new mesh looks like.
Low-poly model was assembled in 3dsMax. Now it’s the time for UV-Unwrapping.
Until now there was no need in texture coordinates. But after low-poly model was made I need to create correct UV-coordinates to bake maps and to be able to texture the model. I made UV in 3ds Max – in my opinion, the built-in editor is quite handy. I used to work with another software, but when I became familiar with UV editor in 3ds Max, it turned out to be pretty powerful.
Proper layout will guarantee easy and correct texturing and removing maps; it can also influence the quality of textures.
This is how UV layout looks like.
The essence of map baking (in this particular case) is to transfer the information from high-poly model to the textures of low-poly. I baked using xNormal – an excellent program, bakes much better than multifunctional software. I baked tangent space normal map (surface relief information, which makes the model more detailed), ambient occlusion (self-shadowing map). I received cavity map with the help of ambient occlusion. And object space normal map I made using xNormal utility out of tangent space normal map.
This is how my model looks like in the engine with normal map and ambient occlusion. The engine is Marmoset Toolbag. You can see here some distortions that occurred when baking. Later they were corrected in Photoshop.
I prepared the maps which can be obtained by transferring the information. Now I need to create diffuse, specular and gloss maps. Previously, diffuse, normal and spec maps were enough, but now PBR allows to create gloss effects, not only the information about the degree of reflection. There is a splendid plug-in for Photoshop, which simplifies the creation and editing of all of these maps – dDO. It’s a terrific soft, it allows to change several map parameters with the help of masking control. After some preparations I was able to work with this plug-in, By the way, I used it in my pipeline for the first time. dDO allows to add parametrically various effects to surfaces, such as abrasions, stains and dirt, so it was very useful for this work. I generated basic texture details and then modified them manually in Photoshop.
Texture resolution was 4096×4096, the file quickly grew up to six gigabytes and again my fast computer made me happy for a while:)
Eventually, despite the fact that I was doing textures anew several times (Photoshop killed image a few times), textures were created.
At last, the final render! Although in fact, this is a textures preview. I didn’t download the model to a real game engine (UDK, Unity3d, CryEngine). For each engine (for each setting, location and individual color solutions as well), most likely, the model will need some special tuning of textures.
Next I should have rigged the model, bind the mesh, then animate the character or put it in a spectacular pose. But I’d like to tell you about it some other time.
That’s all, actually. Thank you for reading this article! Ask me questions in the comments – maybe you are curious about something?
P.S. This is one of my first attempts at writing. That’s why, if I did or said something wrong, please let me know about it.
Also I’d like to mark, regarding the armor and the degree of its realism and soundness, all questions go to concept artist. Don’t forget that often art concept is more important than functional and realism. Of course, ideally, they must be combined.