Making Of 'Soul Jailer'
This all started as a small competition between fellow artist friends. We decided to work on an Underworld character, each with its own job and characteristics. I decided to make a Soul Hunter, who then became a Soul Jailer. The idea behind this character was to overdo things and try to make him as disgusting as possible. A perfect fit for the Underworld! This was the main reason I went for pig features, and made him fat and dirty. In this short Making Of, I will show the workflow I used to create this character.
I'm not very confident with my drawing skills, so I had to take a different route when it came to creating the concept. First I drew some silhouettes. After I had a general idea of how he would look, I decided to work on a quick sculpt in ZBrush and draw over it in Photoshop (Fig.01).
Working over the sculpt helped me create a better view as to how the character would look, and how the accessories would fit with him.
I first started off with ZBrush ZSpheres. I don't really use them much, but I wanted to try them this time and I'm very happy I did. ZSpheres helped me create a good proportional mesh (albeit with messy polygons) (Fig.02).
After I had a nice looking silhouette and proportional model, I sent it back to 3ds Max and started retopologizing it there (with the help of Wrapit). I really enjoy face extrusion when modeling. It really helps archive an organic flow of the polygons.
It didn't take much and at the end I had a perfect mesh with good polygonal distribution and flow. I tried to keep it all quads and with the same density all over the mesh (Fig.03).
This is where the fun part began. I exported the new retopologised mesh from Max into ZBrush. When sculpting, I always want to make the most of the subdivision I'm working on. So it takes me some time to move into the next subdivision without finishing detailing the current one.
I started off using the Clay brush. It's a great brush to go crazy with the forms, and most of the time it will help by causing some happy accidents.Claytubes is good too, but I rarely use it and only in places that need a rough look (Fig.04).
When sculpting, I had symmetry on all the time. Since I wanted the model to have an asymmetrical look at the end, I decided to only have symmetry on for the third and fourth subdivision levels.
While shaping th eface, I used the Move brush a lot. Raise an eyebrow here, move a face feature there.
When it comes to the clothing and accessories, I took different approaches for some of them (Fig.05).
Accessories like the big chest in the back, keys, shoulder pads, chains, chainmail, weapon and jars were modeled in Max and brought back to ZBrush for detailing. The leather cloth on the face and clothes on the waist were modeled in ZBrush using its own Retopology tool to create new geometry. It's a quick and effective way of creating fitted clothes within ZBrush and with a correct poly flow.
The stitches for the leather were created in Max with the help of the Lines tool. I'm actually in love with this tool since it would have been hell to create each by extruding a cylinder. (The best part is that you have a lot of control over how the line will flow).
After sculpting all the subtools, I decided to poly paint them to give me extra control over my texturing process. This really helped,especially with the organic and leather parts (Fig.06).
Low Poly Modeling
This is where the second fun part begins! I really love building the low poly version of a model. It might look like an annoying process, but this is what your final model will be so it's got to be perfect.
When building the low poly though, I had to keep thinking about how he would deform when animated. Since he's fat and has lots of accessories, I had to really think about the polygons. This is actually the first time I decided to go over my limit of 12,000 - 15,000 triangle count. The model has 20,000 including the weapon and all the accessories.
I thought about how my computer would handle the high poly in Max and since the body alone was 3.7 million polys, I decided to import a lower subd in Max (one that has the big forms the same as the highest subd but doesn't have all the pores and skin detailing).
After importing it,3ds Max was a breeze. I could retopologize (with Wrapit) over the mesh in no time and have full control over the final look of the model. With this technique I managed to finish all the low poly within a day and then it was time to UV-map him (Fig.07).
I decided to have a big map for the head, mostly for close up shots and whatnot. So I gave the model two 2048 x 2048 maps, one for body with clothing and some accessories,and one for the head with the rest of accessories and weapon. UV mapping was quick (it took less than a day). I didn't just use the traditional 3ds Max tool for UV mapping. Textools, a free script, helped me a lot with the scale of each element in the UV so they all took the needed space in the UV and no stretching was visible.
I did think about what part of the mesh could be mirrored in the UV, so it would take less UV space. Since the gloves are the same on both sides, and the legs don't need to be asymmetrical because they are mostly covered by cloth, I decided to mirror these and some other parts (chest bag, chest parts etc).
At the end I had a nice UV-mapped model, ready to bake all the details in (Fig.08).
Baking Maps (3ds Max)
This is where the tricky part begins. I like to do my bakes within Max. It gives me a lot of control with the cage and I can set up extra bakes (polypainting, better occlusion etc).
Since I had the mid poly imported from ZBrush, I selected the low poly mesh that corresponded with that high poly part (for example, the head), applied the projection modifier and selected the mid poly already in the scene. The low poly model showed the cage which I edited to fit the mid poly perfectly, with no signs of intersections (usually they show up as red holes when you render). After the cage was set up, I created a new layer where I would import the final high poly meshes. I made it active and set Display As Box so it would not render and crash my computer when imported. Finally, I imported the highest subdivision model from ZBrush right into this layer. It took some time to import, but it showed as a box and I could continue working without worrying about the computer getting laggy. Back into the low poly I wanted to bake, I switched the Reference Geometry from the mid poly that I had before, to the high poly newly imported. Since their volume was the same (just smaller details like pores and skin were different), the old cage fitted the new high poly perfectly.
Then it was time to render. Since my high poly had UVs ready, when imported it already had all the polypainting I'd done in ZBrush, so first I rendered the high poly's Diffuse into the low poly's UV, then I rendered the Normal map and finally did a quick lighting setup for Ambient Occlusion (using Scanline renderer with Light Tracer on and only one Skylight in the viewport). The quick way is to setup a white background and give the high poly a white material.
I also baked some extra matcaps from ZBrush (using the same method as polypaintbaking.) These helped some materials pop out more.
Before starting texturing, I assigned a directx shader to my character so that I could see how the texture worked with the Normals and Specular every time I switched back to Max. (I also set up a basic three point lighting to see how the specular wouldreact)
Using my polypaint Diffuse and Occlusion as a guide, I imported the rest of the bakes (matcaps). I also like to copy my nmap green channel, invert it and paste it over the Diffusefor extra volume information (there might be some seams so I always check it out) (Fig.09).
For the color scheme, I already had it in my mockup concept in Photoshop, so it was just a matter of getting the texturing done. I used different blending options for the matcaps until I was happy with how they looked. Thanks to the big collection of textures I have created over the years, I was able to grab the needed details for each material and overlay them over the Diffuse. I also used a lot of hand-painting on the organic parts.
While the Diffuse was about 90% done, I duplicated the PSD and saved it as a Specular map,tweaking each layer in color, brightness and contrast. At the end I had a Diffuse done and a Specular that fitted the Diffuse perfectly. I decided to work on a quick Gloss map (this is usually plain black and white with high contrasting). The Gloss map really helps the Specular map and is highly recommended(Fig.10).
To pop in some of the details, I flattened the Diffuse, applied a high pass filter, copied it and reverted back to the un-flattened version. Then I pasted it on top of all the layers and set it to Overlay. This sharpens the details without destroying the texture.
Sometimes I had to add details to the Normal map too (so it would fit with the Diffuse). I ran the extra details in Crazybump, imported as a Normal map into Photoshop, adjusted it's blue output level to 128 (it will show as yellow-greenish) and overlayed it over my character's Normal map. It works wonders as you can also control the volume with the opacity slider (Fig.11 -13).
I thought about different ways of presenting my work. I could grab a viewport screen or render with mental ray. I decided to go the mental ray route since I wanted a big render of my character.
First I created three lights, all white. One acted as a Key light, one Fill and one Rim light. Once I was happy with their brightness and shadow casting, I started giving them color and creating a mood.
After that, I helped pop up some stuff by lighting them separately(including jars). No extra mental ray stuff was used; I wanted it to be as close as possible to a real-time render (Fig.14).
Once I had my render, I decided to give some love to the background since it was a plain color in Max. I overlayed some details while keeping it simple and not annoying. I also faked in some SSS on the ears and color corrected the overall image (Fig.15 - 16).
I am very happy with this model. It helped me learn new techniques (polypainting was one of them) and also helped me jump some limits. Looking back at it, there are a lot of things I would improve and change, but I really want to move on from this character and start working on new exciting stuff. After all I had a lot of fun making him and I want to keep that feeling without ruining my experience by going back and tweaking stuff (Fig.17 - 20).