Support Blender Core Development with a monthly contribution.
The creators who share. Access production content and knowledge from the Open Movies.
Latest news and updates on Blender development.
Join the community and help with design, development, docs and more.
A platform to collect and display the Blender Benchmark results.
Documentation on Blender's features, tools and API.
The yearly event that brings together the Blender community in one place.
Download the latest Blender version, or try the beta!
The Shader Editor
Colors, Values & Vectors
Vectors and Pixels
Geometric Dependency - Context Sensitivity
Generating PBR Maps
Blending & Masking
Walls (Chapter 2+)
Wood (Chapter 3+)
Dynamic Walls (Chapter 4+)
Wooden Boards (Chapter 5+)
Fire (Chapter 6+)
Rainy Window (Chapter 6+)
Example Scene - Simplified
Visualization (Chapter 1-4): Value Graph
Visualization (Chapter 2-5): Space Origami
Example Shader (Chapter 3-1): Rock
Example Shader (Chapter 4-1): Dilapidated Cube Scene
Example Shader (Chapter 4-3): Image Texture De-Tiling
Example Shader (Chapter 4-3): Semi-Procedural Fishbones Boards
Example Shader (Chapter 4-4): Procedural Volumetric Clouds
You can join Blender Studio for €11.50/month and get access to all of our training & film content
9th July 2020
Get the visualization file here: Coordinates.blend
Join to comment publicly.
9th August 2020 - 08:33
This video really hits it out of the stadium in the usefulness dimension -- I've waited like 10 years to find anything like it! Thanks so much : )
30th August 2020 - 17:07
Can you explain why we use UV instead of Generated in the Example 4 please?
(Sorry I commented in the wrong video while I was looking back at this video).
31st August 2020 - 10:53
*@Huân Lê-Vương* You're right, I could have used generated coordinates as well. The reason I didn't is mainly that for a plane the Z-component is irrelevant and with generated coordinates gives redundant and sometimes problematic information. Also for the orientation of an actual pattern like this it is usually nice to be able to manually define its proportions. For example, if the room was not a perfect square, generated coordinates would result in stretching, while the UVs can easily be adjusted.
1st September 2020 - 05:54
*@Simon Thommes* thanks! that makes sense
7th August 2020 - 10:37
hello, how do you make a viewer to see a specific "color" like those 3 at the bottom?
7th August 2020 - 10:43
(i think i know how now)
7th August 2020 - 11:06
*@Huân Lê-Vương* I am using a hack by using separate parented objects with separate shaders that are using the same nodegroup and then going into local view for the individual views.
7th September 2020 - 12:57
Hi Simon, can you tell me why the suzanne in my viewport doesn't have colors like you? I'm using the files you provide in the Files and Tools folder
Well i think i got it, i notice that the node group is used by 4 objects. So i just view the suzannes each in local view. Is this correct?
7th September 2020 - 14:15
*@victor p* Yes, that's correct. If you just used the file from this video though, it should just work.
7th September 2020 - 16:31
*@Simon Thommes* Thank you
7th February 2021 - 10:06
@Simon Thommes I'm still trying to figure out why each local view displays differently. I see that they are all separate objects, parented to the main suzanne, and that each child has a different material. I can't actually change the material in my shader editor for some reason to see what's going on. Why does local view affect the material display? ... ohhh... cause they're in the same location. Heh. So then why can't I select a different mat in the shader? Everytthing is greyed out.
7th February 2021 - 11:05
Edit: Got it. For some reason I couldn't pick a different mat in the shader editor in Layout workspace. Switching to Shading workspace fixed it. Seems like a bug? Anyway, now I see what I'm looking at—separate channels. I couldn't read the material setup in the Material Properties as well as reading the nodes.
7th February 2021 - 11:27
Edit again: I discovered it's the Pinned feature that prevents changing a material. Learning a lot about shading/editor already!
8th February 2021 - 12:19
@Tighe Racicot Yep, you figured it all out! :D Sorry that I didn't explain this in the video, but I wanted to focus on the subject matter itself and use the file only as a tool for showcasing.
11th February 2021 - 05:47
@Simon Thommes No problem. Totally understand. I like to really experiment, question, and break my (limited) understanding of things, so I had to dig a little deeper.
12th September 2020 - 13:21
I wanted to know the difference between generated and Object coordinates. You said Generated is tied to the mesh and object coordinates is tied to the Object, but my mind is not albe to go deeper
14th September 2020 - 10:30
*@Abhirama Gopala Dasa* The mesh and pbject are separate things. Basically the object is what you can edit in object mode with location, rotation and scale. And the mesh is what you edit in edit mode with all the individual vertices.
Generated coordinates stretch along the mesh, no matter what the object scale is. And object coordinates are linked to the object transformation, no matter what the contained mesh is. I hope this helps.
11th November 2020 - 07:02
can we say that the camera projects three dimensions as two with, viewport display being coordinated of that 2. z being anything in the bottom left, y upwards, and x towards right?
28th December 2020 - 22:31
3rd January 2021 - 12:48
Thanks, it is very helpful.
I am new to these concepts. I rewatch it multiple times and discuss it with friends, finally understand it.
It might be helpful when talking about Generated / Normal / Object, choose some points to talk about the output. So that we can know the value range, and how these numbers calculated.
So, Generate value range [0,1], normal value range [-1, 1], Object value range [-∞, +∞] which based on vertices position.
When I search about nodes color:
"Yellow is a tuple containing 3 values; the red, green, and blue channels of a color.
Purple is a tuple containing 3 values. Used for vector/coordinate information."
And I notice I can use Separate GRB, Separate XYZ interchangeable.
My question is:
Is the value range is the only difference between Yellow and Purple nodes?
The yellow node for color range is [0,1], purple node when in Object can be [-∞, +∞]
4th January 2021 - 12:02
@Min Li This question is related to chapter 1-1 where I talk about the difference of vectors and colors. I short, Blender nodes don't make an intrinsic distinction between colors and vectors as objects. The difference is only important once they are being interpreted.
In that sense, yes, the difference is their range. But the sockets and nodes can usually be used interchangeably between colors and vectors.
5th January 2021 - 05:39
@Simon Thommes Thank you ~