Material Breakdown – Pearl

pearl_final

I will start a series of material breakdowns, where I show  step by step the principles of how I created the materials from the Austrian Imperial Crown.

This is by no means an absolute guide to the lux material system, but rather an insight into how I use the options given to me by lux.

Lets start with a pearl material.

Glossy Material

Lux offers some basic material types from which you can choose. In our case with the pearl, its a good start to use the glossy type, which offers a diffuse and specular aspect for the reflected light.

Using default values for a glossy material results in something like this.

basic_glossy

Lets just concentrate for a moment on the specular part alone, to see how its parameters affect the appearance.

The basic parameters for you to change are the color, the amount and the roughness (exponent value) of the specular part.

Specular Amount Variation

See here for a variation on the amount. Diffuse is fixed at 1 (pure white) roughness at 500.

spec_amount_0 spec_amount_03

spec_amount_1

You can see the character of the sphere starts as a matte ball, then changes to a plastic ball and ends up being almost metallic in appearance. It is important to keep in mind that the specular part is indeed a reflection, not just a specular highlight trick. This means, that when turning on specularity, you also turn on real reflection, best seen with the example on the right. To speak in blender terms, glossy specularity is comparable to the he glossy reflection available in blender internal.

Specular Roughness Variation

Now lets vary the roughness part. This is done by manipulating the exponent value.

For this  example  I’ve set the amount to 0.5 pure white, diffuse is at 1.0 pure white.

spec_exp_1 spec_exp_50 spec_exp_500 spec_exp_100k

Again it starts at a matte material and gets more and more polished until it could be used as starting point for a billiard ball. Keep in mind, that we used an amount setting of 0.5 so we are more on a plastic side, thus the billiard ball effect. What we already see, is that at a setting of 50 we already have a pearl like effect.

Specular Color Variation

Now for the last available specular parameter, the color. I use a value of 0.75 for the amount and 1000 for the exponent while varying the saturation of a yellow hue.

spec_sat_01 spec_sat_05 spec_sat_1

Again, the specularity is a real reflection, so the reflected environment now gets a tint. Colored reflections are typically a property of metallic surfaces, so the character of the ball now moves more to some metallic aspect, though not really metallic in itself.

Whats also interesting to note, is that we also get quite a pronounced blueish tint.  Just using color for the specular seems to effect the diffuse color as well. The reason for this is the following ( a good educated guess from my side) :

An object can only reflect the amount of light it receives. The two channels diffuse/specular have to use/share this amount of light. If light gets reflected by the specular channel it will not reach the diffuse part.  Setting the amount value of the specular channel to 1 for any hue results in no light for the diffuse reflection in that color. For a full spectrum of colors, this means if you steal a color (specular color) the diffuse part will get a tint in the complementary color.  In our example the complementary to yellow is blue, thus the blueish tint.

Diffuse Amount Variation

So much for the specular part. Now lets have a look at the diffuse one. I set the specularity to 0.5 and 500 roughness and just vary the diffuse from 0 to 1.

diff_0 diff_05 diff_1

What we see here, is again a shift from a metallic character to a plastic one. Combining this with the observations made before, I think its valid to state that the ratio in intensities between diffuse and specular control the materials character.

diffuse < specular : metallic

diffuse > specular : plastic

Also keep in mind, that the specular channel gets the light first. All light reflected by the specular part wont reach the diffuse part.

Basic Pearl Considerations

Now back to the pearl. Pearls have certainly some plastic aspects in it, but have also some pronounced reflections with a hint of some metallic character to it. Thus by applying the previous observations, I would say a ratio of 1:1 with not too smooth a surface should provide a good start.

Basic Pearl Setup

pearl_start pearl_start_setup

That already has some pearl character to it. Still has no color, so lets add some. The basic color is given by the diffuse part. So for a starter lets just add some slightly yellow/orange color to the diffuse part.

pearl_start_yellow pearl_start_yellow_setup

We remember, that using a colored specularity enhances the metallic effect, so lets add a faint blue to the specular channel. This not only gives a slightly more metallic appearance, but also should enhance the yellow part of the diffuse channel, since blue is the complementary color to yellow.

pearl_s_yb pearl_s_yb_setup

Adding thin film interference

Pearls are made of countless very thin layers of mother of pearl, produced by the pearl oyster. These thin layers create the same effect as a very thin film of oil on water, a colorful interference pattern. The effect isn’t too pronounced on pearls but its there.

Luxrender offers a thin film property for materials, but unfortunately only for completely smooth surfaces (glass, mirror). Mixing such a material with the actual glossy one can bring in the thin film effect, but destroys the materials character by adding a perfectly smooth reflection. So we have to come up with some way to fake these thin film effect.

I decided to simulate such an effect by adding a color pattern consisting of slightly blue and pinkish colors. Now the immediate idea to do this, would be to add a texture to the diffuse part with the desired colors. I decided to use another approach.

The glossy material offers an absorption attribute, which lets you specify colors to be absorbed by a certain amount. If a color gets absorbed you will see the complementary color.

Lets setup an absorption texture for our pearl.

thin_film_strong

I use a blender marble texture to modulate between green and orange at a relatively low contrast and very low turbulence. The basic color is set to a dark grey. This main color gets multiplied with the texture, so as long as there is no hue in the the main color, it can act as gain for the texture.

The absorption depth is set to 1, which in itself is a gain value for the amount of absorption done. The setting shown above is too strong of course, so we will lower the absorption depth and add it to our pearl material. This is another reason I chose the absorption technique. I have one adjustment parameter to control the amount of the thin film effect. To achieve the same control using a texture for the diffuse part would involve some elaborate texture mixing.

thin_film_added1

_________________________________________________________________________

Adding another material

The current setup is already quite ok, but the specular, while good at the highlights is too pronounced at the other areas. I imagine having a sphere inside the pearl with a much smoother specularity, something like this.

pearl_diffuse

I just took the previous material setup without the absorption and decreased the roughness value to 5, giving a very smooth specularity, which adds to the diffuse part, but not in a completely diffuse way.

To have those both aspects together in one material, lux offers the mix material. The mix material has two slots for input materials and an amount parameter, which controls the blending of these two materials. Input materials can be any material, except light or portal.

Now lets mix these two materials.

pearl_diffuse_spec

Using the mix amount parameter we can now look for the best balance for these two materials. See below how the material behaves when going from low to high values ( 0.25, 0.5, 0.75 ). A value of 1 has 100% of material 1 and a value of 0 100% of material 2.

mix_025 mix_05 mix_075

Lets settle on a value of ~0.65.

What I also did in my crown project, was to add a bump texture to the second ( more diffuse) material. The idea was to simulate a slightly irregular layer beneath the top reflecting one. So I use a relatively big texture size to have the modulation comparable to the size of the pearl itself ( the dimension of the pearl in this example is 0.7 blender units ).

I use a blender clouds texture with smooth noise and a noise depth of 2. Below is a variation of the texture noise size to find a good value for the bump’s size. I exaggerated the bump setting (0.1) to clearly see the bump distribution.

bump_07 bump_05 bump_025

Lets settle here on the 0.5 texture size. Now lets add this bump map to the second material slot and have a look at the result.

pearl_diffuse_spec_bump pearl_diffuse_spec_bump_setup

One should experiment with the bump settings to find a good value for the bump amount, but I have now chosen a value of 0.01 for this setup.

What about SSS

Real pearls exhibit a certain amount of SSS (subsurface scattering), which enhances the glow of a pearl and makes it appear softer. Luxrender as of version 0.6 has not yet any SSS to offer, it’s planned for a later release. So again, we have to find a way to fake SSS.

A way to do this is by using a mattetranslucent material type and mixing it with the existing material at hand. A mattetranlucent is a matte material with an additional translucent part to it. The translucent light shines diffusely through the object, but no real scattering is applied.

We want the translucency to have the color of creamy white, very similar to the yellow hue we used before. A pure mattetranslucent looks like this

trans1

We have now to mix this material with the already created one. As you see, there is no real limit to the stacking of mixed materials, which on the one hand is extremely powerful, but on the other hand very confusing. The multitude of parameters added with each mix material is enormous and cannot really be overseen. So the advise here is to adhere to the KISS ( Keep It Simple Stupid) strategy, and always test the individual building blocks separately against the attributes you want to achieve.

Ok, so lets mix the translucent part and make a test series to get a good mixing amount value.

trans_mix_051 trans_mix_071 trans_mix_091

TThe above series use 0.5, 0.7 and 0.9 resp.

I choose a value of 0.79 and have arrived at a final pearl material.

pearl_final

with the following setup

pearl_setup

link to lbm file

Conclusion

To recapitulate: this pearl material consists of 3 major building blocks, each having it own attributes, which add to the overall pearl appearance. This is a good starting point for further adapting this material to an actual scene, light setup etc. It is not finished, but should act as solid base. Once all the elements are defined and understood you can create a whole spectrum of pearl materials, suitable for your project.

This concludes this material breakdown. I hope someone can get something useful out of this. Comments and suggestions are of course welcome.

Next material breakdown will be based on the gold material used in the crown project.

This entry was posted in Blender, luxrender, tutorial. Bookmark the permalink.

6 Responses to Material Breakdown – Pearl

  1. Matt says:

    Fantastic tutorial! I’m fairly new to both Blender and Lux, and I’m finding the Lux materials very difficult to understand. The style of your tutorial was more helpful than others. Yours is so much easier to follow because you deal with each variable separately and show examples from either end of the value scale and something in the middle. Also because you actually work through your thought process “outloud,” I was able to understand why you chose the values that you did for each variable. Too often I read a tutorial that talks about how each variable works, but I still end up asking, “what process did you use that led you to choose that particular value?” Yours was much more helpful. Keep up the good work, we n00bs need the help…

  2. loramel says:

    Thanks Matt.

    I am really glad, that this is helpful to others. I try to make the reader understand what my motivations are, and what the basic building blocks are you have at hand.

    All the best on your road into the world of blender and lux.

  3. Andrew Price says:

    I agree with Matt. Tutorials are much more helpful when the author explains why they made certain choices. It’s something I’m trying to do more of in my tutorials.

    As they say, “Give a man a fish and you feed him for a day. Teach a man to fish and you feed him for a lifetime.”

  4. Nizan says:

    Dude, wonderful!
    The world thanks you!

    Nizan.

  5. Andrew Braess says:

    Hallo wished this Tutorial would updated to Blender 2.57 with Luxblend25 and Luxrender 0.8 .
    Thank you

    • loramel says:

      Thanks Andrew.

      I plan to do some extensive luxrender projects after my current short film is finished. This will most certainly include revisiting the existing material breakdowns. But this will have to wait. Current estimates are early 2012.

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>