Natural Variations

This tutorial describes natural variations with RichDirt for architects. Architects need increased realism in 2 distinct cases:

  1. For new buildings, with a very subtle tint for increased realism. Used for important projects ( > 1M $).
  2. When a new building is added to an existing neighborhood. A whole streetblock of existing buildings must be created in 3D as fast as possible. Existing buildings must look as plausible as possible (given the available timeframe).

Before After

Why are large scale variations so important for better renderings? Without variations buildings look monotonous, less realistic. Even adding tons of texture does not solve this.

What causes large scale variations in the real world? Buildings get a ´tint´ from weathering via wind. Wind is stronger at the edges of a building and at the top, with strong impact on dust,dirt,rain. While newly built objects ´seem´ to look uniformly colored, they already have a ´tint´, even as early as during the construction phase. This can make the difference between a photo of a real building and a 3D rendering. This tutorial shows how to easily add this effect with RichDirt.

More Advantages of the approach described here are:

  1. no manual painting required (save time)
  2. no memory for huge textures required
  3. fast rendering
  4. single setup for many different materials
  5. no precise uv mapping required

Step by Step

1. Load the tutorial scene

For RichDirt V-Ray click here. For RichDirt2 mental ray here. The file contains a simple scene. Make sure you have gamma and LUT correction enabled for 3ds Max. Also download the wind texture here. The wind texure will be used in 2 places, so you really need it. Select Camera001. Render the scene:

Expert users can skip steps 2 to 6.

2. Open the Compact Material Editor.

Create a new Multi/Sub Object material. Name this ´myMultiSub´.

3. Use a different slot in the material editor.

Create a new V-Ray material or mental ray Arch and Design material. Name this ´myWallMtl´. Set reflectivity to 0.0.

4. Open ´myMultiSub´ material again.

Add ´myWallMtl´ to slots 2,3,4,5 of myMultiSub. Make sure to use -instances- (not copy, we want the same wall material used 4 times). Note: add can be done via drag and drop in 3ds Max. This can be a bit tricky (and one can even overwrite/lose a material) - to drag and drop first activate the ´myMultiSub´ (it has a white frame around its swatch when it is active). Then drag the ´myWallMtl´ into the ´myMultiSub´ sub-material slots. Make sure to not activate the ´myWallMtl´ - if you drag an -active- material in the 3ds Max material editor it -replaces- the destination (so you would overwrite/lose your ´myMultiSub´). The 3ds Max material editor makes it easy to get this wrong ! Your ´myMultiSub´ should now look like:

3ds Max MultiSub material with Rich Dirt textures

5. Go back to ´myWallMtl´.

But make sure you don´t click on it while inside the multiSub - the Material Editor would then display it instead of the multiSub and you might think it is lost. So simply click on the image (swatch) of myWallMtl instead. When inside myWallMtl click the diffuse color map button, to add a RichDirt texture.

6. Make the Dirt color -green-.

Also change the ´Clean´ color to rgb 0.973, 0.851, 0.612. Select the ´Rich Building´ preset.

Activate the ´myMultiSub´, and select the 2 walls in the viewport. In the material editor press the ´Assign Material to Selection´ button.

3ds Max - assign material to selection

Now render:

7. This image looks good ...

(except for the windows) but we still don´t have a ´large scale variation´. The structures around the windows are identical all over the facade. The building edges have also the same intensity top+bottom, left+right.

The image above would already be sufficient in 2 cases: a) For very small projects - Small projects often require a 3d Rendering without real funding, so every hour counts. b) For the `neighboring´ street block, if you don´t have time to add more details.

Using inner occlusion adds a tint to the edges that looks more natural, so the final image is better. The benefit/cost ratio is excellent here - map it only to the main facade object(s), so this is done with just 1-5 assignments. Use the ´Rich Building´ preset and add a second color for the more intense (´dirty´) parts. Can be done in 5 minutes once you are familar with RichDirt. Takes 20 seconds extra rendering time.

Why are then more steps described below ? If your goal is higher quality - either subtly for a new building or more drastically for the ´neighboring street block´ the following part of the tutorial dives deeper into realistic weathering. Step by step.

8. Adding a large scale variation.

Our goal is to make it realistic, and we know that wind + rain + dust are the real forces for these variations. Go to myWallmtl , click the RichDirt Radius map button - to add a Bitmap use wind.jpg.

Using wind to drive variations

This texture needs to be applied in a way that it maps to the full facade, top to bottom, left to right. For the tutorial model the uvs by chance match, so a box mapping isn´t required. Typically select the main geometry, add a UV map modifier. Use box mapping, make the box match with the building, especially the upper edge should match. The same texture can be used for larger and smaller buildings - aspect ratio doesn´t matter here ! Render to get the following image:

wind applied to the building

9. Does the image above look real ? No ! Why ?

On real buildings more dirt is found in the lower part, as wind is slower and less rain washes less dirt away. How do we get this effect ? It is easy in 3ds Max. Make a copy of the wind bitmap. Invert the bitmap, but do -not- use the ´invert´ button - switch on ´Color map´ instead, and invert the function below by dragging left control point to 1.0, and the right control point to 0.0:

Invert wind map using 3ds Max bitmap output color map

10. Adjust the output ´RGB Offset´ to 0.5.

What for ? The offset is to make sure the upper part of the texture isn´t completly black. Black would cause a radius of 0 cm (0 * 50 cm) , so inner occlusion wouldn´t find obstacles. Easy: Playing with amount and offset you can control how dirt is distributed over the building.

Control Distribution of Dirt with 3ds Max Bitmap Output

10.b Add the mirror material for the windows.

The tutorial uses a multi-sub material. The scene uses a single mesh, to assign a glass material assign it to id 6 of the multi-sub material. Real architectural models would use a real object for the window glass, but this one here is a very simple model. Instead of a real glass use a mirror - this isn´t physically correct, but we don´t have anything inside the building so we don´t want transparency. Using just a reflection is easier to control. . VRayMtl: Diffuse black, Reflect white. Ior 2.0. Or use an arch + design material: Diffuse 0.0, Reflectivity 1.0. Ior 2.0, Brdf by ior.

11. Now add streaks.

Create a 3ds Max composite map (note that 3ds Max has both a composite map and a composite material, for this tutorial the -map- is required). Plug the existing (green) dirt into the composite map.

The following 10 sentences can be skipped by expert users. If you use the Material Editor less often it might be confusing to see where one can generate a texture (map) (because you need to create a composite map from scratch). Go back to ´myWallMtl´. Click the diffuse color ´M´ ap button - this activates the RichDirt that you had assigned before. Then rightmouse on ´Rich Dirt´ (see the red underline). This popus up a menu with "Cut" . Use "Cut".

3ds Max material editor - choose a map

In myWallMtl press the map button of Diffuse again. This pops up the ´Material/Map Browser´. Choose ´Composite´ (again: make sure to use a map!, the map browser is different in different version of 3ds Max). In the composite map go to the left side, rightmouse on the square. Choose ´Paste Instance´. This adds the green dirt that you "cut" before.

3ds Max composite map - add a layer

In the composite map add a second layer - press the + button next to ´Total Layers´ (also see the red underline in the image above). Once the second layer is created press the `None´ button (see the red circle below) to add a new RichDirt.

3ds Max composite map combining 2 RichDirt effects

In the RichDirt texture select the Preset ´Below Bench (strong)´. Use red as its dirt color so you can see it in the rendering. Important: set the Clean color to 0.973, 0.851, 0.612, so the ´darken´ mode works fine. Switch on inner occlusion (some of the benches are small so they are only found by io rays). Set the composite mode to ´darken´. Render:

dirt from io overrides streaks from ao

Hm, no streaks visible - what happened ?

switch on streaks for inner occlusion

IO dirt covers AO streaks - We forgot to enable streaks ´For IO´ in the streaks rollup. Let´s focus on simply getting streaks everywhere - activate ´For IO´. Also set Wash Len to 0.0 for AO. Render to see the streaks:

building with streaks, both io and ao

12. More natural streaks - Add wind to radius

To get an even better image modify the red RichDirt radius by a wind texture. Like in step 8 and 9 - add wind.jpg to the radius parameter, invert it in the bitmap ´output´ rollup using ´Enable Color Map´+ swapped curve control points. Use ´Output Amount´ 0.4, and ´RGB Offset 0.8. This makes the radius shorter for streaks in the upper part of the image. It looks more natural. See the image above, it shows the result without wind (left side), and with wind (right side). Also in general the streaks are shorter (because wind.jpg is overall dark). This is intentional, in step 14 streaks will again get longer.


A word on the composite map and how to use it most efficiently: The 3ds Max composite map is very powerful, however the different mixing modes can sometimes be confusing. Above the ´darken´ mode is recommended. It ´works´ indeed, however one must make sure to add the same ´Clean´ color to all layers. In our example this is 0.973, 0.851, 0.612. If one would use white (1.0, 1.0, 1.0) instead the mixing would look strange. If one forgets to add it for one layer this will look strange and takes some time to find.

An alternative is to simply use the ´multiply´ mode on a sequence of black/white RichDirt. RichDirt version 1.05 and higher uses black and white as default colors so this is easy. Multiply with black/white textures always gives a reliable result. This technique is used to combine several dirt effects in the fast weathering tutorial.

13. Add Splashes

Add a new layer to the composite map, then create a RichDirt map. For the RichDirt use the ´Splashes Variations´ preset. Select ´Darken´ as compositing mode. Do not forget to set the ´clean´ color to 0.973, 0.851, 0.612 as this is required for the darken mode to work well. Use blue as ´dirt´ color. The composite map now should have:

a) The ´Rich Building´ preset that creates the large scale variation.
b) The Streaks.
c) The ´Splashes Variations´ preset.

3ds Max composite map

Render to check the splashes:

RichDirt with splashes, streaks and natural variations

The splashes are too soft (see the red line in the image above). What can one do ? Set ´Lower Edge´ to 5.0 in the RichDirt Extreme parameters. ´Lower Edge´ also detects the floor (ground) as an edge that is below, which makes the splashes larger. The right image (above) shows nice splashes - about 30 cm / 10 inches high, while splashes on the window benches remain short.

14. Too dirty ?

The image above is great, but for architectural use one often wants the effects more subtle. To have streaks less prominent go to the streaks rollup, and change the ´amount´ to 50 IO+AO. This dims streaks massivly.

soft weathered image, using RichDirt Streak Maps and Dirt

15. The last step - use real colors for dirt.

One would think that this is trivial. However the 3ds Max composite node doesn´t offer a simple mix mode with multiple inputs and weights. What works quite well is the ´Value´ mode for splashes and streaks with an opacity of 50 each (an opacity of 100 would completly skip a layer). Use white (1.0, 1.0, 1.0) for ´Clean´ and black for ´Dirt´ for both the splashes and the streaks.

Use 0.95, 0.81, 0.44 for ´Clean´ and 0.82, 0.6, 0.07 for ´Dirt´ for layer 1. Then the main colors come from layer 1, and splashes+streaks just make it darker - the ´Value´ mode extracts brightness (= value) from layers 2 and 3 to apply it to layer 1.

composite map using value mode

Three more changes: Apply a material to the tiles. Adjust the glass material (diffuse,reflectivity) to fit with weathered style. Add a flat cone ao to the gray ground to get a contact shadow of the building.

weathered image, using RichDirt Streak Maps and Dirt

This tutorial used RichDirt exclusively. If you are looking for an even easier way to change colors, mixing and adding effects use RichScene.

mental images and mental ray, are registered trademarks, and are trademarks of mental images GmbH, in the U.S.A. and/or other countries. V-Ray and the V-Ray logo are registered trademarks of Chaos Software Ltd. in Bulgaria and/or other countries. Autodesk and 3ds Max are registered trademarks or trademarks of Autodesk, Inc., and/or its subsidiaries and/or affiliates in the USA and/or other countries. finalRender is a registered trademark of cebas Computer in Germany. All other brand names, product names, or trademarks belong to their respective holders.