ROUGH WOOD PLANKS TUTORIAL

Tutorial by Philip Klevestav



< Back to Material Tutorials Index page


INTRODUCTION

Here I will go through some steps on how you can create a rough wood texture using Zbrush, 3DS Max and Photoshop. This can be interesting if you want to make a totally handpainted texture as well. There are just a couple of layers I made differently to make it a more stylized handpainted texture, all that is included in the .PSD at the bottom of this page.

This is a very rough type of wood and I would usually not bother going into Zbrush to create a smoother type of wood surface.
As with all material types there are a lot of different types of wood, for instance you could have a painted wood with thick layers of paint where the normal and specular/glossiness is very important, or you can have a very smooth polished type of wood where you almost have a glass like surface. In this tutorial I did not even bother to create a separate glossiness map as it would have been very matte (dark) anyhow I though I would not gain too much on using that. I also used some color in my specular map, only some engines have support for this but it can definitely help making your material more interesting.


HIGHPOLY

So I decided to create two different planks where I go through each side in Zbrush, I will then place them out in 3DS Max one by one and rotate them so I get a unique side for each plank.
It is important to try and have an even tesselation on this to make the details come out as good as possible in the sculpting process. This was really easy on these two planks, I could just split them up in perfectly square faces.


Then I tesselated them a fair bit, around 70000 triangles for each plank. You can of course do this in Zbrush if you prefer.
I exported both planks to the .OBJ format and imported into Zbrush.


I did tesselate them a bit more in Zbrush as I noticed they would need more detail, so here I am working with about 2 million triangles, which is really pretty overkill for the end resolution I am going to use.

There is a great feature in Zbrush that lets you hide selections you make. You can hide whole objects or even just parts you select. Press "shift+ctrl" and drag a selection over whichever part you want to hide, if you release shift you will hide everything BUT your selection. To unhide everything again just hold down "ctrl" and click outside the canvas.


If you have read any of my other Zbrush material tutorials you will be pretty familiar with the "Mallet Fast Brush" probably. I use this brush for almost everything since it is a really quick way to deforme some edges.
So here I start draging a few brush strokes on the edges. Imagine a very old wood beam here, perhaps something used on an old wooden ship or similar. Try to use a pretty high intensity and a low focal shift while sculpting this.
Repeat this step on all sides of your planks.


Next up is to get some actual wood grain cracks in here. I find the easiest way of doing this is to use the "Projection Master". I then use a "Free Hand Brush" and while using a low focal shift I mix using ZAdd and ZSub settings on my brush strokes.
I drag out long brush strokes over the whole plank pretty slowly while trying to go a bit up or down when close to the edges, if you are a bit careful here you will start getting some nice cracks out naturally when draging brush stroke on top on brush stroke and repeating that.


Once you feel happy with the previous step we will need some finer wood grain as well (this is of course if you are going for that style, some more soft handmade wood style would probably benefit from just moving on from the previous step and import that right into 3DS Max). I use the same technique here as above, just using smaller brushes with a lower intensity. Remember you can exit the Projection Master any time and add as many layers as you want with it (but be a bit careful, sometimes it can "damage" your previous details if you go on too strong in the Projection Master).


After the above steps I import the exported file from Zbrush into 3DS Max (you may want to optimize it before importing it to 3DS Max tho, a great tool I usually use for this is Meshlab, you can download it here: meshlab.sourceforge.net). Then, I make duplicates of my two planks using "Instance" and rotate them so no two planks are the same. After that I rotate and offset each plank a bit to help add some more depth.


TEXTURE MAPS

I start off with a very simple base where I just draw out the edges of the planks and vary up each plank a bit.


I rendered out an ambient occlusion map from the highpoly in 3DS Max at the same time as I baked out the normal map.
I also used xNormal's "Normals2Cavity" function on a copy of my baked out normal map, you can see howto use that in my Matte Metal Tutorial.

OR you can use the "Cavity from normal" action in my Photoshop actions pack (big thanks to Teddy Bergsman for creating that particular action), it will give you a very similar result. Just run the action on a copy of your baked out normal map. You can download the actions pack right here.

I did blur and edit my result a little bit by hand as well, just making certain areas a bit stronger and some more subtle. When done put your ambient occlusion map to multiply blending and the cavity map to overlay blending.


Here I made a mask out of my ambient occlusion map, however I inverted it so I basically masked out the egdes a bit. As you can see I used a photo overlay here but on the next step I show that you could just replace this step with a handpainted base.
I surface blurred the photo and edited it quite a bit painting over some weird things and tweaking the hue.


Here is an alternative way, I simply picked a few different colors and painted some long brush strokes using a fairly sharp brush with a pretty low opacity. Of course you can take this really far if you want to add some knots and details like that in your diffuse.


When the other layers (except any photo layers) are applied the end result feel pretty stylized.


Moving over to the specular I did decide to use some color in this specular and I find some subtle blue green can work for a rough and weathered type of planks.
I am using very subtle colors here, and usually I find that if you do not have support for specular color in your engine, perhaps there is support for tinting the whole black and white specular, and you can get really far with that.
Where it really makes a difference is on materials such as bronze and gold tho, but for general metal it can be a very welcome addition as well.

The biggest downside is that you will need all your RGB channels for a color specular, while if you were going for black and white specular maps you can add a glossiness map in one of the channels and have the specular in one and then even have one channel free for other funky stuff you can think of.
So as an example you could have the specular intensity in the green channel, the glossiness in the red channel and a cube reflection map, emissive map, detail map or anything else you may need for this particular material in the blue channel.


At last we have the normal map left. I did generate some high frequency details using the nVidia Photoshop filter from the photo overlay I was using before. Again, if you are going for a more soft handpainted look you may want to skip this one all together.

The last thing I add to get some more interesting depth when the material is lit is to add a subtle roundness to the planks. You can vary this a lot, but I find having an outgoing bevel like this work for most type of planks, you just make it more or less subtle. I generated this using the nVidia filter again on a base that looks like the black and white part in the image below, where I just made a small selection of a black and white gradient and copied it up 8 times and use a pretty high filter type in the nVidia filter (something like 7x7 or 9x9).


Finally, the finished texture maps. As I mentioned earlier I did not make a per pixel glossiness map for this one, instead I used a low value for the overall glossiness. Some engines support this type of value based input for surface slots. Like in the Unreal Engine you can add a constant to any slot you want.


This is the result with the maps applied.
Download the .PSD


< Back to Material Tutorials Index page