Making Of 'Private Charlie'
I initially created Charlie to teach character modeling during a master degree of computer graphics at the BigRock training center (http://www.bigrock.it) here in italy. Since I really liked the design, after the course I decided to develop him into a personal piece by adding more details and giving him a context that fits his personality.
Concept and References
The original concept was created by Corrado Colleoni (http://colleonidesign.blogspot.com/) (Fig.01).
I took his idea as a starting point and I tweaked the character's volumes a little to make them work better in 3D Finally, I created his equipment, helmet, weapons and the helicopter from scratch.
Looking for references was the longest part of the project. I wanted a cartoony but realistic character, so I spent several nights after work creating a big inspirational library (Fig.02). Since I had already completed the early version of Charlie for the course, I decided to create the rest of the props around him. Thanks to ZBrush I was able to figure out what was working for him directly in 3D, with a few little study sketches on paper.
Charlie was modeled twice. As mentioned before, the first model was created for my character modeling class and was fairly simple. The second was much more detailed and had a number of props. I'm going to talk about the creation process behind each model.
For the first version I started from a cube. From the beginning I modeled the head and the body separately; this way I could add more details to the face without worrying about how to make the loops flow on the torso. Then I created a very simple mesh for the body, which I used later to extract the vest and the shirt. In this early step I took great advantage of the GoZ plugin for ZBrush: it eliminates the time-consuming process of exporting and importing meshes from various software packages. By using it I was able to jump back and forth between the software, using ZBrush to tweak the volumes and relax the vertices, and Maya to add details and redirect the loops when needed (Fig.03).
To make the bullet belt I firstly created a NURBS circle around his body, then modeled the belt straight without any deformations, and finally created a joint for every bullet. After creating a bind skin I used the IK Spline Handle tool function (with Autocreate Curve unchecked) to link the belt to the circle: this way I could dynamically modify the position and scale of the bullets directly on Charlie's body (Fig.04).
For the second version of Charlie I sculpted and refined the meshes I had already created (Fig.05). I also added new details and increased the topology where needed to support the sculpting. I tried to lower rendering time using only Normal maps, instead of a Normal and Displacement combination (Fig.06).
The helicopter pilots are a variation of the main character. Instead of giving the pilots a new face I tried to characterize them through the helmet itself. This way the viewer is driven to Charlie's Face and the pilots are forced to be secondary characters in the image (Fig.07).
The helicopter was a new challenge for me because I had never modeled something with that level of detail before. I started with a low poly proxy model, and in the first phase I followed a blueprint of a real chopper used in the Vietnam War: the Huey UH"1B. Then I placed the characters inside the model and rebuilt it around them, trying to create a realistic environment, where they could easily move around and reach every button. Thanks again to ZBrush I was able to try a lot of variations before choosing the one that actually suited Charlie and pilots (Fig.08).
After that I started to replace the proxy model with more detailed meshes. I also created a little in"scene library of UV mapped objects (such as buttons, bolts, screws, etc) to quickly insert where needed (Fig.09 - 10).
UV Mapping, Shading and Texturing
I treated the UV mapping and texturing phase as a pipeline exercise, working more than I should for a static image. I wanted to test my workflow with high res textures and multiple maps for the same character. I also wanted to apply an ambient occlusion bake directly in the diffuse texture to every mesh in the scene. To achieve this result I UV mapped every single object (everything but the screws), trying to create a map for each material, and keeping the maps separated (the helicopter exterior, helicopter interior, weapons and characters) (Fig.11 - 12).
Then I created a PSD file with the UV snapshot reference in it, and recorded some actions to save and overwrite automatically the maps (mostly diffuse, specular and normal) in order to speed up the testing phase (Fig.13 - 14).
Having all the UV shells unfolded and no overlapping helped me a lot. It allowed me to add details with repeatable patterns in Photoshop, especially for the dresses, and also gave me the chance to export various maps from ZBrush.
Usually I work this way (Fig.15):
1. Creation of different flat color islands following the UV snapshots in Photoshop
2. Application and deformation of clean patterns or textures
3. Dirt and scratches: with blending modes in Photoshop or using masks previously created in ZBrush (I used this method, for example, to isolate the chipped off paint in the helicopter)
4. Ambient Occlusion bake multiplied on top to add detail
Specular and Normal maps creation
I was testing V-Ray for Maya so I decided to try the V-Ray materials. Vrmtl shaders are really easy to set up in Maya and give good results in rendering. The only exception is maybe the fast SSS, which is good but not as good and flexible as the mental ray Fast Skin SSS (Fig.16).
I didn't want to animate Charlie, so the pose was the only thing that would help the viewer understand his attitude. After creating a fast rig (no extra controls, only joints) I tried to characterize him the best I could, experimenting with different poses. I wanted something exaggerated but still believable. Once I was satisfied with his pose I exported everything back to ZBrush for the finishing touches. I modeled his facial expression and fixed some interpenetration issues (Fig.17).
Lighting and Rendering
The final scene was pretty heavy so to avoid long"lasting rendering, I tried to keep the light setup as simple as I could. I decided to use a V-Ray sun light, an HDR image to simulate the sky and a hidden V-Ray light inside the helicopter to brighten the pilots' area. I also used Global Illumination (irradiance map + light cache). The cloudy background of the final image was the same HDRi used for the render, retouched and color corrected (Fig.18).
Before rendering I set up some V-Ray render passes in order to have more opportunities to retouch and enhance the image in Photoshop. I also created two ambient occlusion passes: one with narrow shadows to catch small holes and details, and another with very wide shadows to give some more shading where needed.
In Photoshop I isolated five different parts: helicopter exterior, helicopter interior, Charlie, pilots and background choppers. I added contrast and details to every object using passes and textures from my library, and then I created some depth of field and fog with the ZDepth pass. Finally I created some vignetting and glowing effects (Fig.19).
That's all (Fig.20)! I hope you liked this Making Of, and if you have any further questions about the process feel free to drop me a line at
Thanks everybody for reading.