• {digg}
    Fresh from winning the Individual Image Master Award in CGSociety's 'Steampunk: Myths and Legends' CGChallenge, Fabricio Moraes tells us how he created 'Steamnocchio'.

    CGSociety :: Tutorial
    12 March 2009, by Fabricio Moraes

    I have always thought that 'Steampunk' was a very interesting theme. When the CGSociety opened the challenge in this genre, I asked myself: why not give it a try? I chose Pinocchio because it is a well-known, artifically created character. While the original is a wooden marionette, I thought it would be nice to make mine a mechanical steam robot instead. Also, in this version, Geppetto is a mad and lonely old man who decides to make his own friend, bringing his creation to life with steam power. I didn’t want to make these characters too similar to any existing representation. That’s why my Geppetto is fat and crazy.

    I wanted to make the work look simple, with nice details but focusing on creating an easy to understand composition. Making Pinocchio the main character and then leading the spectators attention to Geppetto. I did some research and tried some sketches until I came with this one.

    It is more a sketch than a concept, but it was very useful to keep the idea. I wanted to make a realistic caricature, with strong expression and movement.
    With the camera and environment proportion set, it is time to start Geppetto. He was a much more complex model because of his pose and expression.

    I wanted to make a strong, exaggerated pose expressing strength and madness, while also having a cartoonish look. I first made a base mesh in a neutral position, then a basic rig to sketch his pose and then refined in ZBrush.

    I started the modeling of Pinocchio. It is very basic, formed by simple geometry. I placed the primitives to set its proportion and refined each one of them to reach the final form.

    The posed Pinocchio helped me to find the right camera position and set the proportion of the environment. Working with posed models in the final camera is the best way to see which details will have the focus in the scene. This helps me avoid wasting time making unseen elements. The box on the right is a proportion reference for Geppetto.

    Before I finished the model I placed it in its final position.
    It was easier for me to bring an already posed mesh into ZBrush to tweak it. I made the goggles with box modeling and positioned it according to the first of Geppettos posed forms.

    There was no special technique in making the goggles. I based it on some references taken from the web and started to model it from two cylinders. It was very fun to make. The eyes are very important for this character because they show his personality. He is crazy, so I wanted to make very big rounded eyes refracted by the goggles. Refracting the original eyes through the goggles looked weird, so I made a separated mesh for the eyes and eyelids, closer to the lens.

    When this mesh was refracted, it made an exaggerated effect. Back in ZBrush I started to add more details on Geppetto.

    When Geppetto was done, I simply exported the higher mesh back to 3ds Max. It wasn’t necessarily hard work with a displacement map. I think a very high poly is lighter to render than a mesh with mental ray displace. I made the teeth later in Max using box modeling.

    For the hair, native 3ds Max Hair and Fur rendered with Scanline in a separated file did the trick. With both of the characters modeled I could focus on the environment. I was cautious with the elements because I wanted everything appearing in the scene to make sense. Some tools on his table, shelves full of gadgets and machinery based on a locomotive fits in Geppetto's workshop. I didn't pay much attention to detail.
      Go to page 2
    The UV mapping was quite easy. In Geppetto I used regular unwrapping tools and for the rest of the scene including Pinocchio was used simple UV mapping coordinates like UV box and UV cylinder. I collected some dirty metal maps, wood, gauges, fabric and made some mixes in Photoshop to make the textures. Some of this maps I downloaded from

    For the background I repeated some textures, since they would be blurry. The main idea here wasn’t to make a very clean environment and neither a too dirty one. In all stages of the process I was worried with balance and simplicity. The final result must be easy to understand.
    This is a walkthrough on how I did all Geppetto’s diffuse maps. At first I made a base map for the skin mixing procedural maps, I took the green channel of a world space base normal map on his face and set it to multiply to add volume, more contrast to increase volume then added the dirty layer. Geppetto is in a tight and warm room, so he should look sweaty. I added a specular map in his material and set a higher specular intensity. After that, I masked the dirty layer at the diffuse map with this specular map. This way, where the sweat drains on his face, his skin looks cleaner, as if it washed his face a little.
    Geppetto’s face material.

    I also turned the shirt’s diffuse map darker under the arm and on his back to give the shirt a sweaty look too.

    When I was almost losing my mind trying to figure out how would I model the hose attached to Pinocchio, I came with the idea to use normal map, it worked better than I expected. I generated a procedural fabric map from Maya and used the NVidia plugin for Photoshop to make the normal map.

    I used mental ray with Final Gather to render, and used one single Omni light to illuminate the entire scene.

    I wanted to pass the feeling of a closed room illuminated by a lamp, but not claustrophobic and dark. The omni has a far attenuation set to falloff to the background. Pinocchio must be the most lit element in the scene to raise attention on him. Like I said before, Pinocchio should be the first thing you notice in the image than have the attention dragged to Geppetto. So I put him in a less lit place, in the middle range of the main light falloff.

    I used mental ray Arch Design with glossy reflection for almost all materials, so it really reflect walls, the table and other elements, making a better interaction between it.

    I forced the Final Gather to make the secondary illumination, so it lacked the need for other lights.
    For me this was the most important stage in this work. Here I could calibrate the light and give the extra mood that was missing. The final render didn't even get close to the end result, but I didn't worry because in Photoshop I could make things looks right.

    Before the render, I separated the objects in 3ds Max Layers, left one layer visible and all others invisible to the camera so all the objects will cast shadows and will be reflected by the rendered elements, but they won't appear in the render pass. It is much easier to control the entire composition using separated passes.

    So the composition was basically placing all passes, color corrected to warm tones, added contrast and effects like glow, depth of field and smoke.

    I made six render passes.
    The hair pass came later.
    Raw render.
    Color correction and occlusion pass with multiply.
    Glow, depth of field and light effects made by hand.
    Steam made by Photoshop brushes.
    From the beginning to the very end I worried about the clarity of the main idea. I want people to see it and know immediately what is going on. That's the reason I blurred the background and put a light right on to Pinocchio, so as to drag the attention to him. With the feedback I got I believe that I have achieved my objective. I did this twisted version of Pinocchio with all respect to the original creator of such amazing story: Carlo Collodi.

    Related links
    Fabricio Moraes (fabmoraes)
    Steampunk CGChallenge
    Autodesk 3ds Max

    Discuss this article on CGTalk

    Previous pageMore Articles