Hello.
I’m a new user here or in any Blender forum.
I’m making procedural wood texture using material nodes. It is transplanted from my POV-Ray code.
I’m editing, testing it. The texture is composite by several generated ‘base’ pattern. I know how to generate such base pattern, but I don’t know much how to combine them or knowing coloring methods to produce a realistic wood texture.
I need to show them here. Any suggestions welcome.
What you have is already very realistic when it comes to the shapes of the rings and fibers.
For coloring, the color ramp node should work well. Just take the final grayscale texture and pass it through a color ramp. It will allow you to map a color gradient very precisely by brightness value. The exact position and color of each point will depend on your texture, so a bit of trial and error will be needed.
Do I see a little bit of reflection in your screenshot? Are you trying to make varnished wood? If yes, you might get something more realistic going with darker brownish, yellow hues like in my screenshot. The color you have right now is not unrealistic, but is more what I would expect from freshly cut, non varnished wood.
Then, you could also try reusing the texture as bump. Keep the “distance” value really low, though, it should just add a little bit of subtle detail.
Your color is good. I’m using it. So, when the wood is varnished, its color getting darker?
Blockquote
Do I see a little bit of reflection in your screenshot?
I’m sorry. I’m not sure what are you meaning, my English is not very good.
I guess… I use specular 0.397, roughness about 0.2~0.5, using Principled BSDF.
Blockquote
Then, you could also try reusing the texture as bump.
Yes, I have add some bump. But maybe too small you cannot see (original ‘Distance’ 0.0004), I adjust it larger now.
To get realistic knots, you would have to darken the “ring” pattern, but only where the knots are. I am not sure if this is possible to do automatically, because I don’t know how you made the pattern.
I use mathematics functions to do these things. But, before you can do the knots, do you know how to construct a simple trunk pattern like const* sqrt(x^2 + y^2 + (z/b)^2) ?
I construct a base pattern like this. Then distortion it around the theta(angular).
Then multiply the distorion another special distortion to do the (single) knot.
If apply to the x-y plane(not the whole 3D-pattern), just like the picture:
if the abs(theta - theta0) < knot_size/2, then use a rapidly function distort the main trunk pattern;
otherwise use 1.0 (no distortion effect) apply on it, so the trunk maintain the original circle pattern.
theta is the angle on the plane,
theta0 is the angular position of that knot center.
The effect is very similar as ‘Wave Texture’ . But if you want to generate more complex pattern (contain distortion, varying growth speed, knots) next, you should use the math function itself.
The final bit of realism I might add is to make the varnish lighten on sharp edges. This can be done by using an ambient occlusion node to mix between 2 materials.