home about gallery publications education links contact

..::watercolour effect::..

This question tends to crop up quite often on the many forums, and there’s a good reason for it. It’s quite difficult to generate an effective result!

The main reason for this is not due to the shading, it’s due to the additional detail required that gives the watercolour effect its characteristics. For those who have never picked up a brush and done any watercolour painting before (and why the hell not?), this style is pretty much “sketching with paint”, which basically means there’s very little (if any) construction lines and detail – you’re painting with thin watered-down paints right onto a heavy weighted paper. Due to the type of paper used and the thinness of the paint, the colour spreads out from the brush when it touches the paper. This creates a defined edge to the blot of paint which is quite “sharp”. After the brush is lifted from the paper, some of the paint is taken (subtracted) from the paper, therefore leaving an area which contains less paint and therefore less colour. We end up with a pattern which has a defined leading edge (often darker and more rich than the main shaded area) which quickly tapers off to the centre of the shaded areas before becoming less intense due to the brush lifting off some of the paint.

In this style of painting, detail, although relevant, is not strictly adhered to as often the artist is working against the clock to get as much done in the same lighting condition. Therefore, colours merge into one another, paints are overlaid and detail merges, creating a general shape to represent a defined object. This is one of the main aspects that we would have to create if we were to successfully emulate this effect and it is something that CG, great that it is, lets us down. A rendering is normally very crisp with defined outlines and form, whereas a watercolour is a lot softer. Therefore, we will have to blend and remove these harsh edges of our rendered scene to create this effect, which means we are going to have to generate this effect as a post effect.

First things first. I know that Photoshop has a watercolour filter and you can use these filters in 3ds max, but the end results are not always that great as it is generating a general wash right over the image which leave very little room for customising the effect. Which is where our effect comes in. To control the boundaries of colour, colour bleeding and the subtraction of colour due to the “brush”, we can use a Gradient Ramp map to do the legwork for us, by setting its Gradient Type to mapping and dropping in a render from the scene we want to apply the effect to in its Mapping slot. The reason we are doing it this way and not generating a material to apply directly to the object(s) to be rendered off in a single pass is because of the defined edges of the render; a paintings colours and shades run into one another, and the best way for us to simulate this is to blur the rendered image slightly.

To add a little extra contrast before the Gradient Ramp map does its work on it, we can clamp off the dark and light areas so that they are more defined by introducing an additional Output map to keep the settings tidy and to ensure the clamping effect is produced on the blurred image, not applied to the image and then blurred. Our gradient can then be designed with a slight amount of noise added to break up the uniformity of the colour banding. Working from left to right, we can create our defined outer edge colour, which would be a darker version of the main colour, which fades away to a slightly darker colour and into the main colour. Further down the gradient, extra flags are added to create another band of reduced colour saturation before turning completely white. To simulate the brush absorbing the colour from the paper, leading flags in a single band of colour in the gradient have their saturation reduced. In addition to this, we can also add some extra watermarks into the image by adding a Mix map controlled by a clamped Noise map to one or two of the flags in the Gradient, and set the Mix map’s colours close to the colour of the flag you would be replacing, with one colour the same as the darkest colour in the gradient map. The end result would generate an irregular outline, giving the impression of a watermark. You could also tint one or two of the “watermarks” further to give the impression of overlaid paint, therefore (slightly) darkening the colour a touch.

Enlarge Screenshot
Open the Material Editor and add a new Gradient Ramp map into a blank material slot. Set the mapping to Environ - Screen and set the Blur offset to 0.3. Set the Gradient Type to Mapped. Set the Noise to 0.41, type to Fractal, Size to 5 and Levels to 10. Open the Environment panel and drag this map to the Environment slot.
Enlarge Screenshot
Remove the flag at position 50. Set the flag at position 0 to RGB 93,57,5. Add a flag at position 2 and set it to RGB 170,105,10. Add additional flags at positions 12 (RGB 255,190,96), 52 (RGB 255,169,47), 53 (RGB 240,154,30), 55 (RGB 255,238,213), 74 (RGB 255,224,180), 75 (RGB 242,206,156) and 76 (white).
Enlarge Screenshot
Right-click the map at position 12 and select Edit Properties. Add a Mix map to its Texture map slot and set its Color 1 slot to RGB 255,190,96 and Color 2 to RGB 170,105,10. Add a Noise map to the Mix Amount slot and label it Watermark Control
Enlarge Screenshot
Set the Mapping of this Noise map to Explicit Map Channel and set the Noise Type to Fractal. Set the Size and Levels to 10, expand the Output rollout, click on Enable Color Map and design it as illustrated. Back in the gradient, right-click the flag at position 52, select Edit Properties and add a Mix Map as before, with colours RGB 255,169,47 and RGB 170,105,10 in its Color 1 and 2 slots respectfully. Instance the Noise map into this map’s Mix Amount slot.
Enlarge Screenshot
Back in the Gradient Ramp map, add an Output map to its Source Map slot. In this map’s Map slot, add a Bitmap map and load in the bot.tga image. Now in the Bitmap map, set the mapping to Environ – Screen and the Blur Offset to 0.004. Expand the Noise rollout, enable it and set the Noise Amount to 0.1, Levels to 10 and Size to 0.1.
Enlarge Screenshot
Back in the Output map, expand the Output rollout and turn on Enable Color Map. Design the Color Map as illustrated so that it clamps off the light and dark areas of the bitmap sub-map. Finally, render off the image.
Enlarge Screenshot
The watermarks generated by the gradient are effective, but are limited to a single colour for the entire image. However, this entire gradient effect can be assigned to a single object to be rendered off in one pass (inset teapot – see Tips section)
Download the max file!
Zip file to accompany.


Our final rendered result is a single monotone image that works well for most scenes. However, should you want to apply this effect to an animation you it would be advisable to animate the Gradient Ramp map Noise’s Phase setting and / or add additional sub-maps for each gradient flag to break up the uniformity of the end result, so that the final animation does not appear to have the watercolour effect “floating” over the top.

Okay, 3ds max’s map blurring is not all that great, so to gain greater control I would suggest that you blur the initial image you want to watercolour in Photoshop first. However, should you not have access to Photoshop, try loading the image into 3ds max as an environment map and use the Blur render effect to blur the image. You can then save the resulting image out (as a different file!) and load it back into 3ds max to be used in our watercolour generator.

This effect is not just limited to a 2D post effect. By amending the Gradient Ramp map’s Gradient Type setting to Lighting, and assigning it to the Diffuse slot of a 100% self-illuminated material, we can create an effect which renders off in a single pass, which will therefore allow us to add different colours to the scene. However, due to the edges of the model now unable to be blurred and (therefore) distorted, there will be a defined edge to the end result which will make the render look a little too CG…

… there is, however a small trade-off that you could introduce by amending the render filter used. Try amending the filter to one that slightly blurs the render, and add an extra post effect to add some of the contrast back to re-define the watermark lines and to add a little more detail. A sharpening filter in, say Photoshop or Combustion is ideal for this and can generate additional watermark lines very easily.

Initially published: 3D World magazine, Issue 54, August 2004.

Copyright Pete Draper, August 2004. Reproduction without permission prohibited.