In this 'making of' tutorial, we will break down the steps used to render the image above using the Toon shader. We will cover how to use the Rim Lighting, Base Tonemap, Specular Tonemap and Stylized Highlight attributes of the Toon shader. We will also cover how to add variation in the Edge Width to create a more illustrative style.
Ensure that the Filter Type (render settings) is set to Contour when rendering with the Toon Edge.
A scene file is available to download here.
Create a Skydome light and connect a Physical Sky shader to its Color attribute. Increase the Exposure to around 2. Change the Elevation of the Physical Sky to around 30. This will act as the main lighting, however, we will also add a directional (distant) light later to create stylized highlights on her boots, buttons etc.
The tutorial is broken down into the various parts of Sophie that require specific shading attention. We will start at the top and work our way down.
- Assign a Toon shader to the hair geo.
- Disable Edge as it is not necessary.
- Change the Base Color to a dark brown.
- To get the highlight on the hair we will need to connect a ramp to the Specular Tonemap. Change the ramp so that it looks like the ramp below, where white is the highlight area of the hair. Ensure that there is no interpolation in the ramp as we want a strong glossy looking highlight in the hair.
- Assign a Toon shader to the head and body geo and rename it Skin.
- Connect the map test_diffuse.<UDIM>.tif to the Base Color.
- Connect a ramp like the one below to the Base Tonemap. Ensure it has a darker skin tone for the Base Tonemap to be visible.
- Change the Edge color to a brown color.
- Lower the Angle Threshold to around 80. This will give a pleasing amount of Edge detail around the mouth, nose, and chin.
Skin Toon shader settings
- Assign a Toon shader to the eyeball geometry. Decrease the Base Weight to 0 and increase the Emission Weight to 1. This will give us a pure white color.
- Assign a Standard Surface shader to the iris polygon faces of the eye. We don't need a Toon Edge shader here so a Standard Surface shader should be sufficient.
- Connect a brown gradient ramp to the Base Color and reduce the Specular Weight to 0 (we will add specularity to the cornea shader).
- Assign a Toon shader to the cornea geometry.
- Disable Edge as there is already an Edge from where the skin meets the eye.
- Reduce Base Weight to 0. Change the Specular Color to a dark gray and increase the Specular Roughness to around 0.3.
- Increase the Transmission Weight to around 0.9 (making it fully transparent would mean there would be no specular highlight).
- Reduce Indirect Diffuse and Indirect Specular (Advanced) to 0 (we do not want any indirect shading to occur inside the eyeball).
Eyeball, iris and pupil geometry
- Assign two Toon shaders to the jumper (one white and one for the orange stripes).
- Add a light lilac hue to the Jumper's Base Color and orange color to the stripes Base Color.
- Connect a ramp to the Base Tonemap (use the same ramp for both shaders).
- Change the Priority (Advanced Edge Control) of the orange jumper shader to 1. We want it to be greater than that of her skin, otherwise, we will get edges where the jumper meets the skin.
- Assign a Toon shader to the plastic orange boot.
- Connect a ramp to the Base Tonemap.
To get a glossy highlight on Sophie's boots we can use Stylized Highlight.
- Create a directional (distant) light and angle it in a similar position to the Physical Sky (you will need to do this by eye).
- Under Stylized Highlight enter the name of the directional light (this may vary according to which Arnold plugin you are using. Check the Toon documentation for the correct naming convention. For example, in MtoA it would be
- Increase the Size of the Stylized Highlight to around 0.2.
Stylized Highlight on boot
Now we are almost there. However, the Toon edge looks too clean and perfect. We need to break up the Edge Silhouette to give the impression that it has been hand drawn.
- Enable Silhouette for the dominant shaders such as jeans, boots, stick etc.
- Match the Silhouette Color to that of the Edge Color for each shader.
- Create a Cell Noise shader and connect it to Edge-> Silhouette-> Width Scale. Change the Pattern to worley1. In this case, the Scale has been changed to 0.2. You may want to experiment with different Pattern and Scale settings depending on the look you are going for. You can also use Offset to change the position of the noise along the Edge. Attributes such as Randomness can have a big impact on the appearance of the Edge thickness.
Cell Noise -> Silhouette Edge. Rollover image to view without.