Introduction to Procedural texturing

Welcome to this little tutorial about wood. This is just to get you aquainted with a few of Max' basic procedurals. More advanced tutorials will follow. Maybe. What you're going to need is a copy of Max or any 3d package that supports procedural textures (this tutorial should be applicable to most packages). The different maps used are Noise, Wood and Mix. Very simple. I'll try and explain the thought behind what I did, which might mean what some may call "ranting". I'll try and keep it educational. I'll refer to maps as shaders and shaders as maps. If you feel I'm confusing you, mail me, If I get enough mails I'll change it.

The Wood Shader

First of all, lets look at the wood shader. It's very very easy to distinguish it since it pretty much sucks on it's own. The wood we're going to make here merely touches the surface of what you can do to distort the usual, default look. The Wood Shader in Max works by "projecting" concenctric rings along the objects X-axis. The rings are then distorted using the Radial Noise spinner, and the "Veins" you see are distorted by using the "Axial Noise" spinner. You can use "Grain Thickness" to specify how large the concentric circles will be. Below are a few pictures of the wood with different values.
To move the center of the projection you use the Offset XYZ spinners in conjunction with the Angle spinners. These come into play if you want to change the angle the Wood uses to project the rings. By changing the spinners you can get projection from the Y-axis, the Z-axis and anything in between. The tiling values are also important. These allow you to tile the texture just like a bitmap, but you won't see any seams. This depends on the shader of course, but in this case, you won't see any seams. You will see tiling though, so be careful. I used a value of 2.0 in Y-axis to get more veins. Also rotated it 45 degrees in the X-axis. Experiment to see what fits your scene best. It will be the base for the other wood shader we use.

Adding Variation

What I did was to try and mix two different wood shaders to get a more irregular look, trying to get away from the default grain. This I did by using the Mix map. The Mix map is your best friend when doing complex (and fairly simple) procedural shaders. Add a mix map and put one wood shader in the "Color #1" slot and copy that wood to the "Color
#2" slot. The problem with the wood texture is that if you change the values too much, the mix will look awful. A little experimentation to see which combination was best was needed here. I ended up offsetting the wood about 0.3 units in the X axis, and some slight changes in the noise and grain thickness. Change the mix value to something around 20-30. With some luck you should have a wood pattern that is slightly irregular. Unfortunately it still looks like the Wood shader. A way to remedy this is by changing the colours to black and white. We're going to use this as a mix map and bump map later on. If you want to, you can keep mixing wood shaders and maybe toss in a noise map or five to get further away from the original look. Experiment. As for this shader, I kept it simple.

The two Wood Maps

Lets spice things up a little by adding some noise. Add another mix to the equation, Color #1 is the wood-mix and Color #2 will be good old Noise. I use Noise in almost everything. Doesn't matter if it's 99% bitmaps, there's always room for some carefully masked noise to add a certain randomness. This is very dangerous since noise can be recognized a few lightyears away. Which means you have to tweak it (and use a few mix maps) and here's where those lovely spinners come into play again. The Offset, Tile and Angle spinners help you tweak the noise so that it isn't immediately recognizable. In this case, I changed the tiling to X: 0,2 Y: 1,1 and Z I left alone. This will give you a slightly stretched noise. Change it to Fractal to give it some nice detail. You can also rasie the Levels to 5+. This adds to the detail in the noise. If you lower it it the noise starts to revert back to the regular shape. You could say that it adjusts the "noisyness" for lack of a better word/explanation. Colours and size I left alone in this example but feel free to experiment. Best way to learn.

[imgm:The Noise Map:::4]

Final stage for this mix is to change the mix value. I used something around 45. This gives your mixed wood a slight noise, further breaking up the pattern. If you repeat this a few more times with more noise than wood, it should (after a while) look more like "true" wood and less than the Wood Shader in Max. Drag this map down to the bump slot to make room for the Diffuse map

The Mixed Bump Map

The Mixed Bump Map

Adding Colour

And now for the diffuse. Start by adding a Mix map to the diffuse slot and put a Noise map in the first slot. Once again I tweaked the Tiling values to make it more suitable, in this case only changing the X tiling to 0,1 and leaving the rest of the settings as is. Change the type from Regular to Fractal (this is something I always do) to get the detailed noise. This time I lowered the size to something around 6 and upped the levels to 7. Since this is the diffuse map, black and white won't do. I used a fairly bright beige-ish colour in the first slot and a darker version of that in the second slot. And that's all there is to it in this noise map. Back up a step and copy the noise map to the second slot of the mix map. This map needs to be a darker version of the previous noise. This because we will use the Wood Mix we made earlier as Mix Mask. I'll get back to that in a little while. Anyway, change the colours to darker versions, maybe a little greyish. Use your own judgment.

The two Noise Maps

Back up on step. Instead of using the spinner for mixing, we'll use the bump map we created earlier. Just drop an instance in the Mix Amount slot and you're set.

The Mixed Diffuse

The Mixed Diffuse

The final Material Tree

The final Material Tree

Material Settings

This is the last step. Depending how you want the wood to look, you can play with specular, glosiness and reflection. For a fairly well used tabletop, a bump value of 5 is suitable and a fairly tight highlight. I used a orange/brownish colour as Diffuse Colour and a pinkish colour as the Specular Colour. The reflection should be of the fresnel kind. If you used the Raytrace material as base, you can just drop a Falloff map in the Reflection slot, change it to Fresnel and uncheck Override Mat. IOR and play with the IOR in the Basic Parameters rollout. If you used the Standard Material, drop a Mask map in the Reflection Slot and put a Raytrace map in the Map Slot and a Falloff map in the Mask Slot. Same settings for the Falloff as in the Raytrace example. I won't explain how the Fresnel reflection works since I'm not 100% sure I can and it would take far too long for me to write a coherent explanation. There are other sites for that. Neil Blevins' for example: Lots of interesting things to read.

That's about it for now. If you want to make this look more real, you're going to have to add more layers of noise and wood to both the bump and diffuse slot. And maybe add a map in the glossiness slot etc etc. Use this for what it is. A beginners guide to procedurals. Or maybe slightly Intermediate... I dunno... :)

The final Material (with nice lighting)

The final Material (with nice lighting)


I hope you've learned something about materials in this tut. If you have any questions, comments, praise and/or job offers, feel free to mail me or drop by #maxforums @ or #cgtalk @ I usually go by the nick Urgaffel.

Peter Ã…sberg

Fetching comments...

Post a comment