Satin Material
By Neil Blevins
July 15th 2004

This is a quick tutorial discussing a satin shader I made in brazil, and some of the thought behind making it.

Someone came on the Splutterfish Forum, and wanted to know how to make a satin material. I was waiting at home for a plumber, and didn't have much to do, so I decided to give it a try.

First off, here's the reference image I was given.

Figure 1

I started by making some cloth looking geometry. I downloaded the free version of simcloth, took a plane, put a noise modifier on it, then dropped a second plane on top of the first plane. My second plane (the cloth) all bunched up like cloth would when it impacted the first plane. I then deleted the first plane and now had some wrinkly cloth.

Next came the shader. One of the things about satin is it's shiny, and has a fine thread structure that primarily travels in one direction, hence I decided to use an anisotropic shader for the highlight. This led to my first stab at the shader...

Figure 2

Parameter wise, it's a brazil advanced material, a blinn highlight shader, anisotropy of 0.6 angle of 45, very tall wide highlight. The base shader is velvet with some color in the luminosity to bring a little extra illumination in the dark areas (faked translucency). Bump wise, I used a bump from darktree, the denim shader, but I removed the color and left only the bump, saved it as a dtsb file, and used it in the brazil material's bump channel.

While it retained some of the right aspects, a friend pointed out that it still looked a bit too rubbery, probably because the bump was too strong, and also the shadow areas weren't getting enough light (ie, I didn't go far enough with my faked translucency). So I added a little more luminosity to bring more light and color into the dark areas, and hence a much lighter, silkier material. Also, I mixed the threaded bump with a little bit of fractal noise, again in darktree (the rough procedural) with a high lacunarity value. This led me to my second stab at the material...

Figure 3

Then a little more refinement

Figure 4

Finally, I realized the material would actually be pretty rough due to all the threads, and hence instead of using a brazil default shader (who's diffuse component is lambert), I switched to an oren nayar shader, and added some roughness in there (0.7). Tweaked the other parameters again ever so slightly, a slightly tighter highlight, and here's the result...

Figure 5


This site is ©2004 by Neil Blevins, All rights are reserved.
Back to NeilBlevins.com