Lego Product Visualization

This tutorial will cover how to light, shade, and render a CAD model of a Lego technic rally car. It will show you how to light the car model using Arnold area lights (quad_light). It covers how to realistically shade the Lego model using the standard_surface with round_corners and how to use the clip_geo shader to create a cross-section animation effect. Once shading and lighting of the scene are complete we will cover how to create a stylized look using the Arnold toon shader that could be used in an instruction booklet. Finally, we will tweak some of the Arnold render settings to improve the quality of the final render. More examples of Lego renders using Arnold can be found here.

The clip_geo and toon shaders do not currently work with GPU rendering. This is planned to be fixed in a future release.

Importing the CAD Data

Lighting

We will add an Arnold quad_light to the scene. This light will mimic a softbox studio lighting setup as can be seen in this tutorial. Alternatively, you can download a pre-made lighting studio from the link at the top of the page.

Scene lit with quad_light (exposure: 16)

Note:

Exposure is an f-stop value that multiplies the intensity by 2 to the power of the f-stop. Increasing the exposure by 1 results in double the amount of light.

Important:

Note that the Physical Scale value in the Exposure Control (Environment and Effects) has an influence over how your 3ds Max and Arnold lights render. You may need to disable or adjust the Physical Scale to get the intensity that you expect.

Realistic Shading using Standard Surface

Scene Converter

We will use the Scene Converter (Rendering -> Scene Converter...) to convert the in-built Physical materials to Arnold standard_surface shaders.

Standard Surface

We now want to create a set of realistic plastic shader parameters that can be replicated across all of the standard_surface shaders. Change the following parameters for each standard_surface shader so that the bricks appear more like plastic:

Lego plastic shader settings

Round Corners

This shader modifies the shading normals near edges to give the appearance of a round corner. It can be used with hard surface models where bevels have not been modeled to simulate a round beveled edge, thus saving valuable modeling time.

without round_corners with round_corners

round_corners -> standard_surface.normal

Clip Geo shader

Note:

clip_geo does not currently work with GPU.

We can use the clip_geo shader to create a cut-away shading effect in the camera model.

To avoid clipping the floor plane:

  1. Add an Arnold Properties modifier to the plane.
  2. Create a trace set for the plane by entering a name in the shader Trace Sets text box (for example, "objects_not_to_clip").
  3. Disable the Inclusive checkbox of the clip_geo shader.
  4. Put the objects in that trace set (by entering the same trace set name for those shapes: "objects_not_to_clip").
  5. All objects not in that trace set will be clipped (the car model).

Cube with clip_geo assigned to it. The plane is not clipped because it has a Trace Set (Arnold Properties modifier) that matches the clip_geo Trace Set . Inclusive is disabled.

Stylized Shading using Toon

Note:

To view the toon.edge, you must change the filter_type (sampling settings) to contour. Note that increasing the contour_filter_width (sampling settings) value will increase render times.

contour_filter_width: 1 contour_filter_width: 2
Tip:

To change the background color go to Environment and Effects (8) -> Background: Color:

toon -> Map to Material (assigned to geometry) with toon shader parameters

Final Render Settings

Ray Depth

When rendering with the CYC background geometry (scene link at top of page) the scene appears quite dark with the default diffuse_ray_depth of 1. Increasing this value will allow more light to bounce around the CYC and car geometry (at the expense of increased render time).

diffuse_ray_depth: 1 (default) diffuse_ray_depth: 4

Reducing Noise

For final frame rendering, we will need to increase some of the sampling settings.

Quad Light Samples

1 4

Diffuse Samples (Interior Noise)

There is some noise apparent in the interior and underneath the car. Increasing the number of diffuse_samples should clean this up.

Tip:

Remember to check your AOVs if you are unsure where the noise is coming from. e.g. shadow (light_samples) or indirect light (diffuse_samples).

2 (default) 10

Camera (AA) Samples

3 (default) 5

That's it. You have reached the end of the tutorial. Well done! We encourage you to spend some more time with the MAXtoA user guide where you can find other tutorials such as this.