Maing Of 'The Punk'
"Punk" is a character inspired from one of the models on 3d.sk. The intention was to make a character aesthetically pleasing, which stood out from the rest and had a unique design. After some research I found out that there were not many models of punk type characters, so I decided to go in that direction.
In this article, I will try to explain the process I followed to create the character. I collected as many punk references as possible from the internet and started the modeling process. My base mesh was Nick Zuccarello's free ztool model available from his blogspot: http://nickzucc.blogspot.com/. This base mesh is constructed from quads and is relatively dense, so it serves as a good starting point
My work speed is much faster in ZBrush than it is in 3ds Max, so I prefer doing most of my organic modeling in ZBrush (Fig.01).
One of the most interesting parts of character modeling is sculpting. To flesh out a character I use the Clay brush or the Claytubes brush most of the time. Somehow, I cannot get around using the Standard brush; it seems to be destructive in a certain way and if used with too much depth, it tends to take the control away from the artist. The Claytubes brush, on the other hand, has an additive way of adding detail. It adds flat details to a surface, so it works like traditional media.
During sculpting, the most important thing to do in my opinion is to keep turning the model and viewing it from all directions. This is particularly important during the fleshing out process because this is where the silhouette and proportions of the character are resolved. Once I was happy with the detail in the character, and its overall proportions, I went on to model the character's clothes (Fig.02).
I created a mask for the vest, and used the Extract option under the Subtool palette to create a new subtool. I retopologized the extracted subtool to get a desired polyflow, deleted higher subd levels and started to sculpt it into a vest. I use the lazy mouse, along with the gravity feature under the brush settings, to make a fold flow with gravity (Fig.03).
Pants and Shoes
I created the pants in the same way, extracting, retopologizing and sculpting. The only major additions for the pants were the tears. The tears were easy to sculpt. I made Selection masks for the tears, pushed them inwards (the body will be viewed over it) and used the Snake Hook brush for the strands.
The shoes were simple because the pants covered most of them. I went for a worn out look for the shoes, using alphas to make it look rough (Fig.04 - 05).
I made a plane with high subdivisions in Max, converted it to a cloth object, made a simple simulation and collapsed the stack and exported the mesh to ZBrush (Fig.06)
The bag was fun to create. I started from a cube in Max, made basic cuts in the geometry and split the bag according to its material. I split it into eight or nine different parts, took them separately to ZBrush and detailed each part. I later constructed the threading that holds all the parts together and also the zippers. There was lot of to-ing and fro-ing between ZBrush and Max for the bag. Once all the parts were detailed separately, I combined them all into one subtool. Even when the bag was a single subtool, the polygroup feature enabled me to select each part separately and detail it if necessary at a later stage. This was especially helpful in selecting and shaping the straps to conform to the body (Fig.07).
So, one by one, I brought all the parts into ZBrush, and sculpted them. I used various alphas for pore details on the face (Fig.08).
I exported the face in its lowest subdivision to Max for modeling the hair. I used the Line tool, and started constructing the hair. I switched on Enable in View Port under the Rendering tab and set the rendering method to Rectangular (Fig.09).
I used the Decimation Master on the subtools and exported a decimated mesh to Max for modeling the low res. I either constructed a completely new lowres from scratch or edited the highres. The aim was to get a lowres completely conformed to the highres, so that the generated normal map was most effective (Fig.10).
I used the standard unwrapping tools in Max to unwrap the model. The only tip I can think of her is to straighten the edges of the various parts and to hit the relax modifier with the Keep Boundary Points Fixed option. This helps in fixing seam issues and also fastens up the texturing phase quite a bit (Fig.11).
Normal Map Baking
Xnormal was used for baking the Normal maps. I imported the decimated highres into Xnormal, along with the lowres. I used the Ray Distance calculator before baking, and entered the values in maximum Frontal Ray distance, and maximum Rear Ray distance. Once this is done, Xnormal is able to do a great job of producing Normal and Ambient Occlusion maps. I also flipped the Y value under the Normal map options (Max uses a flipped green channel).
Once I got the Normal and Occlusion maps baked out, I used the Occlusion map as a base to block in basic colors (Fig.12).
I used Dave Nagel's Photoshop brushes, found at:
These brushes do a great variety of operations, from mimicking skin to cloth patterns. I also used photo references, but a majority of the textures are painted in. I started refining my texture by painting in skin details, pattern fabrics, dirt and grime. It slowly started to take shape.
The jeans pattern and the pattern on the bag were done by overlaying photographs on top of base colours. I added some stickers on the bag to make it more Punk styled. To view my textures, I put on a directx shader in the Max viewport. I also used the Marmoset toolbag (www.8monkeylabs.com/toolbag/toolbag_install.exe), to a get a feel for how the character would look in-game. By doing this, I got a solid feel for the direction I needed to push the texture in terms of detail. Here's a directx screenshot with three omni lights (Fig.13).
Here's a snapshot of the completed texture (Fig.14).
I desaturated the Diffuse map, and used that as a base for the Spec map. I first blocked out the larger areas that shone more, with a soft white brush. Then with a Grime brush, I created tone variations for patterns and skin (Fig.15).
I was looking to set the character in a relaxed pose. So I created a very basic rig for it, just to relax the hands, face and legs. Once I was happy with rigging and posing the character, I started to think about the lighting and rendering.
Lighting and Rendering
The scene was lit with two area lights and two omni lights, and the rendering was done with mental ray, along with Final Gather. I set the Rays Per FG point to 300 and the Diffuse Bounces to 3. I rendered the shadow and diffuse separately, as I wanted to add a floor to the scene. So I rendered out two separate passes, and combined them in Photoshop. Here is the final render (Fig.16).
I started very vaguely on this character. I didn't have a concrete idea or really knew what I was aiming for. I feel it is very necessary to get the character concepts on paper, before starting the actual modeling.
Polygon budget wise, the character stands at 17k triangles. It might be slightly over the top, but this kind of budget helped me achieve desired silhouette and structure.
A turnaround animation for the character can be downloaded from http://www.vikramvr.com/img/gallery/3D/Punk.flv
I thank everyone who has helped me create this character, and hope you enjoyed reading my Making Of.