9
$\begingroup$

When working with generated texture coordinates I see sometimes the Texture Coordinate (generated) and sometimes the Geometry (Position) node used. What is exactly the difference ?

$\endgroup$
1
  • $\begingroup$ Geometry position is almost certainly the (X,Y,Z) coordinate of the surface (or interior) point that is to be coloured/textured etc. as part of the render. Texture Coordinate defines what is to be used for the (U,V) coordinate used to lookup a position on the UV Map and use the pixel information found at that point as the source for the rendered pixel (or the onward journey through node graph). link $\endgroup$
    – PaulMc
    Commented Jan 18, 2016 at 14:52

1 Answer 1

20
$\begingroup$

The Generated and Position outputs each represent coordinate systems. These are often used as texture coordinates for procedural textures since they are 3-dimensional, though they can be useful for other effects as well.


Generated Texture Coordinates

Generated coordinates are defined by the bounding box of an object, and are unique to each object.

Generated texture coordinates give the bounding-box-space position across the mesh. The bottom, left, front of the bounding box is the origin (coordinates [0, 0, 0]), and the top, right, back of the bounding box is [1, 1, 1].

enter image description here

I use generated coordinates when I need the texturing to transform, particularly rotate, with the object. However when the bounding box is significantly non-cuboidal generated textures will stretch and distort the texturing. In these cases you may need to manually "un-stretch" the texture with a mapping node, or use Position coordinates.

Generated coordinates can also be useful for non-texturing methods, like creating gradients or other more advanced techniques.


Position Coordinates

The Geometry > Position output gives the position in world-space across the object. The origin ([0, 0, 0]) is the world origin and all other points are simply their respective position in Blender Units relative to the origin.

enter image description here

I like to use Position coordinates to keep uniform texture scaling across with a material assigned to multiple objects with different sized bounding boxes. Using Position coordinates also prevents distorted stretching on objects with significantly non-cuboidal bounding boxes.

$\endgroup$
2
  • $\begingroup$ I would say it does not matter too much in practical situations to use the one or the other. Or are there situations that it matters which node you use ? $\endgroup$
    – user13877
    Commented Jan 18, 2016 at 18:52
  • $\begingroup$ @JanScherders See edit. $\endgroup$
    – PGmath
    Commented Jan 18, 2016 at 19:11

You must log in to answer this question.