Timber - A Fully Procedural PBR Wood Material

After Wickr had a good response and a lot of people seem to be interested enough to download it (Thank you so much!) I thought I should probably make an actually useful material. I’m an Interior Design student and I’m interested in becoming an architectural illustrator / renderer so I thought I should have a go at making some wood. I’m always coming up against issues with not having exactly the right wood image textures for a scene or they don’t tile properly or they need recolouring etc. I used to be a cabinet maker so I’m never happy looking at an obviously faked wood texture and there are just a lot of features that I wanted to be able to use. Hence, Timber.

(these are some quick preset nodes I’ve made that you can just plug into the material - Oak, walnut, birch ply, pine and beech.)

This node setup is not really aimed at the average user - not for any highfalutin reason, just that it 1) has far more customisation than most people need, and 2) more importantly, it doesn’t run in Eevee because of the node limit so making changes can be a bit arduous with cycles. (How did we ever manage before?)

It can’t make ANY timber, at least not straight out of the box. I tried to get it to make birds-eye maple but it can’t without some tweaking that would either break a function for another timber otherwise add a whole extra section just for one niche wood.

You have a decent amount of control with the node but I do find myself dipping in to change a value here or there. It’s hard to know what’s important enough to put on the outside, what to leave inside and what to be driven by the random seed of which there are currently 4 controlling various things like knot direction or the direction the boards are cupped or adding a random value to the colour of each board etc.

Setting up a random seed is really simple for something like this.
UV Map - MixRGB (for multiply iterations) - Seperate XYZ - Add 0.5 - Round - Combine XYZ - Noise Texture.
That’s all there is to it. The noise texture will now output a random colour or value per unit and you can change the scale of the noise texture to give a new value for all the cells!

Currently, it’s a bit of a thicket and I’ve still got another couple of features I wanted to add. I’ve prototyped a nail feature that can position nails in randomly wavering lines and it avoids putting them too close to the ends of boards (a simple mask) but I’m not happy with how the nails actually show up at the moment so I’m holding on to that one. I was also wanting to do some kind of procedural dust and dirt layer where you could really control it but a part of me thinks that that would be more useful as a standalone feature. I also really want to do an option that can switch it from straight boards like this to herringbone but then I’d have to make it switch all the UV maps to match. I’ll have a try anyway.

I’m thinking of splitting it into two nodes as well, like I did with Wickr, so you have one for configuring the surface and then another for doing all the colours / roughness / bump etc. That would also give you an exposed area to split off masks or add your own dust maps and things. Maybe also make it easier to work with if I can get each node below Eevee’s limit… I think I’ve persuaded myself.

What do you think? What wood features do you think are important? What have I missed that I should be adding before releasing this into the world?

Thanks for looking!

Just found my first posts here from August 2010! I basically didn’t use blender between 2.49 and 2.78 - not sure what I did with my time :thinking:

1 Like

Hey, can you upload the nodes online?

1 Like

Seeking inspiration… found a Muse :wink:

Thank you & keep it up

BTW, your Wicker link leads me to "Sorry, you don't have access to that topic!"

1 Like

Respect… read… pay attention. :smirk:
Now just wait for it to show up on GumRoad & Blender Market.

1 Like

Thank you so much!
Ahh you’re right - it was a link to a private message oops. I’ve fixed it now!

1 Like

There’s some things that need fixing and that I want to add and generally cleaning up and making more usable but then I’ll release it! I don’t want to do it now because there are so many issues that could put people off!

1 Like