Game character creation

This article describes the process of creating a character for a game engine. The article is primarily addressed to those who are interested in the process of developing next gen models, as well as to anyone who wants to look behind the scenes of a modern igrodelo. I made a character for the portfolio, I switched to the characters recently, we can say that this is the first character brought to mind. Since this work is my personal project, I set the limit of triangles to 20,000, textures to 2048 * 2048, the work was planned under PBR .


First of all, I’ll tell you the plan according to which I acted, an approximate pipeline. The pipeline or production sequence in creating graphic content may vary from firm to firm, and from artist to artist. Here is described the pipeline that I followed, excluding the first 2 points, because I took as a basis the finished concept and the last 2.

  1. Verbal description
  2. Concept
  3. Modeling / sculpting general forms of a high poly model (HiPoly)
  4. Retopology HiPoly models (creation of fine HiPoly geometry for detail)
  5. Detailing HiPoly Models
  6. Retopology HiPoly models (creating a game low poly (LowPoly), which goes directly to the engine)
  7. LowPoly scan (texture coordinate creation)
  8. Map baking: normal, ambient occlusion, color map (transferring information from HiPoly to LowPoly)
  9. Texture Creation: Diffuse, Specular, Gloss, Normal
  10. Rendering engine
  11. Rig and skin of the character (skeleton snap and snap to the bones of the mesh)
  12. Animation


But enough of boring lists. Now about the creation process in more detail.
I found the concept in the vastness of the network, and I wanted to make it in 3d. Later, I discovered that this character has already been implemented in 3d more than once.


But still, I did not give up the idea of ​​implementation, I just decided that I would rework some of the details a bit, I would not completely repeat the concept. First of all, I decided to fashion the model in one piece in ZBrush. ZBrush - (brush, zebra, zibrash) is a wonderful program that allows you to "sculpt the model", which is qualitatively different from other programs of three-dimensional graphics, where we work on the model through the vertices, edges and polygons. Here we have a brush with various properties, and with the help of a tablet you can perform rather delicate operations, like a sculptor or clay artist. Using a brush allowed me to cut off errors with the main masses and proportions at the initial stage, with a simple model in the brush I could very freely change the proportions and look for details of detail. It turned out

Although the model came out clumsy, the idea came to fruition, and the matter moved on.

A few iterations of the search, and a form was reached that satisfied me.

Retopology HiPoly Models

When it seemed to me that the model was ready for retopology, I switched to another program for creating fine geometry for sculpting - Topogun and 3ds Max. The essence of retopology is that a grid of another is built on top of one model. Retopology allows many 3D programs to do the same ZBrush, 3dsMax. However, the retopology there is very inconvenient (although some retopat in the scaffold) and poorly functional. Topogun is a program created for retopology and has many advantages over combine editors. There are drawbacks, after ten hours of working in it, I came up with a number of improvements, but who cares :) An important drawback: the lack of a normal auto-backup and the frequent Topogun crashes. A feature of the new topology was that it was prepared for smoothing (Turbosmooth), so there are almost no triangles,

An example of a new grid next to an old one.

In max, I fixed all the jambs and made the geometry clean. Retopology was long and tiring, because I exported every detail from the brush, then retopped separately in Topogun, then transferred it to 3dsmax, ruled it there and imported it back into Zbrush. Part of the model was made right at the max (for example, knee pads).

In the end, the model was almost completely sunk into a new, clean mesh and loaded again into Zbrush.

This is what a retarded mesh inside Zbrush looks like.

Final detail

Tired of the long mechanical process of retopology, I was glad to switch to detailing the model. Then everything is simple - I increased the number of polygons of the model and added details with brushes. I was not happy for long, when the polygon of the object exceeded 12 million, the computer began to blunt a little and this brought discomfort.

In the end, the model looked like this.

Retopology, the creation of LowPoly

It is time to make a grid for use in realtime renders (game engines). Again Topogan, now the work went completely in it, in max it corrected only some jambs of geometry. The work was for the portfolio, so I did not skimp on the triangles, although I know that there was a lot to save. At this point, I have already tried baking the Normal map to see if the details are adequately carried over. It was at this stage that I realized that with Topogun we were no longer on the way and already in the next project I abandoned it in favor of 3dCoat. But this is another story ...

This is how the new grid looks.

LowPoly model assembled in max. Now is the time of UV Unwrap.

Create texture coordinates

Until now, there was no need for texture coordinates. However, after preparing the LowPoly model, you need to create the correct UV coordinates to bake the maps and to make it possible to texture the model. I did UV in 3dsMax, I think the built-in editor is pretty convenient. I used to use third-party programs, but when I properly mastered the UV editor in 3dsMax, it turned out to be quite powerful ...

Proper scanning ensures simple and correct texturing, removing maps and can affect the quality of textures.

This is how the layout of the UV pieces looks.

Baking cards

The essence of baking cards (in this case) is to transfer information from the HiPoly model to the LowPoly texture. I baked using the xNormal program - an excellent program that does much better with baking than combine programs. I baked a normal map (tangent space normal map) (information about the surface topography that adds fake detail to the model), ambient occlusion (self-shadowing map), I received a cavity map from ambient occlusion, also received an object space normal map using the xNormal utility from tangent space normal map.

This is how the model looks in the engine with normal map and ambient occlusion. Marmoset Toolbag engine. There are still baking errors that were fixed in Photoshop.

Texture Creation

Now that you have prepared the cards that could be obtained by transferring information, you need to prepare cards of diffuse, specular and glossary. Previously, diffuse, normal and spec cards were usually enough, now PBR allows you to create gloss effects, and not just information about the strength of reflection. There is a wonderful Photoshop plugin that makes it easy to create and edit all of these maps - dDo. This is a terrific program, which essentially allows you to manage several parameters of maps through masks at once. It took some preparatory work so that I could work with this plugin, by the way, I used it for the first time in my pipeline. The plugin allows you to parametrically add various surface effects, such as scuffs, stains and dirt, so it turned out to be very suitable for this work.

The texture resolution I worked with was 4096 * 4096, the Photoshop file quickly grew to 6 gigabytes. Again, I was glad that I had a rather fast computer :)
In the end, despite the fact that I redid the texture several times (because Photoshop killed the file several times), the textures were created.


And finally, the final render! Although, in fact, this is a texture preview, I did not load the model into a real, adult (UDK, Unity3d, CryEngine) engine. For each engine (as well as the setting, location and individual color scheme of the game) most likely it was necessary to conduct its own tuning of textures.

Next, it would be necessary to make a rig for the model and attach the grid to the skeleton, and then animate or put in an interesting pose. But about this some other time.

Actually, that’s all. Thank you for watching, ask questions in the comments, maybe something will be interesting.

PS This is my first article on Habré, so if I did something wrong, let me know.

I also want to immediately note: regarding the realism of armor, questions for the concept artist, also do not forget that the art component is often more important than functionality and realism, although ideally, of course, this should be combined.

Also popular now: