Sunday, May 22, 2011

Create a Photorealistic Car Render using 3DS Max and Vray


Whenever you see highly realistic images of CG cars, you may think that it is an incredibly difficult process to arrive at such a high quality result…this is not actually the case. In this tutorial, Sumeet Gupta will show you how easy it can be to create a photorealistic car render using 3DS Max and Vray, as long as you know the right steps.

For this tutorial, Sumeet used “Dodge Viper”, but these steps will let you can achieve similar result using any high-rez car model.

Step 1

In order to achieve similar results as above, you need to model a detailed and clean car. If you don’t feel like modeling, you can use a pre-made model too. Another important step is to find a good HDRI image and a matching back plate. I got one at www.hdrilocations.com/freesample.php, but you can also do your own research to find a good HDRI and back plate, as there are plenty of them available on internet. When you are done with collecting your models and HDRI, fire up 3DS Max and import/ merge the car model into a new 3DS Max scene.

Step 2

Create a long plane in the TOP viewport. Position the plane so that it lies under the wheels and acts as a road.

Step 3

Make sure your perspective view is selected, and go to “Views > Viewport Background > Viewport Background” or (Alt+B). Click on “Files” and load the background image. Use selected settings while loading a background image.

Step 4

Go to the TOP viewport again, and create a standard Target camera. Don’t worry about it’s position and settings, I will explain this later.

Step 5

All good back plates contain information about f-stop number, iso, and other important settings. All we have to do to match some of image parameters with the camera we have just created. So right click the image, and under “properties”, go to “details” and scroll down until you see the “Camera” roll out menu. Currently we will match only the “Focal Length” parameter. As you can see, the back plate image has a “Focal Length” value of 45.

Step 6

Back in 3DS Max, go to “Camera Settings” and and change the “Lens” settings to 45. Also, change the perspective view to your camera (C).

Step 7

Now, we need to match our perspective with the background image. There are several ways to do that, such as camera tracking etc. I, personally find those methods too complicated, so i use the method of trial and error. What i do is try to match the perspective of road with the background image using camera tools such as “Orbit Camera” and “Pan”(Mouse Middle Click). If you think the car is too small then you can use”Dolly Camera” as well. When you are satisfied with your composition, right click the camera, and go to “Camera correction modifier”. Click on “Guess”, and it automatically sets the correct perspective. After couple of minutes of experimentation, my viewport ended up like this.

Step 8

Our scene preparation is now done, so let’s get on with the materials and texturing. Assign a “shellac” material to the car body. Under the “Base and Shellac” material option, use “VRayMtl”, and put a value of “100″ under “Shellac Color Blend”. Go back to the Base material and use the settings shown below.
A Shellac allows you to superimpose one material over another, with the base material being underneath and the shellac material over it. The “Shellac Color Blend” box controls the amount of shellac that gets laid over the base material, and the Subdiv value control the smoothness of material. The more subdivs you have, the material will look noise free in the render, but this will of course increase the render time.

Step 9

For the car body color, go to “Car Color”, under Shellac material options, and use the following settings. I decided to give the car body a deep red color, so I used a Falloff gradient under “Diffuse” slot from light red to deep red. If you want a Black carpaint, for instance, then you can simply replace the light red with Grey, and the dark red with black. I have also used Fresnal reflections this time. Fresnel describes the way a surface’s attributes change depending on the view angle.

Step 10

For the windshield material, apply a VRayMtl to the windshields, and use the settings shown below. Note: The reflect parameter controls the reflection of the material. Black means the material will not reflect anything, and white means it will reflect everything in the scene. The refract value gives transparency to the material where white means 100% transparent, and black means 100% opaque. Also, I used a small picture of a Rainbow gradient under the Diffuse slot, you can find a similar one using Google.

Step 11

For the tire material, apply a VRayMtl and check “BRDF” as “Ward”. The BRDF parameters determine the type of the highlights and glossy reflections.

Step 12

For the rims material, apply a VRayMtl using the settings shown. The reflection glossiness controls the parameters of specular reflections in vraymaterial. The lower the value (0.45-0.75), the blurrier the reflections. Also, if you use less values of reflection glossiness, you need to crank up the subdivs, as blurry reflections produce more noise in the render.

Step 13

Now, assign a “Matte/Shadow” material to the road, so that it catches the shadows from the VrayLight and HDRI. Open the “Material Editor”, click on “Get Material”, select “Matte/Shadow” from the list, and apply it to the road. Use the default settings of the “Matte/Shadow” material.

Step 14

Time to use the HDRI to light up the scene. Press “M” to open the material editor window, and click the “Get material” button. Another window of “Material/Map Browser” will pop up. Select “Bitmap” from the list, and load the HDRI from the browser.

Step 15

Go to the “Lights” menu, select “vray” from the dropdown menu, and create a “VrayLight” above the car using the following settings. You will need to adjust the multiplier value according to your scene. In my scene, a multiplier of “1.5″ worked perfectly.

Step 16

Position your “Vraylight” so that it sits on top of the car.

Step 17

Open the “Material editor” again, and drag the HDRI into the “Use texture” slot of the VrayLight .

Step 18

Press “F10″ to open the Render Setup window. In the V-Ray Menu, go to “Global switches”, and uncheck “Default lights”. Under “Image sampler”, select”Adaptive subdivison”, and select “Mitchell-Netravali” as the Antialiasing filter. Under the Environment tab, check”Reflection/refraction environment override”, and drag in the same HDRI that you applied on the VrayLight. Under the color mapping rollout, select “Exponential” as the type, check “Sub-pixel mapping”, and also “Clamp output”, leaving the “Clamp level” at 1.0.
Below is an explanation of the settings:

  • Default Lights: Since we are already using HDRI based lighting, we don’t want our scene to be lit by Default lights. Keep this parameter unchecked.

  • Adaptive Subdivison: This is an advanced image sampler capable of undersampling (taking less than one sample per pixel). In the absence of blurry effects (direct GI, DOF, glossy reflection/refraction etc) this is the best preferred image sampler in VRay. On average it takes fewer samples (and thus less time) to achieve the same image quality as the other image samplers. However, with detailed textures and/or blurry effects, it can be slower and produce worse results than the other two methods.

  • Mitchell-Netravali: As you can read the description in vray rollout, it allows control between edge-enhancement and blurring.

  • Vray-Environment: We are already using our HDRI as a skylight, so we only need to copy it into the Reflection/refraction slot.

  • Vray-Color mapping: Exponential automatically adjusts the brightness/contrast of the scene so that you don’t get “burnt” areas. In short, the Linear mapping method clamps the bright colors to white, causing any bright parts of the image to appear “burnt out”. Both the Exponential and HSV exponential modes avoid this problem. While the Exponential mode tends to wash out the colors and desaturate them, the HSV exponential mode preserves the color hue and saturation.

  • Sub-pixel mapping: This option controls whether color mapping will be applied to the final image pixels, or to the individual sub-pixel samples.

  • Dark multiplier: This is the multiplier for dark colors. It acts like a contrast parameter.

  • Bright multiplier: This is the multiplier for bright colors. It acts like a brightness parameter.

  • Affect background: If this is off, color mapping will not affect colors belonging to the background.

  • Clamp output: If this is on, colors will be clamped after color mapping. In some situations, this may be undesirable (for example, if you wish to antialias hdr parts of the image too). In that case, turn clamping off.

  • Use the following render settings:

    Step 19

    Now, lets render our first image. Press “F9″ for quick render. As you can see, it’s not quite as it looks in the Final result, so lets tweak some more settings.

    Step 20

    Press “M” to open the material editor window, and select the same Bitmap material containing the HDRI file. Now here is the tricky part. We need to adjust the position of HDRI till we get good illumination and reflection on the car body….and there’s no other way to do this except Render, Render, and Render!
    After hitting several renders, my bitmap parameters came up like this:

    Step 21

    So, here is the final render from 3DS Max. As you can see, it is still slightly different from the finished image. Don’t worry, we will improve the render in Photoshop in next step!

    Step 22

    Fire up Photoshop, and open the previous render. Add some warm tones using “Color Balance”. Press shortcut”Ctrl+B” or go to “Image>Adjustments>Color Balance”. Adjust the sliders according to your needs. I used the values of “+16, 0, -13″. I also added some headlight glow using a plugin called “Knoll Light factory”, and adjusted some levels to get a nice brightness/contrast to the image. You can also add some cool lighting effects and try different post treatments using any other plugin or in photoshop itself.

    Conclusion

    This concludes the tutorial. I hope you enjoyed it and learned something new. If you are unable to understand any step, please feel free to post a comment, and i will try to explain it as best as I can. Thanks for your time!.

    No comments:

    Post a Comment