In this workflow example we go a step further and take a look at the dynamic wood shader. It is aimed at a level after finishing chapter 3 of the course.
I absolutely love these practical examples, for me it's the only way to learn, bouncing back to the theory videos with the context of trying things out (over and over again).
Mathieu Quiblier
27th July 2020 - 15:00
That's a clever way to use object and textures coordinates instead of wood and gradient textures. So in general, do you only use the noise texture and none of the other hard-coded ones?
Thanks a lot for the course, can't wait for the other chapters.
Simon Thommes
27th July 2020 - 15:26
*@Mathieu Quiblier* Yes, I usually make my own base textures. That gives me the option to use all of the information in between and have exactly the features that I need and most of the time it does not take so long to set them up.
Only noise textures are really hard to recreate, so I use those directly, I talk about that in the chapter about noises.
There are exceptions though, for example the magic texture is really nice to create cheap and simple textile patterns.
*@Huân Lê-Vương* The problem is that your geometry does not have any actual curvature. To make the most of the pointiness feature, you should add a bevel to the edges, for example with a modifier. You can take a look at the objects in the example scene.
Huân Lê-Vương
26th August 2020 - 09:39
*@Simon Thommes* thanks.
kroneborge
23rd September 2020 - 05:40
Excellent. course, I think I actually got most of this part. The only thing I did different is added a noise texture to the dirt gradient texture to break up the dirt a bit.
Benjamin Bass
13th June 2022 - 12:15
This is the most complex shader I've ever made! And I really understood what I was doing! Instead of using the pointiness, I use a Dot Product of the Bevel node and Normal from the Geometry node (not my invention). What is your preference, Sir Simon?
Simon Thommes
21st June 2022 - 01:29
@Benjamin Bass I'm glad to hear that! The method depends a bit on the geometry for more organic shapes and high poly count the pointiness works a bit better from my experience. But the method using Bevel works great for sharp edges and low poly count
Abhirama Gopala Dasa
23rd July 2020 - 14:38
Kindly tell about math node. I dont understand things like smooth minimum and maximum...After repeated plays I have understood many things...
Simon Thommes
23rd July 2020 - 14:55
*@Abhirama Gopala Dasa*
I am not exactly sure I understand you correctly.
The workflow examples are meant to support the main content of the chapters to develop a deeper understanding of the topics that have been touched and draw connections.
I go over how to use smooth minimum and maximum to combine value maps in chapter 2.4 about texture composition.
Huân Lê-Vương
18th August 2020 - 15:40
it took me a while to understand the "length" part :v "square root" is involved so that's why we have the radial?
Simon Thommes
18th August 2020 - 18:08
*@Huân Lê-Vương* The lenght operation simply gives you the length of the vector that you plug in. Mathematically that is sqrt(x^2+y^2+z^2), but here that does not really matter.
What is important is only that for a coordinate map that gives you the distance from the center, or a radial gradient from the inside out.
Huân Lê-Vương
19th August 2020 - 06:44
*@Simon Thommes* ok, thanks!
Huân Lê-Vương
19th August 2020 - 07:12
(deleted)
Huân Lê-Vương
19th August 2020 - 09:22
(deleted, i know how)
Michael Schwarz
18th October 2020 - 14:56
When do all steps up to 03:51 with cube I created on my own the texture coordinates seems to differ from the cube of the example scene.
I created a new file,then created a cube, changed the dimensions that it looks more like a board, the added the Texture coordinates as described. Then I appended the board from the sample scene. With the same shading nodes it looks different from the colors which means there must be something different with the coordinates.
Please check: https://www.dropbox.com/s/f705tp39n26p8qm/woodenboard_1.blend?dl=0
How come? What is special about the board from the example scene?
Simon Thommes
20th October 2020 - 12:57
*@Michael Schwarz* When you scale down the cube in object mode, that means that the object coordiantes are squashed or stretched along with it. Sometimes that is useful, but here you want the coordinates to be unaffected from scale. To achieve that you can either apply the scale of the object by pressing CTRL+A or scaling the cube down in edit mode in the first place.
Michael Schwarz
26th October 2020 - 07:01
*@Simon Thommes*
Thank you very much! I just overlooked the scaling factors for x-y-z I had for my board.
jamesrossbond
7th November 2020 - 17:56
why do you use separate object co-ordinate's? can it not come from same node? what are the reasons of a seperate flow?
Simon Thommes
12th November 2020 - 12:49
@jamesrossbond You can use the same node, there is no difference in how it works. The reason I am using seperate nodes is for node-tree readability. It is more structured when logically disconnected parts of the shader use separate coordinate inputs, that also allows to change the used coordinates individually later on.
@Leslie Solorzano My guess would be that the object you are using has inverted normals. Have you tried your material on a simple default cube? Otherwise you can also compare the node setup with the one from the example scene.
Leslie Solorzano
12th November 2020 - 22:13
@Simon Thommes The cube looks the same, I actually checked the normals by showing face orinetation and they were all blue. I imported the material from the .blend that you provide and it looks different, I don't know if it has to do with the size or shape of mi object. But it doesn't matter, the important ting was to learn the method
Luis Saybe
14th December 2020 - 21:41
I started doing this object as a cube with a bevel modifier. I could not get the object to look like what you had up to the point where you added the Ping-pong node...then I eventually figured out that I needed to scale the object by uniformly scaling all the edges at the same time in Edit Mode rather than scaling the entire cube in object mode. Wasn't easy to figure out 😭
Simon Thommes
4th January 2021 - 11:34
@Luis Saybe Correct, I forgot to mention that in the video as I simply intended to use the example geometry. Generally it is always a good idea to do scaling operations like this in edit mode and keep the object scale for operations that don't regard the shape of the object itself.
James Perry
5th April 2022 - 16:48
In order to get more randomness on the final output, you can add a Mapping node in front of the Distortion frame nodes and use Object Info>Random to control the location of the texture coordinates. This gives a very good result which can be adjusted with further Math nodes. THANKS! This was a great tutorial!
Keshav Chaurasia
20th November 2022 - 16:53
I'm so excited to do small experiments now, I wanted to try to add distortion to the dust diffuse shader, I think I made a mistake by using the object coordinates for the noise texture connected to linear light and then to the factor of the mix shader.
Simon Thommes
21st November 2022 - 10:37
@Keshav Chaurasia If you are using the setup to blend with the z coordinate, you can also add the noise before applying the map range operation
30 Comments
Join to comment publicly.
Jonathan Walsh
1st October 2020 - 17:38
I absolutely love these practical examples, for me it's the only way to learn, bouncing back to the theory videos with the context of trying things out (over and over again).
Mathieu Quiblier
27th July 2020 - 15:00
That's a clever way to use object and textures coordinates instead of wood and gradient textures. So in general, do you only use the noise texture and none of the other hard-coded ones? Thanks a lot for the course, can't wait for the other chapters.
Simon Thommes
27th July 2020 - 15:26
*@Mathieu Quiblier* Yes, I usually make my own base textures. That gives me the option to use all of the information in between and have exactly the features that I need and most of the time it does not take so long to set them up. Only noise textures are really hard to recreate, so I use those directly, I talk about that in the chapter about noises. There are exceptions though, for example the magic texture is really nice to create cheap and simple textile patterns.
Huân Lê-Vương
22nd August 2020 - 09:08
hello,
my "pointiness" doesn't "push" the value to the edges of my wood object: https://photos.app.goo.gl/Uduwswz773BgPK468
here is my .blend file: https://drive.google.com/file/d/1dBamVEsfBWJx5Xg0C5SbyXnC3X25dWhd/view?usp=sharing
Simon Thommes
23rd August 2020 - 10:10
*@Huân Lê-Vương* The problem is that your geometry does not have any actual curvature. To make the most of the pointiness feature, you should add a bevel to the edges, for example with a modifier. You can take a look at the objects in the example scene.
Huân Lê-Vương
26th August 2020 - 09:39
*@Simon Thommes* thanks.
kroneborge
23rd September 2020 - 05:40
Excellent. course, I think I actually got most of this part. The only thing I did different is added a noise texture to the dirt gradient texture to break up the dirt a bit.
Benjamin Bass
13th June 2022 - 12:15
This is the most complex shader I've ever made! And I really understood what I was doing! Instead of using the pointiness, I use a Dot Product of the Bevel node and Normal from the Geometry node (not my invention). What is your preference, Sir Simon?
Simon Thommes
21st June 2022 - 01:29
@Benjamin Bass I'm glad to hear that! The method depends a bit on the geometry for more organic shapes and high poly count the pointiness works a bit better from my experience. But the method using Bevel works great for sharp edges and low poly count
Abhirama Gopala Dasa
23rd July 2020 - 14:38
Kindly tell about math node. I dont understand things like smooth minimum and maximum...After repeated plays I have understood many things...
Simon Thommes
23rd July 2020 - 14:55
*@Abhirama Gopala Dasa* I am not exactly sure I understand you correctly. The workflow examples are meant to support the main content of the chapters to develop a deeper understanding of the topics that have been touched and draw connections. I go over how to use smooth minimum and maximum to combine value maps in chapter 2.4 about texture composition.
Huân Lê-Vương
18th August 2020 - 15:40
it took me a while to understand the "length" part :v "square root" is involved so that's why we have the radial?
Simon Thommes
18th August 2020 - 18:08
*@Huân Lê-Vương* The lenght operation simply gives you the length of the vector that you plug in. Mathematically that is sqrt(x^2+y^2+z^2), but here that does not really matter. What is important is only that for a coordinate map that gives you the distance from the center, or a radial gradient from the inside out.
Huân Lê-Vương
19th August 2020 - 06:44
*@Simon Thommes* ok, thanks!
Huân Lê-Vương
19th August 2020 - 07:12
(deleted)
Huân Lê-Vương
19th August 2020 - 09:22
(deleted, i know how)
Michael Schwarz
18th October 2020 - 14:56
When do all steps up to 03:51 with cube I created on my own the texture coordinates seems to differ from the cube of the example scene. I created a new file,then created a cube, changed the dimensions that it looks more like a board, the added the Texture coordinates as described. Then I appended the board from the sample scene. With the same shading nodes it looks different from the colors which means there must be something different with the coordinates. Please check: https://www.dropbox.com/s/f705tp39n26p8qm/woodenboard_1.blend?dl=0 How come? What is special about the board from the example scene?
Simon Thommes
20th October 2020 - 12:57
*@Michael Schwarz* When you scale down the cube in object mode, that means that the object coordiantes are squashed or stretched along with it. Sometimes that is useful, but here you want the coordinates to be unaffected from scale. To achieve that you can either apply the scale of the object by pressing CTRL+A or scaling the cube down in edit mode in the first place.
Michael Schwarz
26th October 2020 - 07:01
*@Simon Thommes* Thank you very much! I just overlooked the scaling factors for x-y-z I had for my board.
jamesrossbond
7th November 2020 - 17:56
why do you use separate object co-ordinate's? can it not come from same node? what are the reasons of a seperate flow?
Simon Thommes
12th November 2020 - 12:49
@jamesrossbond You can use the same node, there is no difference in how it works. The reason I am using seperate nodes is for node-tree readability. It is more structured when logically disconnected parts of the shader use separate coordinate inputs, that also allows to change the used coordinates individually later on.
Leslie Solorzano
7th November 2020 - 20:23
For my normals I get the opposite effect as in this screenshot https://imgur.com/a/bjf5gAW
Simon Thommes
12th November 2020 - 12:54
@Leslie Solorzano My guess would be that the object you are using has inverted normals. Have you tried your material on a simple default cube? Otherwise you can also compare the node setup with the one from the example scene.
Leslie Solorzano
12th November 2020 - 22:13
@Simon Thommes The cube looks the same, I actually checked the normals by showing face orinetation and they were all blue. I imported the material from the .blend that you provide and it looks different, I don't know if it has to do with the size or shape of mi object. But it doesn't matter, the important ting was to learn the method
Luis Saybe
14th December 2020 - 21:41
I started doing this object as a cube with a bevel modifier. I could not get the object to look like what you had up to the point where you added the Ping-pong node...then I eventually figured out that I needed to scale the object by uniformly scaling all the edges at the same time in Edit Mode rather than scaling the entire cube in object mode. Wasn't easy to figure out 😭
Simon Thommes
4th January 2021 - 11:34
@Luis Saybe Correct, I forgot to mention that in the video as I simply intended to use the example geometry. Generally it is always a good idea to do scaling operations like this in edit mode and keep the object scale for operations that don't regard the shape of the object itself.
James Perry
5th April 2022 - 16:48
In order to get more randomness on the final output, you can add a Mapping node in front of the Distortion frame nodes and use Object Info>Random to control the location of the texture coordinates. This gives a very good result which can be adjusted with further Math nodes. THANKS! This was a great tutorial!
Keshav Chaurasia
20th November 2022 - 16:53
I'm so excited to do small experiments now, I wanted to try to add distortion to the dust diffuse shader, I think I made a mistake by using the object coordinates for the noise texture connected to linear light and then to the factor of the mix shader.
Simon Thommes
21st November 2022 - 10:37
@Keshav Chaurasia If you are using the setup to blend with the z coordinate, you can also add the noise before applying the map range operation
Keshav Chaurasia
21st November 2022 - 15:20
@Simon Thommes Thanks! it worked!