Commonly-Used Nodes

Understanding what makes a realistic material

01. Introduction – What you’re going to learn

There are a lot of material nodes in 3DS Max – some of which come with the package, others which come with V-Ray. This part of the guide will go over some of the more commonly used nodes that you will need to create any sort of material you require.

02. V-Ray Blend Material (VRayBlendMtl)

a. Blend Materials
A blend material is a node that allows you to combine several fully built materials with different attributes into one more complex material. It’s necessary for creating accurate results that can’t be done with just one material. For example, a dresser with a shellacked finish is going to need a material built for the wood and its properties, but also the layer of shellac that’s on top of it, because each has its own glossy, bump and reflective gloss attributes. In the machinery example below we have yellow paint, which is one material, covering the bare metal – which is another material.

An example of how it works is with car paint:

  • Bare metal
  • Primer paint
  • Color paint
  • Clear coat
  • A deep scratch exposing all the different layers

Using an image in the mask slot will let you see through to layers below.
To read more about V-Ray BlendMtl see this link to the Chaos Group site.

b. Blend Material Structure
The VRayBlendMtl has a variety of uses in creating more complex materials where different surfaces are needed on the same object. To use it you must first create fully realized materials, usually with differences in reflectivity or diffuse, that work on their own. Then you need to plug those into the Blend material and using masks or opacity values combine those materials.

i. The Base Material is the original surface (unpainted wood or clean metal)

ii. The Coat Materials are anything laid on top of the Base (paint, rust, etc)

iii. The Blend amount is how much the materials are blended together, and is controlled with the color values (white shows more of the coat material)

iv. A Map can be used to also control blending (chipping of paint)

In the example here we have our chrome material that we made earlier as our base, then we duplicated it and changed some values (lower Reflect color, R.Gloss .9, GGX 1.3) to lower the shininess and feather the highlight. A bitmap of scratches has been added to the R.Gloss map slot and set to a strength of 50. This is giving us a material that is still very polished, but appears to have some micro-scratches in the highlights showing surface wear. We’re just using the blend amount to mix the two, but you could also use something like a falloff map to limit the viewing angle of the blend or use less reflective settings with a grunge map in the blend slot to show a tarnished surface. If your material uses a diffuse, like wood, you would duplicate that also.

03. VRayDirt

This does exactly what it sounds like and more. It adds “dirt” to the crevasse and contact points between geometry. Look at anything around you and you will find that where the object has areas that are difficult to reach, dust and dirt will collect and make that area of the surface darker or duller. VRayDirt is great for bringing out details in ornate objects and showing use. In rendering terms it is referred to as “Ambient Occlusion”, which describes the effect where it is difficult for light to bounce in and out of the corner of an area, thus making that area darker. Look around the room you’re in and see where the walls and ceiling meet at the corner of a room and you’ll notice a slightly darker gradient as they converge.

The example above shows an “AO pass” with VRayDirt. This material can be combined with a diffuse to give detail to smaller features on an object and accentuate where light can’t easily reach.
It can also be used as a mask that recognizes edges and contact points of geometry. Adding distressing to the edges of a table leg, wrinkles along piping for a cushion and other tricks.

Visual Center has an interactive visual guide on VRayDirt. Keep in mind these values aren’t the same as the real-world scale we work at but still work as a great example on their function. Meanwhile the Chaos Group site has a more detailed breakdown on all the various parameters.

a. Creating a VRayDirt
We’re going to walk through two of the most common uses for VRayDirt. First as an AO pass that will add shading to the crevasses and contact points of an object’s’ geometry, and secondly as a mask that will show distressing only on the edges of an object. Note: Adding VRayDirt to a material will add render to render times. So you want to use as few dirt nodes as possible to avoid this. Some tricks to increasing the intensity of a VRayDirt is to add one instance several times into a a Composite node with each of the blends sent to “Multiply”.

VRayDirt Parameters:

Radius: Determines the spread of coverage where dirt is produced.

Occluded Color: The color/map that is acting as your dirt.

Unoccluded Color: The color/map that is the overall surface.

Distribution: Forces the dirt effect into or away from contact areas.

Falloff: Controls the spread from occluded to unoccluded areas.

Subdivs: Controls the quality of the dirt effect (adds to render time).

Bias: Forces the dirt effect in those directions (negative inverts).

Ignore for GI: Lets you see dirt effect in light cache renders.

Consider same object only: When checked, dirt will NOT collect around areas where separate objects touch. By default this is off.

Double-Sided: Creates and effect where edges and creavase are occluded.

Invert Normal: Reverses direction of dirt placement. When off, dirt sits in crevices, when on dirt will render at the open corners/edges.

Work with transparency: Takes into account object opacity.

Ambient Occlusion with Dirt
In these examples, the following settings were used to produced an AO pass on an object (blue color):

  • Radius 0.5”
  • Distribution -50
  • Falloff 0.2
  • Radius Mapped where noted

(Left to right) No VRayDirt, default dirt values with color in occlusion, dirt with above values

(Left to right) smoke map in radius, grunge map in radius, mix map in radius with color composite

To add an AO pass to an object’s diffuse you’ll want to create a composite node and add 2-4 layers to it. This is going to let us blend the dirt pass with the objects diffuse, but also increase the intensity of the dirt effect using blend modes (set to multiply) without using additional VRayDirt nodes.

When you add a map to the radius of a VRayDirt node it acts as a mask and creates a more random, realistic wear to the surface (see below).

You aren’t limited to a single node. You can use another composite or other map node to make more complex radial masks or stack different dirts with their own values and masks and more.

Next we’ll look at using VRayDirt to add distressing to edges.

Masking Corners with Dirt
For edge wear we’re going to use a simple blend material with a shiny metal in the base and a flat color in the coat, then use a VRayDirt for the blend to show only metal on the edges. Set up your material as shown right and apply it to a 12” x 12” x 12” cube:

Set up a Dirt with the following settings:

  • Radius .5”
  • Distribution -100
  • Falloff .15
  • Invert Normal – Checked

1. Create a composite node and add 4 layers to it

2. Set layers 2, 3 and 4 to multiply

3. Plug your dirt map into all 4 slots

4. Connect that into the Blend 1 slot of the VRayBlendMtl

Apply that to a cube and render it. You should see the result to the right with the blue covering the flat areas and the metal only visible on the edges of your cube.

This is type of even wear may be desirable in some cases, but we’re going to add some maps to distress it more, then vary the coverage at the edges.

Next create a cellular map with the following values under Cell Characteristics:

  • Chips
  • Size .2
  • Spread .5

Plug that into the radius of your dirt and render. You’ll now have a chipped effect going across the edges of your cube like the render to the right.

Using Multiple Dirt Maps
Duplicate the composite and dirt nodes but not the cellular map. We’re going to make another dirt that uses a smoke map and have it confined to the lower parts of the object. We’re also going to use our cellular and smoke maps as masks for the the opposite dirt composites to get more variation.

In the duplicated dirt use these values:

  • Radius 6”
  • Distribution 1
  • Falloff .25
  • Bias -50 in Z

Create a smoke map and use these values:

  • Size 2
  • Iterations 8
  • Exponent 2

Use the smoke in the new dirts radius and create a new composite node that has 2 layers with layer 2 set to multiply blend mode.

Render the image and you should have a cube similar to the right with small chips along the edges and larger, rubbed off areas that are at the base of the cube. When we plugged the procedural maps of the opposing dirt setups into the opposite masks we used those to break up the consistency shown on the object’s surface from the other procedural map. It’s a subtle look but is a part of making things not look perfectly mathematical.

This is an easy way to create complex looking edge wear with just 2 procedural materials and some use of composite nodes to increase intensity and variation across.

This may sound complex so refer to the image on the right.

1. Create a new composite node with 2 layers and plug the composite node from the cellular setup into layer 1

2. Plug the smoke setup in layer 2 of the new composite and set the blend to multiply

3. Plug the cellular and smoke maps into the masks for layers 2 and 3 on the opposite composite nodes

4. Plug the new composite node into the blend 1 slot of our material.

04. Bump and Normal Maps

Occasionally you’ll want to combine a bump map with a normal map to create a more accurate surface texture to your object. To do this you’ll use a VRayNormalMap to combine a b&w image (bump map), and one that has directional values (normal map).

Add the VRayNormal map to the slate editor and double-click to open it’s parameters. Here we have inputs for a normal and bump map with numbers letting us adjust the strength of each maps output.

The map channel lets you apply the map to a specific UV channel while the flip/swap settings below let you change the direction of the colors depending on the program used to create the normal map.

Adding a normal map is done the same way as adding any bitmap. Either drag one directly onto the slate editor or create a bitmap node and navigate to the normal map.

NOTE: You must change the Gamma to “Override 1.0” at import. If you don’t the normal map will not function correctly (see left).

Creating a normal map in Photoshop
Photoshop includes a set of filters to create maps used in 3D software under Filter > 3D. Simply open an image and apply the filter and you’ll be presented with this screen:

From here you can make adjustments to how strong or detailed the map is, or flip its direction up or down. Images react differently so experiment with the settings to understand what they are changing better.

Once we have our maps plug them into their respective inputs and into a default VRayMtl bump slot and render out an example on a 12” square cube with a UVW box map.

Notice the map used for the bump is overpowering the the normal map (bottom left image)? We’ll change the strength of each in the VRayNormal material

Set the normal map to 5.0 and the bump to 0.5 and render again. You should see the effects similar to the top right render with your normal map being the stronger bump showing.
Tip: You can also change the strength of a bitmaps bump by expanding the “Output” rollout in that maps parameters and lowering the “Bump amount”. This is useful if you’ve got a complex bump map setup.

05. Procedural Maps

Unlike bitmaps, which are pixel based, procedural maps use math based algorithms to generate their look. They’re great for something that needs to be random and seamless (marble veins, wood grain, noise) and have infinite resolution (can be made as big or as small as needed). They also work in 3D or 2D space, whereas bitmaps are 2D only. This means that you don’t have to unwrap a box to have a procedural pattern continue across the top from the side. These maps come default with 3DS Max and can be used as masks, bump maps, reflective and glossy maps or anything needing randomness.

Procedural maps in 3Ds Max (all links lead to Autodesk Help Documents):

A plugin called BerconMaps gives you some more robust procedural maps:

  • BerconNoise
  • BerconWood
  • BerconTile

Because we work in real-world scale, a procedural map size usually needs to be smaller than the preview window in the Material Editor is capable of showing. It is usually easier to work at a larger scale to get the look, then scale down to render accurately. As an example, .08 is a good scale for fine detail but you may want to work at a scale of 25 so you can see your changes more easily.

Noise, Smoke, Marble, Wood and Wave Maps

06. The Mix (Map) Node

The Mix node is a quick way to combine two maps together and set the strength of how one blends into the other using the mix or curves amount. It can also be used to change the color of a grayscale image. It’s a simpler option over the Composite Material covered on the next page.

When mixing two bitmaps place one into each Color slot and use the mix amount to set the strength that Color 2 shows through (see right).

If you were to place a noise or grunge map into the mix amount slot you can get some interesting results to randomize the two bitmaps blending.

When you change the default colors and place a map into the mix amount slot you can apply those colors to the dark and light areas of that image. In the example to the right, Color #1 is light brown, Color #2 is dark brown, and the mix amount is a black and white map.

Checking off “Use Curve” will let you adjust the tonal range it is applied to.
The Autodesk KB has more information on the Mix (Map) Node.

07. The Composite Node

The Composite Material node works much like Photoshop’s layers. You can add bitmaps, procedurals, and VRayColor nodes into it, give them a mask, set opacity and blend mode. Unlike Photoshop, this node works in 3D space. This means that certain nodes, like Falloff, can change how much they’re masking depending on the angle of view of the camera relative to the surface.

Note that in the Slate Editor the Composite node lists layers in numerical order top to bottom. But when viewing the nodes parameters (right) the layer order is shown reversed and in the order you would expect (top most layer at top of list).

In the example (right) we have a bitmap of moss, greyscale wood, a VRayColor and a grunge map. The brown color (Layer 2) is being applied to the wood (Layer 1) with a color blend to tint the b&w bitmap. Then the moss (Layer 3) is being applied on top of the wood and is made to appear random by using the grunge map to mask it out.

08. Multi/Sub Objects & Material ID’s

One last thing we have to talk about is Material ID’s. These are assigned in your modeling Viewport and referenced in the Material Editor.

When you create an object in Max it is assigned a Material ID of 1 by default (with some objects, like a box, each side is assigned a number). A Material ID is a number that tells 3DS Max which material should be applied to what faces of a single object. They can be changed in the polygon select or element roll-outs.

Let’s say you’ve created a table and at the end of the legs are metal caps. Instead of modeling these as seperate pieces of geometry you can assign a different Material ID to just the faces you want to be metal. So in this example, the wood part of the leg would have a Material ID of 1, while the group of faces at the end would have an ID of 2.

Now, in the Slate Editor, you have your wood material and your metal material that you need to apply to one piece of geometry. A Multi/Sub Object material node will collect these different materials and apply them to the model properly by plugging the different materials into each numbered slot (indicating a different Material ID, up to a maximum of 10). Note: Multi/Sub Object material nodes should always be at the end of a material and never a child of another material. Again: you should never nest a Multi/Sub Object material inside another material node.

In this example we would set our Multi/Sub-Object material to 2 Material ID’s and plug our wood into ID 1 and our Metal into ID 2. Then we would apply the Multi/Sub-Object material to our object.

When you use “attach” to combine an object to another it will ask how you want to treat different materials and material ID’s. The Autodesk KB goes into more detail on Multi/Sub Objects and MatID’s.

09. Material Extras

Next we’re going to cover some modifiers that can help in making more complex materials.

  • Displacement
  • MultiTexture Plugin
  • Bercon Noise Plugin

V-Ray Displacement Modifier
This modifier gives you more control over a displacement map on an object than you get from just using the map slot on the material. Because it’s dependent on the density of an object’s geometry you will want to use this at the top of your modifier stack, above a turbosmooth, to get the correct effect.

Notice on the images above the cube on the left, using displacement, is physically distorting the surface of the object at the edges. While the image on the right, using a bump, is smooth at the edges and only gives the impression of the surface being distorted.

To the right is the modifier panel. Instance the map you want into the “Texmap” slot under “Common params” by simply dragging the noodle from the slate editor to here.

Here is a brief explanation on some of the parameters:

2D Mapping: Displacement is based on an object that has been UV mapped. This cannot be used with procedurals or textures that use object or world coordinates.

3D Mapping: Does not need UV coordinates to work. It can use the displacement map in an object’s material.

Subdivision: Similar to 3D mapping, the difference is it applies a subdivision scheme to edges (like a Turbosmooth).

Texmap: Your displacement map. This is ignored if “Use object mtl” is checked.

Texture chan: UVW channel the displacement will use (must be set in map as well)

Filter blur: Softens the displacement map to smooth out extreme differences in contrast to produce cleaner transitions between highs and lows in geometry.

Amount: Strength of displacement effect. Positive values raise geometry, negative values push geometry down into the object.

Shift: Specifies a constant flat area in the displacement. If you set the amount to 5” you can set the shift to -5” to keep the geometry from moving up to the amount level. Useful if you find seams splitting where edges meet.

Water level: Clips the geometry at the areas below the set threshold.

MultiTexture Plugin
This plugin lets you manage several different bitmaps and change values across them to increase their uniqueness to get more variation from limited sources.

For example, you can take 5 images of a floorboard and have it randomize the hue, saturation, gamma and orientation to produce what appears to be dozens more (see render below).

Bitmap: Start by clicking “Manage Textures” and loading the maps you want to use. Usually these are woods, stones or similar materials.

Blur: Lowering this value will increase image fidelity in render.

Gamma/Hue/Saturation: This will change the values uniformly for the maps added.

Random/Distribution: These will change the distribution and the range of Gamma/Hue/Saturation applied to the maps at random.

Bercon Maps
These are more powerful versions of some of the standard procedural maps in 3Ds Max. They allow for complex patterns and finer control over variations in woods, noise and even making bricks or tile. Because of the variety and depth of customization allowed in we can’t cover all of them in detail here. So you’ll want to experiment with the settings and see what best works for you. Here are a few examples of what they can do:

Bercon Tile

Plugged into the diffuse, bump and displacement map slots

Bercon Wood

Plugged into the diffuse, bump and displacement map slots

Bercon Noise

Plugged into the bump & displacement map slots

Bercon Gradient

Plugged into the Reflect map slot