I am very impressed! It is easy to see you are on your way to a well-deserved wonderful future.
An absolutely great read, thank you for this. Really lays a foundation on how to go about the learning process.
Hi Matthew and Mr VFX, I’m currently researching this topic of decomposing images into shading and reflectance layers. I would love to learn about what you are trying to use this for to learn more about applications for this technology.
When working with procedural textures, one of the most popular things is to generate wear and tear on the surface. These little details can give your work a special look and help you attract more viewers. You can also add different dust particles or scratch a piece of your surface. Joakim Tornhill has recently shared a mind-blowing guide to adding those effects in Blender and you don’t want to miss this one.
Hi, I started an FB group about Procedural textures in Blender a few months back. This is for noobs as well as experts and right now I’m also writing a document about how to use the nodes for getting wear and tear on objects. So if you like to learn more about how you use nodes, share knowledge or read about other procedural node related things you are welcome. The document (WIP!!) about wear and tear you have here.
Here is a small piece to get you excited:
Pointiness is used to get the supposed wear more visible.
Pointiness always has the same basic setting. You add an input node of type Geometry and then you connect the “Pointiness” to a black and white “colorramp”, connect it to some kind of mix node between two shaders and finally fine-tune the colorramp so that you see both colors.
As you can see some areas are now brighter and that is connected to the edges. However, it’s not so easy that all edges will be affected. The mathematics behind “Pointiness” is an approximation between concave and convex angles. This will give the wear a more “natural” look, but can sometimes make it a little bit harder to work with.
For those that plan to use pointiness in a node group later on, I thought it could be good to go a little deeper into how “pointiness” really works.
Pointiness is built around comparing two edges between each other. The angle gives a base value. This value is then “blurred” or changed a bit according to those edges that are neighbors.
This means that if you have a higher value of the angle between those edges the end value is raised a bit and if you have a lower angle on the end value will be a bit lower.
A totally flat area has the value of 0.5, then it goes up (positive angle) or down (negative angle) depending on the calculations described above.
The value it changes with is the (1/degrees change)/2 according to my own investigations (so it could be wrong…but looks like this in my experiments)
However, that gives us a rather easy to use setup without the need of using the ColorRamp, which is great if we want to use it inside Node Groups.
This setup will allow you to go from -10 to 10 on the input node (I’m using the input node “value” to set a start value like 1.1 in above example). 0 will give no change between black and white and you will get everything just grey, but if you go negative or positive you will see that the edges sharpened.
I will not go into the definition of “normal”, but it’s about the direction of the faces of your object. In a “wear situation”, you normally want to add dust or bleached parts on everything that has a flat face towards the top.
The basic setting for this is an input texture coordinate that uses “normal” output. That is separated by a converter node “Separate XYZ” and the “Z-axis” is then connected to a colorramp which output can control the difference between two shaders.
It will look like this:
Here you can see that everything on top will be affected while the rest is untouched. With the colorramp you can control the softness.
Instead of using the input “Texture coordinates” you could also use the input node “Geometry” where “Normal” also exists and get the same result.
Make sure to check out the developer’s FB group right here to learn more about Blender.