Making Of 'Garage'

By Luca Fiorentini & Giovanni Lo Re
Software used: Photoshop, Maya

Introduction

Hi all! It's a pleasure for me to give you an overall view of this project!

I started this image last summer. During to the vacation, I decided to take a model from a short I was developing and use it to study lighting and shading with a cartoony look.

I wanted to create an ambient, alien look. The principal character is from another world (the one with the big feet that you can just see under the garage door) and I wanted to communicate that with little details here and there.

As usual I asked Giovanni Lo Re (a really good friend I used to work with in Italy) to make a little sketch of the scene and to design the objects.

After collecting some reference images (especially from other 3D artists) and after some emails he ended up with this drawing (Fig.01a) and was a really good starting point!96_tid_fig01a.jpg
Fig: 01a

Then he sent me some detailed drawings of the tools and the car (Fig.01b & Fig.01c).96_tid_fig01b.jpg
Fig: 01b

96_tid_fig01c.jpg
Fig: 01c
 

Modelling

Modeling was pretty straightforward - it was all poly modeling and a lot of little pieces!

For the car, after the body was finished (Fig. 02a) I started modeling the interior and the details (Fig. 02b).96_tid_fig02a.jpg
Fig: 02a

96_tid_fig02b.jpg
Fig: 02b
As to the environment, I modeled every object separately and then imported them as references. I wanted to find a good camera angle, similar to the one of the drawing. In the end I decided to turn the wall on the right side about 45 degrees to have more space and get a nicer shot (Fig. 02c & Fig. 02d).
96_tid_fig02c.jpg
Fig: 02c

96_tid_fig02d.jpg
Fig: 02d
 

Texturing & Shading

For texturing I used the 3DTotal Textures collection. These textures are amazing and it is a huge library! Many times I just started browsing through them without any idea of what I was looking for until I found something that fitted the scene.For the wall I took the base layer from Total Textures V01:R2 - General Textures ", some dirt from Total Textures V02:R2 - Aged & Stressed and Total Textures V05:R2 - Dirt & Graffiti and mixed them in Photoshop following the UV layout (Fig.03a).

96_tid_fig03a.jpg
Fig: 03a

I then did the same for the tires (Fig.03b).
96_tid_fig03b.jpg
Fig: 03b


For the sky Giovanni started with a base from the Total Textures V15:R2 - Toon Textures and continued adding details, painting clouds and little planets.

For the car paint and tires materials I decided to go with layered materials. This gave me the ability to add dirt, scratch and all the little details I wanted with minimum effort. The textures mostly came from Total Textures V05:R2 because they're full of dirt masks. After importing them into Photoshop I reduced the details to make them more cartoony and I made a lot of masks to control the layering.
The shaders were quite simple: lots of fresnel effect for the glass and metal and then simple shader trees layered with a mib_color_mix node (Fig.03c).
96_tid_fig03c.jpg
Fig: 03c
 

Lighting & Rendering

At the beginning I wanted to try the new Mental Ray pass system, but after a while I liked the raw render from Maya so I decided just to use a beauty pass, an occlusion pass, and one pass for light fog, as well as some masks. I ended up with 16 passes (Fig.4a), mostly masks, because I wanted to be able to do separate color correction while still producing an image ready for animation without hand-drawn masks or retouching in Photoshop.
96_tid_fig04a.jpg
Fig: 04a

Lighting was really fun but also time consuming... I think I spent most of my time on this and on compositing. I rendered a lot of different versions with different colors and light rigs (Fig.04b) going back and forth between versions until we found a good combination of mood and details.
96_tid_fig04b.jpg
Fig: 04b

I used a technique I saw in a DVD from Jeremy Vickery (www.jermilex.com) on the use of Ambient Occlusion to simulate bounce/fill lighting. All you have to do is to connect the output of the AO to the ambient color of all the shaders in the scene (Fig.04c). You have to think about it like this: the light color is going to light the non-occluded parts, while the dark one is going to light the occluded ones, so avoid pure black and pure white! I also put some orangish tones in to warm the image up.

96_tid_fig04c.jpg
Fig: 04c

After establishing the key + fill I started adding bounce lights for the sunLight and a lot of rim light to separate the objects from the background. This is a screenshot of the scene and a list of all the lights in the scene (fig. 04d). I also added some reflectors with a white surface shader to give that cartoony look to the reflections on the glasses.
 

Compositing

This was the first time I'd tried to use Nuke and I really learnt a lot! I rendered some passes as 32bit floating point openEXR (beauty, zDepth) to have more freedom and the rest as 8bit iff.

Nuke gives you the possibility of creating new channels from images, so I used the colorID passes to put new channels into the pipe in order to be able to select the various objects with just one click through the whole script. This was especially useful while doing color correction. Height passes and the light fog helped me to improve the atmosphere while the vignetting allowed me to concentrate the attention on the car, which was supposed to be the most important spot of the image. In Fig.05a you can see a screenshot of the whole script with some explanations!
96_tid_fig05a.jpg
Fig: 05a

Conclusion
I'm really happy about writing this tutorial and sharing what I've learnt with you! I think that this has been a little like a production workflow because we had to get feedback from each other by mail ... sending progresses and trying to understand each other just by reading. Maybe if we had been able to work side by side we wouldn't have done all those tests, but I think that this has been a nice research piece and I'm just looking forward to starting a new project,

If you have any questions, feel free to write to me!

Thank you to everyone!

96_tid_fig06.jpg