Making Everyday Materials

Understanding what makes a realistic material

01. Introduction – What you’re going to learn

As you work with materials more you will start to notice trends in their values that you can apply to other similar materials from the real world. In this section we will give you a starting point for many common real-world materials. This shouldn’t be the only way you build these materials, but to serve as a starting point. You will need to set up your rendering system to start making materials. Read this document before starting.

Example of metal and wood materials with surface variations for added realism

02. Rules for All Materials

a. Start Simple & Understand Why

Avoid adjusting too many values at once without understanding the result of each change first.

b. Reflection IOR should be locked to Refraction IOR

All real life materials have the same reflection IOR and refraction IOR.

c. Use the BDRF ‘Microfacet GTR (GGX)’ shader for everything.

GGX is the only complex BDRF that gives the most realistic result.

d. Use a maximum RGlossiness value of 0.99.

e. Try to keep Highlight Gloss Locked.

For physically accurate materials this value should for the most part stay linked to RGlossiness.

f. Think of reflections as a layer on top of diffuse color.

If the material has 0% reflections, it shows 100% of the Diffuse color. If the material has 30% reflections, the Diffuse color is weakened to just 70%, and so on.

g. Use V-Ray Color Map in Diffuse slot when matching colors from external applications.

If you are working by eye and accurate colors are not required, choosing the color from the 3DS Max color picker is fast and easy; however, the problems start when you want to match a color from an external application like Photoshop. If you choose the same RGB value in both applications, the result will be different (if you are using proper gamma 2.2 setup in 3DS Max).

This problem comes from the Gamma correction. To fix it, you must use a VRayColor map in the Diffuse slot. You must set to Specify in the VRayColor node before inputting the RGB value.

h. Fresnel

Keep Fresnel on. In real life, light will reflect differently from different angles.

i. A diffuse color is usually darker than it looks, e.g. a white model should be a light grey diffuse color.

The color of an object is the combination of the diffuse color and it’s reflection. Because everything reflects at least 4% the color will always look a little lighter than it is. Most things we think of as pure white are actually 75%-90% white (190-230).

j. Black is not always as black as we think, as a general rule, use a minimum value of 1 (out of 255).

Only black holes absorb everything and the rest of the world reflects at least a small portion of the light.

k. Glossiness is almost never below 0.3.

l. Use a dust/speckle/fingerprint texture in the RGlossiness slot and dust and scratch in the Bump slot to increase realism.

m. Keep in mind what the dominant material is.

If the object is painted metal, then use a paint material – not the metal. If the paint has chips or scratches, then create both a paint material and a metal material, and layer them using a VRayBlendMtl.

n. Set imported normal map gamma to 1.0.

o. General IOR (Index of Refraction) values

  • Default: 1.52
  • Water: 1.33
  • Plastic: 1.45
  • Glass: 1.5 – 1.8
  • Diamond: 2.4
  • Leather: 3.5
  • Compound materials like wood, stone, concrete etc.: 3 – 6
  • Metals: 18-100 (Though you should rarely exceed 40)

p. Plants, curtains & lamp shades always use VRay2SidedMtl.

q. Use greyscales for adjusting reflection. Adding color will tint the reflection.

03. Making Fabric

The magic to what makes fabric look soft is how the highlights acts as they move away from view. This area where it goes from light to dark to light as the surface of the fabric rolls away is called Falloff (see image on right).

The Falloff node is key to making good looking fabrics. It takes two material inputs and creates a transition between the two that is viewable at certain angles. These angles are controlled with the curve adjustment. The higher the contrast on the curve gradient, the sharper the transition between the two maps. Depending on whether the curve is more to the left or right of the chart that transition will occur sooner or later relative to the surface curvature.

In the case of a basic fabric you are taking your Diffuse bitmap and plugging it into the Map 1 input, then taking another noodle from the same Diffuse node and plugging that into Map 2 of the Falloff node. In more advanced materials you can use different maps for different inputs.

Set the strength of Map 2 to 60%. This is going to slightly blend it with the white color already in the Map 2 channel and give it a faded look.

Next we will use the Mix Curve to give us a transition from Map 1 to Map 2 that’s quick and viewable from a grazing angle.

Using the selection tool  right-click the control points and set them to Bezier-Corner. Drag the control points to get the curve seen on the right. This is going make the transition to Map 2 appear smooth and closer to the edge that is curving away from view. The gradient below the curve displays this behavior.

If you want to add more points use the   icon. Left click to add a point and right-click in the graph area to exit the add point mode.

I find it easier to look at the falloff preview gradient and imagine it cut in half horizontally so it’s like I’m looking at the top edge of a sofa. That gradient is similar to how it will behave at the edge of the fabric. Examples:

Default Mix curve setting

Typical curve with a ramp-up for a stronger, quicker blending at edges.

Softer mix between maps with more Map 2 blending across surface

Sharper mix between maps with a stronger Map 2 viewable at the edges of object quickly blending to Map 1

After you have created the falloff node, create a Color Correction node. Set it to Monochrome (see image, right) and then take the same map you used for the diffuse and plug it into the CC node to make it black and white. We will slightly vary the parameters to give us a bump map and a reflection map.

“But my fabric isn’t reflective, why do I need to make a map?”

Everything is reflective in some way. If you put a red ball on white sheets you’re not going to see the ball reflected, but it will bounce back some of that red color which you will subtly see. So you should get in the habit of always having reflection values in your materials just for some added realism.

In the Color Correction node you can do a lot of quick edits without resorting to Photoshop. Under “Lightness” click Advanced to open up some more properties. Using Gamma/Contrast and Pivot adjustments you can lower or raise the values to get more or less brightness/contrast from the bitmap with greater control over the Standard adjustment sliders. Make another color correction node for your bump map and change the settings to get some variation.

Now let’s move onto plugging these into the VRayMtl node.

Each of the inputs in a VRayMtl has an input value amount and checkbox associated with it. The input value lets you adjust how much of the bitmap in that slot is used. The checkbox disables/enables the map used in that slot (see image on left).

As an example, the Reflect map is set to show 50% of the color correction node we just created, and 50% of the color value set in the Reflect amount. If the number was 100 then all of the bitmap would be used as the reflection map and override any color value.

In the case of the Bump slot, that number is indicating the strength the bitmap has in creating bumps on the surface. So the higher the number the more intense the bump (it isn’t limited to 100).

If we turn off the diffuse map we can focus on how the reflect and bump maps, and how the parameters are affecting the final result. Sometimes this method makes it easier to see any changes you are making. The fabric has some grey in the reflect channel mixed with the 50% map to give us some reflective properties that are broken up by the fabric pattern. The R.Gloss is low so highlights are spread out to give an appearance of a protective coat on the fabric.

The bump map is about mid-range so we know it’s not smooth as silk but not exactly a burlap sack either. The rest of the values are pretty much left at their defaults. Turning on the diffuse gives us a believable fabric base material to build from. You can add wrinkles to the bump with composite maps and normal maps if you want to add more realism.

Finally, you generally want to set Fresnel IOR to 1.6. Make sure that you are using the GGX BRDF shader as well.

Following the guide above you should have a cloth material that looks similar to the image on the right.

If you’re finding it lacks softness, or looks too hazy, you can adjust the curves on the falloff node to control the blend between Map 1 (our overall surface diffuse) and Map 2 (our diffuse highlights).

04. Making Glass

Glass is one of the more easy materials to make because most of the work is done with the Refraction parameters and knowing the Index of Refraction (IOR) of the material you’re making (most fall between 1.3 – 1.6). Add something to the R.Glossiness to show use and you’re done. More complex glass, like mercury glass or bubble glass requires some work with masks and bump maps, but the processes are the same.

Rendering glass as solid or hollow depends on your geometry. If you’re making a table top or acrylic base the geometry should have a solid interior. Drinkware or a lamp shades have thin walls and are hollow so a Shell Modifier should be used. Solid and hollow glass refract light differently so it’s important you show it correctly.

An example of solid glass

An example of hollow glass

Next we’re going to make two types of common glass materials: Clear and tinted (tempered glass). The only difference between glass and plastic in both scenarios is the IOR and Refract/Glossiness amount (depending on plastic quality). Plastic, being a softer material, will show surface wear more than glass would, so bump maps and R.Glossiness maps would be slightly more noticable.

a. Clear Glass

Start with the Reflect color set a little less than all white and the R.Gloss high (.98). Add a grunge map to the R.Gloss slot and set it’s strength to 10. We want the effect to be subtle and just enough to break up the highlights. Fresnel Reflection values stay on and locked at the defaults.

Your Refract color is going to be close to pure white. This is controlling how transparent the object is, and also the color of the glass if needed. Glossiness is controlling the clarity of the refraction and IOR is controlling how the light bends as it passes through (effectively distorting the background). So for glass we’ll put the IOR at 1.54, and the Glossiness at .98 to get the look of quality glass.

Adding a scaled procedural noise to the bump map with a low value will give the glass that subtle imperfection in the refractions and add to the overall realism in the material.

b. Tinted Glass

The accurate way to colorize a glass material is by using Fog Color because it renders the thinner parts lighter and thicker parts darker. Fog Multiplier changes the strength of the tint whereas in Fog Bias negative values make the thin parts of the objects more transparent and the thicker parts more opaque and vice-versa (positive numbers make thinner parts more opaque and thicker parts more transparent). You can use Refract Color to colorize glass using bitmaps or procedurals for less accurate results.

c. Frosted Glass

To make frosted glass, the Refract Glossiness would be around .5 and the R.Glossiness would be .6 to blur the refraction but still allow light through. But experiment with different values to achieve the look you need.

d. Refraction IOR

While not a specific glass type, the image below shows the effects of changing the refraction IOR. A higher number will bend light more, causing the image through the glass to be more distorted and bent.

05. Making Metals

Metals can be very easy to make. They’re very reflective, high gloss, smooth surfaces in most cases. And when they’re not it’s just lowering those values and adding maps to the bump or reflective gloss. This is an oversimplification so for this section we will create a polished metal, one with surface abrasions (stainless steel) and one that is more complex using the Blend Material mentioned earlier.

a. Polished Chrome

The first thing to know about metal materials is there is never color in the Diffuse. It should always be black or a very dark grey if it’s supposed to be tarnished. Any lighter color is going to give the material a hazy look. Chrome is one of the most reflective metals you will encounter so it’s settings are high. Enter these values in a VRayMtl:

  • Black Diffuse
  • Roughness of .3 for “surface dust”
  • Reflect a value of 210 in the HSV black color slider
  • R.Glossiness at .98
  • Fresnel IOR is 90
  • Max Depth at 10
  • GGX falloff at 3 for a sharp highlight

Everything else can stay at the defaults. To add some minor surface wear add a B&W map to the R.Glossiness slot and set the strength to 2 or 3. You’ll notice in the material preview that the highlight has some imperfections.

b. Dielectric Metals

Metals like Copper, Golds, Bronze and Brass are conductors of electricity. So when light hits them they convert that into energy and reflect that back as color. These metals are the only time you would use a color, or map, in the Reflection. Using the settings above add to the RGB sliders 243, 98, 48. The metal now has an orange color to it and the highlights are tinted. Lower the GGX to 2 to feather the highlight. You’ve just made polished Copper.

c. Stainless Steel

What makes stainless steel, or any brushed/sanded metals that have a grain, unique is how highlights and reflections stretch across the surface. This is due to Anisotropy and the parameters are located under the BRDF rollout. Duplicate the chrome from earlier change the following values:

  • Diffuse value of 251 under the HSV black color slider
  • Reflect a value of 180 in the HSV black color slider
  • R.Glossiness at .7
  • Fresnel IOR is 50
  • Max Depth at 10
  • GGX falloff at 4
  • Procedural noise scaled to .08 in Anisotropy map
  • Anisotropy set to .9 and Rotation at 45

Below are examples of what the anisotropy values do.

Above: The anisotropy parameters stretch the reflections horizontally (positive value) or vertically (negative value)

Above: The anisotropy rotation parameters twist the reflections across the surface

d. Polished Chrome

  • Diffuse color value 1 (almost completely black).
  • Reflection color value 210 (Light Grey).
  • RGlossiness .98.
    • RGlossiness map with fingerprints, smudges, scratches, nicks, etc.
  • Fresnel IOR 90 (Chrome is the most reflective metal).
  • Noise map in bump (the surface is rarely perfectly smooth) set to an intensity of around 2-5%.

e. Polished Aluminum

  • Diffuse color value 10 (Dark Grey).
  • Reflection color value 180 (grey).
  • RGlossiness 0.7.
    • RGlossiness map with fingerprints, smudges, scratches, nicks, etc.
  • Fresnel IOR 50.
  • Noise map in bump (the surface is rarely perfectly smooth) set to an intensity of around 2-5%.

f. Brushed Aluminum

  • Diffuse color value 10 (Dark Grey).
  • Reflection color value 180 (grey).
  • RGlossiness 0.7.
    • RGlossiness map with fingerprints, smudges, scratches, nicks, etc.
  • Fresnel IOR 50.
  • Stretched noise map in bump (the surface is rarely perfectly smooth) set to an intensity of around 2-5%.

g. Polished Copper

  • Diffuse color value 5 (Dark Grey).
  • Reflection color value: R 243, G 98, B 48.
  • RGlossiness 0.9.
  • RGlossiness map with fingerprints, smudges, scratches, nicks, etc.
  • Fresnel IOR 40.
  • Noise map in bump (the surface is rarely perfectly smooth) set to an intensity of around 2-5%.

h. Antique Silver

  • VrayDirt in Diffuse slot, Occluded color black, Unoccluded color value 8.
  • VRayDirt in Reflection slot, Occluded color black, Unoccluded color value: R 190, G 179, B 168.
  • RGlossiness 0.9, Dirtmap in RGlossiness slot, map value 5.0*
  • Also, composite maps with fingerprints, smudges, scratches, nicks, etc.
  • Fresnel IOR 40.
  • Noise map in bump (the surface is rarely perfectly smooth) set to an intensity of around 2-5%.

07. Materials Exercises

Follow along with a guide on texturing the bar stool from the modeling and UV Unwrapping exercises.

06. Making Other Materials

Here are some general guidelines for making a variety of materials. Note that these are just general guidelines – your individual settings may vary.

a. Leather

  • Leather Bitmap in diffuse slot
  • Reflection Color value 45 (grayscale).
  • RGlossiness value between 0.6 – 0.85.
  • Fresnel IOR 3.5
  • Bump map and reflection map derived from a greyscale diffuse texture.

b. Velvet/Suede

  • Use a falloff map in the diffuse slot, 100% black, 50% white,
  • Perpendicular/Parallel and adjust the mix curve.
  • 50% white is for lighter textures, use a higher percentage for dark textures.
  • Fresnel IOR 1.6.
  • Use a noise as a bump map to create the ‘hair’ effect on velvet/suede.

c. Glossy Plastic

  • Reflection color value 160.
  • RGlossiness 0.95.
  • Fresnel IOR 1.45.
  • Bump map and RGlossiness map with subtle grunge/scratch.

d. Matte Plastic

  • Reflection color value 160.
  • RGlossiness 0.3.
  • Fresnel IOR 1.45.
  • Bump map and RGlossiness map with subtle grunge/scratch.

e. Clear White Plastic

  • Diffuse color Black (Value: 1)
  • Reflection color value 180.
  • RGlossiness 0.7.
  • Refraction color value 160.
  • Glossiness 0.88.
  • Check “Affect shadows” under “Refract” options.
  • IOR 1.45.
  • Bump map and RGlossiness map with subtle grunge/scratch.

f. Clear Color Plastic

  • Diffuse color Black (Value: 1).
  • Reflection color value 180.
  • RGlossiness 0.95.
  • Refraction color value 235.
  • Glossiness 1.0.
  • Check ‘Affect shadows’.
  • IOR 1.45.
  • Use Fog Color to color the plastic.
  • Fog multiplier 0.6 (decrease for lighter effect).
  • Bump map and RGlossiness map with subtle grunge/scratch.

g. Crystal Glass

  • Diffuse color Black (Value: 1)
  • Reflection color 220 (Almost white).
  • RGlossiness .99.
  • o RGlossiness map with fingerprints, smudges, scratches, nicks, etc.
  • Refraction color 230* (Almost white)
  • Glossiness 1.0.
  • Check ‘Affect shadows’.
  • Check ‘Abbe number’.
  • Abbe value 20.0 (lower is more dispersion and longer render times).
  • IOR 1.9.
  • Max depth 12.

h. Wood

  • Reflection Color value 30.
  • Reflection map with black and white wood texture.
  • You can color correct the diffuse to be B+W.
  • RGlossiness between 0.4 – 0.9.
  • RGlossiness map with fingerprints, smudges, scratches, nicks, etc.
  • Fresnel IOR between 3.0 – 4.0.
  • Bump map with wood texture.
  • You can use a B+W, color corrected diffuse map.

i. Wood with Antique/Worn Edges

  • Use VRayDirt material in Diffuse slot.
  • In VRayDirt add the diffuse texture in the unoccluded color slot
  • Occluded color(for worn edges): Lighter color.
  • Radius: Noise map or diffuse black and white dirt texture. In the dirt texture, black will
  • Reflection Color value 30*
  • Reflection map with wood texture
    • Not all wood grain reflects the same way. This can be a grayscale version of the diffuse.
  • RGlossiness between 0.4 – 0.9*
    • RGlossiness map with fingerprints, smudges, scratches, nicks, etc.
  • Fresnel IOR between 3.0 – 4.0.
  • Bump map with wood texture.

j. Painted Wood

  • Reflection color value 50.
  • RGlossiness 0.8 (Lower number for matte paint).
    • RGlossiness map with fingerprints, smudges, scratches, nicks, etc.
  • Fresnel IOR 2.5
  • BRDF GGX
  • Bump: Mix noise map with black and white wood bump.