Multiplying Texture Coordinate

I have been following a series of tutorials, and have come across the following node configuration: I can see the behavior this creates with my own eyes (adjusting the value at the bottom sort of "scales" the texture, though seemingly inconsistently).

I am, however, at a loss to really understand what this is doing. It appears to be feeding the texture coordinates (essentially, if I understand correctly, vectors representing every point on the surface) into a node designed for image data, and them multiplying it by a single value? This just seems like complete gibberish to me.

Please can someone explain in plain English the operation that is happening here, so I can visualise what is actually going on?

(If it makes a difference, the output from this group drives the strength of an emission shader, which is then plugged into the Volume of the material)

• I recommend you watch Bartek Skorupa's video: Manipulate texture coordinates like a boss – cegaton Feb 23 '17 at 3:50
• @cegaton This video is incredible. Everyone should watch this. Basically every question you wanted to ask about texture coordinates, but were afraid to ask. Thank you. – Lewis Feb 23 '17 at 8:17

Take a look at the cubes below and their materials. Material of the left cube: Material of the middle cube: Material of the right cube: All three materials above are equivalent, despite using different nodes

What you are doing is multiplying the 3 individual values of a vector (the object coordinates) with a certain value. The second material above might be what you expected what you were supposed to use. It takes a vector, splits it up into individual values, multiplies the values with a number and combines the values back into a vector. If you compare the first and the second material, you can see that they are almost the same, except that the first uses 'color' nodes and the second uses 'vector' nodes. The reason why this gives the same result is because vectors and colors are actually pretty similar. Both consist out of three values ('X','Y','Z' vs 'Red','Green','Blue'). This means that you can basically plug colors into vector inputs and vectors into color inputs. This also means that you can use some color nodes to do operations on vectors, like in your example the color multiply node.

• Brilliant explanation and illustration, thank you. – Lewis Feb 23 '17 at 8:14