This tutorial goes through the process of making the model and render above using a photo backdrop and an HDRI map for the scenery and lighting. I used 3ds Max, Zbrush and V-ray, but you might find the tutorial useful even if you use other 3D programs. This tutorial is also featured over at 3DTotal.
Gather all the information you can find out there, pictures, blueprints and specifications. I used www.the-blueprints.com for schematics and I searched car part stores for detailed pictures of individual parts. Unfortunately I couldn’t find a really good blueprint, but I found one that was close enough.
I used to own this car, so I was lucky to have a bunch of my own photos for reference like the one below.
Start by setting up some planes and texture with your blueprints, make sure you get the right aspect ratio by mapping to the bitmap dimensions. In 3ds max you can do this by applying UVW map modifier and choose bitmap fit. I also match to real world scale to avoid any scale problems later on.
To get started I create an evenly spaced spline to match the wheel arch.
When I’m happy with the spline I simply extrude the spline to create the first part of the polygon mesh that will form the entire chassis.
From here on I just extrude edges while keeping an eye on the blueprints to get the shape right. I keep swapping between side, front and perspective when I model. Hold down the SHIFT key as you move edges to extrude.
Slowly expand on your mesh, try to keep the polygons evenly spaced and in quads, as triangles can create odd smoothing errors. I add double edges close together where I want hard lines in the mesh.
As you keep building, consider applying a standard material with a slight specular value this helps you to see if you get odd shapes in there. Also keep turning subdivision on and off to you can see if you get the right shape.
Build the chassis in more or less one piece to begin with, just make sure you have edges where you later want to split up the parts. This helps the continuity of the chassis.
NOTE: For old cars like this I like to keep things a little imperfect, age, wear and tear in mind, even for the shape of the chassis.
Half of the car is done, and all we need to do is spilt up the parts and mirror. Use instancing when possible so any changes you make automatically gets done on the mirror side of the car.
At this stage I like to add thickness to the chassis, so I use a Shell modifier to give each part a few millimeters thickness. I tick Select Inner Faces when creating the shell.
Note: Adding shell modifier changes how your mesh subdivides and you will have to add more edges to control the shape.
With the inner faces selected I choose to unwrap, this automatically isolates the backside of my mesh. I do a planar unwrap. I don’t worry about perfect unwrapping at this point, I simply want to define my unwrap seams while I have the correct polygons selected to save time.
I unwrap the rest of that mesh by applying uv-unwrap on the whole object, so now you have a perfectly position seam between front and back of the mesh. At this point you can either choose to improve the unwrapping in 3ds Max to create a nice even UV-coordinates, or as I do, use the UV Mapper plugin for Zbrush to unwrap my mesh once I have defined the seams. You only need to create UV coordinates on the parts you plan to texture.
I start to model all the various parts, try to keep lowest subdivision level as low as possible, otherwise the car very quick becomes very slow to work with. Use a subdivision modifier to smooth the mesh.
The tires can be a little tricky. Based on my reference I felt the pattern on my tire should be repeated about 90 times, so I create a cylinder with 90 subdivisions with the size I wanted for the tire. I then copy a couple of the face to model the tire track pattern.
With the tire track pattern modeled I simply rotate copy the mesh 89 times. In 3ds Max, use rotate tool and hold SHIFT and rotate, make sure you keep the pivot point of the original cylinder. And Voila,.. tracks.
Weld all the points together by selecting the borders, CTRL click vertex selection and weld. This is the easiest way of welding the points and avoiding to weld points you shouldn’t.
You can now start to shape the rest of the tire by simply extruding the borders.
The complete tire modeled with the Magnum 500 chrome plate rim. I created the UV-Coordinates on the tire so the seams are hidden between the tracks.
I added a cage deformer to the tire to make it flat and bulge a little to give some weight to the car, by using a cage deformer I can rotate the wheel later on and keep the deformation at the bottom where the tire meets the road.
The only parts I didn’t fully model in 3ds Max where the seats. I did the basic shape in 3ds Max, then imported to Zbrush to add detail.
In Zbrush I add some randomness to the seats, old and used car seats, no longer in mint condition. Using only Standard, Pinch and Inflate brush.
I unwrap in Zbrush based on seams created in 3ds Max, and then use decimated plugin to reduce the polygon count.
I create the text emblems with splines.
Extrude and make a copy. Then select the outer polygons all around the letter and delete the rest.
With a shell modifier you can then create the nice border on the letters.
I added some details to the interior, but since I wanted to do a mainly exterior shot I keep it simple, just enough to add what is visible from the outside and something to create reflections on the windows.
Modeling all done.
Materials and Basic setup:
I start slow by adding some basic V-ray materials to the car, and a simple sun lighting and camera setup. Everything at default values for now.
Examples of simple materials to get you started. Car Paint using VrayCarPaintMtl for this I set flake size to 0.0 since I don’t want metallic car paint. Windows using a standard VrayMtl with refraction and reflection to white, and a falloff modifier in the reflection slot so you have more reflections on the edges and less straight on, so you can see though the windows.
First render. Pretty good start, but since I’m aiming for HDRI lighting now is a good time to start thinking about that. I will have a great impact on the look of your materials, so I like to get this in early on.
I Assign a VrayHDRI to my Environment Map slot, drag and drop it into the Material editor (choose instance) and assign a map, assign an appropriate HDRI map and set it to Spherical. Then create a Vray dome light in the scene and drag and drop the VrayHDRI to the Texture slot. A lot of places to get HDRI maps for free, I bought mine here www.hdri-locations.com
I assign a VRayMtlWrapper material to my ground plane, just so the car isn’t floating. Assign a standard black VrayMtl to the Base Material slot, if you don’t use caustics you can disable those. This will render the shadow of the car, but let you see the HDRI map behind.
You might want to adjust the strength of the sun and adjust camera settings. It really comes down to your choice of HDRI map how the settings should be. If there is a sun in your HDRI map, make sure to position the sun in the scene accordingly.
With HDRI and basic materials setup, it’s time to add some textures to the scene.
Texturing the car is relative straight forward. Most parts already work quite well with just a simple shader. The main things to add are the decals, and some dirt and imperfections. The interior is the most texture heavy, like the leather seats and panels.
To get started on the seats, I export a cavity and ambient occlusion map and combine them in Photoshop, this will be the base of my texture. Then I use tile-able leather textures to create a pattern. Give the pattern a useful name, and do the same for bump and specular leather textures.
I then create a new layer use the Fill (Shift + F5) function, choose the pattern I defined and click OK.
Multiply the layer.
And then use Hue/Saturation (Ctrl+U) to adjust the layer.
And the result.
For the decals and paint job in general I use very high 8192×8192 maps, diffuse and bump map. I also add some dirt, dried out water drops.
To create the text on the tires, I used a displacement map, and added some subtle dirt and scratches to the chrome and metal parts.
The headlights were done with a simple glass material with a displacement map. I UV mapped the glass so the displacement map would be on the inside and keep the outside surface smooth.
With everything modeled and textured; we need to render.
For Background I used a photograph. Trick here is to match your camera angle and lens to the one use in the background photo, and then have your ground plane match with the ground in the image.
To help adjust camera angle you can make 3ds Max show the background image in the viewport.
Here are my camera and light settings. These settings can have a huge impact on your render, so use with caution. I set a high size multiplier and low intensity on the sun to get a softer shadow for my somewhat overcast setting. Pretty basic settings otherwise.
Final render and a reflection pass and a ZDepth render, to create a ZDepth element simply go to render elements in your render settings and click add.. and choose VRay2Depth and set the distance… all that is left is a little Photoshop touch up.
In Photoshop I enhance the colors, and add a little depth blur so the car match the background better and paint in my reflection pass into the water puddles on the ground. To use the ZDepth map for blur, assign it to a mask on the image you want to blur and use the Lens Blur filter. Remember to delete the mask after you assigned the blur.
I create a little Chromatic Aberration to help mix the 3D with the Photo. Chromatic Aberration happens in real life when you take photos with cheaper lenses, so use with caution.
The final image… As last touches I like to add some noise to the image and maybe a little color grading. The noise I add because the photo background will have some noise already, so this helps further integrate the 3D.
Overall I created way more details on the car than I needed for the final shot, but it’s great not to be restricted when you start rendering, experimenting with camera angles etc. You can see a few more renders here.
Thanks for reading.