In this tutorial, we will cover how to light and shade a realistic interior scene using a combination of Maya's native lights and Arnold's proprietary lights. This will include how to set up a volumetric light effect with Arnold. Volumetric lighting is the visible effect of light beams caused by light scattering as it hits dust particles in the air. We will also look at how to use light-emitting objects and how they compare to using Arnold's lighting tools. Lastly, we will look at some of Arnold's camera lens options and how to optimize render settings.
This tutorial is broken up into the following sections:
- Start off by opening the interior scene model in Maya. In this tutorial, we will use a model of the Natural History Museum in London, which can be downloaded from http://www.3drender.com/challenges/ (please note this website has nothing to do with Autodesk but is a useful source of information on many aspects of rendering).
- This model has been created in a different 3D software package, so first check that the geometry normals are all facing in the right direction. Otherwise, you may find inconsistencies when it comes to texturing (i.e., bump map values may be inverted).
Ensure that the 'Visible in Reflections' and 'Visible in 'Refractions' switches are turned on in the Render Stats for the geometry. Sometimes these can be turned off when importing geometry from other applications.
- Hide the windows for now as we want to concentrate on the lighting process initially. We can add the windows later during the shading process.
- Select all of the geometry and assign a standard_surface shader from the Hypershade window. We will use this shader as the basis for our test lighting.
Ai Skydome Light
- Create a skydome_light. Change its Color to a mid-blue. If you are having problems selecting geometry in the scene, you can decrease the sky_radius under Viewport. You can scale it down, and it will still be visible in the camera.
- Render the scene using the default render settings. Do not worry about any noise at this stage. We will add additional lights and improve our render settings at the very end. If it looks too dark, increase the intensity of the skydome_light. This will brighten up the interior and should look something like the render below.
- Create a directional_light and rotate it so that it is coming through the roof windows. Change its color to a warm, light yellow and increase its exposure to something like 5 or 6. Increase the Angle to 1. This will soften the edges of the shadows from the directional light. Enable Use Color Temperature and change the Temperature to around 5500.
- Use the IPR for test rendering. Do not worry if it looks too burnt out, once we add materials and textures, these values will need modifying.
Now we will create some lights outside the windows to try to boost light into some of the darker areas of the interior. These lights will represent light coming from the sky.
- Create an Ai Area Light. Set the Light Shape to Quad. Position and scale it outside one of the roof windows. Duplicate the light and position them so that they cover all of the roof windows (instancing them will help save you time if you need to change any of the settings). Change their color to a light blue and increase the Intensity and Exposure so that they fill in some of the darker shadows in the room as above.
We will use a spotlight to create a volumetric lighting effect.
- Create a spot_light and position it outside the roof windows. Rotate it in the same direction as the directional light as above. Change the color to a light-dark yellow. You will need to tweak the Cone Angle to adjust how the atmosphere_volume looks in the scene. In the Arnold attributes for the spotlight, increase the exposure to a high value like 20. We can lower this value once we are happy that the atmosphere_volume is working correctly in the scene.
- To switch on the Volumetric fog, go to the Render Settings, and under Environment click on the menu to the right of Atmosphere. Choose atmosphere_volume. It should then appear in the attribute editor. Now is a good time to start an IPR. Change the color to a dull yellow and lower the density value of the fog to something that looks more subtle. Try lowering the attenuation value slightly. This will give a gradual falloff of the fog over distance. To reduce the overall effect of the volume fog in the scene, try lowering the value of the default camera_contribution. Changing these values will reduce or increase the brightness of the fog in the scene.
- We can use a light filter called the barndoor to gain more control over the effect of the spotlight and how the volumetric fog reacts in the scene. In the attribute editor for the spotlight, scroll down to Light Filters and from the Add filter menu, choose barndoor.
- This barndoor filter introduces four barn door flaps. Each barndoor flap has three parameters. The first two parameters position the two ends of the flap across the face of the light. The third parameter (edge) controls the softness of the edge. In this situation, closing the right_bottom and right_edge of the barn door helps to give a harder edge to the volumetric fog light beams.
- Now we can start adding some materials to get a better feel for what the scene will look like. Create a standard_surface material and assign it to the brick walls of the interior of the scene. Assign a brick file texture to the base_color. You could also try assigning it to the base_weight. This will affect how the light reacts with the diffuse component of the material. Increase the base_roughness value to 1. This will give the appearance that the material is softer and more chalk-like. Assign a bump map texture to the Bump Mapping attribute. In this case, the file textures have been projected using a triplanar projection method. This will project the texture in X, Y, and Z directions.
- Create another standard_surface shader and assign it to the floor. Assign file maps to the base_color, the specular_color, and the Bump map. Increasing the specular_weight to around 0.3 will give the appearance that the floor is shiny. Increasing the specular_roughness will blur the reflections in the floor and give a more natural appearance. Try using a low value like 0.2.
- Now let's create a stained glass window effect.
Further information about rendering glass surfaces can be found here.
- Select the window glass and assign a standard_surface to it. Lower the base_weight to 0 and increase the specular_weight to 1. Assign a stained glass color map to the transmission_color and make sure that transmission_weight is set to a high value like 0.9.
- Create another spot_light and position it outside the stained glass windows. As long as the Intensity and Exposure of the light is high enough, you should notice a volumetric fog effect. If the fog looks too noisy, try increasing the number of samples in the spot_light. In this situation, 4 samples looked best. Notice the color of the fog is affected by the refracted color through the glass.
- Now let us work on the interior lighting. Next to the stained glass windows are two lamps. Select the glass and add a standard_surface to it. This time we will make the glass refractive. Under specular in the standard_surface shader, change the IOR to that of glass: 1.5. Remember to decrease the base_weight and set the transmission_weight to 1.0.
- Assign a standard_surface shader to the light bulb. Decrease the base_weight to 0 and increase the emission_weight to 1.0. Change the emission_color to a light, warm yellow. Increasing the emission will give the impression that the geometry is emitting light. We do not want this as we want to create a light in its place to give us more control. Make sure to disable diffuse_reflection and specular_reflection in the Arnold section of the light bulb geometry. This is because we will be using a point light to add lighting to the scene.
- Create a point_light and place it inside the glass of the lamp. You can place the light inside the bulb, but remember to disable cast_shadows for the bulb geometry. Otherwise, the light will not be able to escape. Change the point light's color to a light warm yellow hue. We do not want to see any volumetric fog for this, so make sure to lower volume visibility to 0 for the point light. Increase the exposure to see the effect of the light in the scene. The shadows are looking a bit too crisp and hard. We need to soften the look of the shadows.
- To soften the shadows, we need to increase the size of the light. As in the real world, the larger the light becomes, the softer the shadow appears. Under the Arnold section of the point light, increase the radius to around 1.0. You should notice the shadows look softer and attenuate much more realistically.
- Next, create a spot_light and rotate it so that it is pointing up at the columns on the first floor. This will be our up lighter. Change the color to a light warm orange. Open the cone_angle to around 60 and increase the penumbra angle to soften the edges of the light. Increase the intensity and exposure to around 7.0.
- Replace the Ai AreaLight with a cylinder mesh and scale it into a similar shape. Assign a standard_surface shader and increase the emission to 1. Click on the emission_color and choose a light warm yellow Hue. Below Hue in the Color chooser is Value. If your light emission is not bright enough for the scene, try increasing the Value above 1.0. In this case, a value of 4.0 was used. This technique, however, is prone to noise. Increasing the diffuse_samples in the Arnold Render Settings should give a cleaner result. Be careful not to raise this value too high, otherwise your render times will go up. A value of 4.0 was used for the above render. You could also create a combination of both lighting and objects using Emission as we did with the lamp earlier. However, if you are going to do this, remember to disable cast shadows on the cylinder geometry.
- Choose a position for your render camera. Select the camera and scroll down to Arnold in the Attribute Editor. Next, to camera_type, you should see the word perspective. Try changing it to fisheye. This will give the appearance that there is a fisheye lens attached to the camera.
Below you can see the difference between rendering with a perspective lens versus a fisheye lens:
Roll over image
Now let's look at some ways to improve the quality of renderings. You may notice that we are getting some noise in the reflections of our floor material. This is caused by the bright values from the two lamps in the background. We could increase the specular_samples in the Render Settings. However, this would affect the whole scene and would increase render times. Instead, we can limit the brightness of the pixels in the scene. This will reduce the bright reflections on the floor, thereby reducing the reflected noise on the floor.
- In the Arnold Render Settings, enable Clamp Sample Values. Try a value of 1.0. If that does not help then lower the value slightly.
Below are some examples using various diffuse_samples. By default, Arnold uses two diffuse_samples. However, in the example renders you can see noise in darker areas of the image where there are not enough global illumination diffuse_samples. Increasing the number of diffuse_samples in the scene will help to reduce this particular type of noise. This will improve the quality of the rendering. However, it will also add to your render times, so use this value sparingly. The final rendered image was rendered with 6 Camera (AA) samples and 3 diffuse_samples.
That is the end of this tutorial. If you've followed it all the way through, give yourself a pat on the back, and then try using some of these techniques to light scenes of your own!
Modeling credit: Alvaro Luna Bautista and Joel Andersdon.