This last few days I’ve been working on the model for the City Guards, who will be standing around all over Knightingale City – the biggest city in the world. I thought I’d share some screenshots of my progress and the methods I use for creating 3D models for this game. This is a full out character, and not an environment prop like a rock or a door, which means it’s a little more complex than many other assets I make here. That said, though, I am keeping complexity to a minimum with the art production, because this project will have a lot of art assets, and I will be creating every single one of them by myself. This is why I have designed away things like normal maps, specularity, any kind of complex lighting and sharders, and so on.
Now, let’s take a look at this guard guy.
1 Concept Art
This is where pretty much every art asset starts its life, and it is literary just a quick doodle on a post-it note. Sometimes it’s cool to make more elaborate concept art, but since I am the one who both design and build this asset I can afford to be more laid back with the concept art. For this character I have been inspired by the roman soldiers from Asterix, as well as the guards from Ocarina of Time. Those two sources combined into this really slender, slightly goofy looking character. I needed him to wear a helmet, with a visor that completely covers his face, because there are actually going to be a lot of these guards, and they are all going to use the same model. That means they have can’t have a visible face, or it will be strange that all the guards in the whole world look like twins.
2 Highpoly sculpt
Because this is a character model, I have started out by making a highpoly sculpt in Zbrush. For most assets, the rocks and doors and so on, I skip this step and build the lowpoly game model directly, but humans and creatures have pretty complex bodies, and its easier to move stuff around in a program like Zbrush. I am going to bake a lot of the information in this highpoly model into textures, which will be used in the game, but I am not actually making a very detailed highpoly. If you haven’t looked at many Zbrush sculpts before a quick google image search will give you sense how ridiculously cool and detailed models you can make. Admittedly I’m not really that awesome even at my best, but I could spend a lot more time in this stage, and make the model much more detailed and well-crafted. I am however choosing not to, deliberately keeping things simple, in order to keep a minimalist art style and a feasible production time.
The highpoly sculpt from Zbrush has millions of polygons, which is way more than any game engine can handle in real time. In order to put this model into the game I have to create a lowpoly version of the model, using significantly fewer polygons. This is the primary reason why I make a highpoly sculpt, because it is the easy for me to build the lowpoly version “outside” it, using it as a reference. The other reason is to bake the highpoly information into textures, which I will talk about more in the next step.
4 Baking textures
Now that I have the final 3D model finished it is time to bake textures. I bake a whole lot of different ones, but the ones that are most important here are AO, Bent Normal and one I call Gradient Map. Normally, you would bake a Normal Map from the highpoly model. A huge reason you make a sculpt in the first place is to bake all that sweet, sweet detail into a normal map, so that you can use the lowpoly model in the game, and it will still look very similar to the high res version. That why big games you see on Steam and Xbox and whatnot look so good. For this project, however, I skip the normal maps altogether, using only a Diffuse Color texture, which is pretty much what you’d do for Nintentdo 64 and Playstation 1 (my textures have mush high resolution though, this is 2015 after all).
So yeah, Ambient Occlusion (or AO)… That basically mean I render the character with heavy duty advanced lightning, let the computer calculate where all the shadows end up, and paint those areas black. Once we have done all those calculations once, we can assume that the shadows will be pretty much the same place and not change much, and we can simply paint them right there on the model. Now, cast shadows will change a lot. If you are standing under a tree, you will be in the shade, whereas if you are standing in an open field you will be brightly lit. So those shadows we cannot bake into the textures. But no matter where you stand, you will pretty much always have darkness under your hat, inside your ears and so on. That’s ambient occlusion.
Bent Normals are something completely different. I honestly do not know what you are supposed to use the whole Bent Normal map for, but I do know that I am interested in the green channel (the computer saves images in three channels, one with all the blue information, one with all the red information and one with all the green). The information in the green channel of the Bent Normal map works like this: surfaces that faces straight up are white, and those that face down are black. Everything in-between are shades of grey according to their angle. The effect is something like you are standing directly underneath a bright light (such as the sun) where the top of your head and your shoulders are brightly lit.
The third map is the gradient map. I make this one basically by projecting a black and white gradient onto the model directly form the side. You can see what that looks like in the picture below. This has absolutely nothing to do with lightning. The ambient occlusion contains all the little shadows all over your body and the Bent Normals fakes a bright light just above you, but this gradient map is just for artistic reasons. When you paint a painting you often use light and darkness as a tool to create the composition, and I do a similar thing with this trick. Because of this map the feet and lower body will become darker, while the head and face becomes brighter, drawing attention. If I make a model of something other than a human, I play around a bit with this map, and make sure that the focus point is white and the rest is darker.
With all the maps baked, it’s time to head into Photoshop for some painting. Because I was lazy and cheap when making my highpoly sculpt, I have to do quite a lot of work at this stage. If you create a super detailed Zbrush sculpt, this step if fairly easy, because you mostly have to combine everything you have baked, add some color, and it will take care of itself. But, that’s not how I do it in this project. I paint quite a lot on these textures, by hand. I have added a belt and a belt buckle, patterns on the cloth, holes in the helm visor and so on. I have also manually polished all the edges and seams in the metal armor. It’s also important to think about color correction. Because you have baked all your maps in black and white, the final textures can often be rather dull, dark and grayish. I play around quite a lot with the vibrance and contrast. In this specific project all shadows and darkness is not black but practically purple. That looks a little clownish when you just look at the textures, but inside the game it get really warm and lively.
The whole guard 3D model is now complete. After this I created a rig of bones, which I can then animate. I also created a spear-like weapon for him to hold in his hands. Since this is not the first human character I add to the game I already have a lot of systems in place for handling dialogs, altering between animations and so on. This character can even use the system where NPC:s will turn their heads to look at you when you run past them.