What is the Texture Coordinate Node in Blender?
The Texture Coordinate node in Blender is a fundamental shader node used to dictate how 2D image textures or 3D procedural textures map onto 3D objects. This article provides a clear, straight-to-the-point explanation of what the Texture Coordinate node does, how its individual output sockets function, and how to use it effectively within Blender's Shader Editor.
Understanding the Texture Coordinate Node
In Blender, textures need coordinate systems to know where to appear on a surface. The Texture Coordinate node (found under Add > Input > Texture Coordinate in the Shader Editor) generates these position data points for your material shaders. It acts as the starting point for texture mapping, often feeding directly into a Mapping Node to scale, rotate, or translate textures.
Explanation of Output Sockets
The node features several output sockets, each providing a different method for mapping textures:
- Generated: Automatically generates coordinates based on the bounding box of the object, ranging from 0.0 to 1.0 along the X, Y, and Z axes. This is the default mapping for procedural textures and stays consistent even if the object deforms.
- Normal: Uses the object's surface normal vectors as coordinates. This is useful for applying direction-based textures, such as adding a snow material only to the top-facing parts of an object.
- UV: Uses the custom 2D UV map created during the UV unwrapping process. This output offers the highest level of control and is necessary for precisely mapping image textures onto complex 3D models.
- Object: Uses the local coordinate space of the object itself (or another specified target object). Unlike "Generated," the origin point (0,0,0) is at the object's origin rather than a corner of its bounding box, preventing textures from stretching when the mesh scales.
- Camera: Maps coordinates based on the current active camera's view space. Textures mapped with this output will appear fixed to the camera, moving relative to the object as the camera navigates the scene.
- Window: Maps coordinates to the 2D window space of the rendered screen (from 0.0 to 1.0 across the viewport). It behaves like a projection screen, making it useful for screen-space effects or background overlays.
- Reflection: Uses vectors derived from the eye direction reflected off the surface normals. It is primarily used for creating static reflections or environment maps without dynamic raytracing.
How to Use It in a Shader Setup
To use the Texture Coordinate node, connect one of its outputs to the Vector input of a texture node (such as an Image Texture, Noise Texture, or Voronoi Texture). Inserting a Mapping Node between the Texture Coordinate node and your texture allows you to fine-tune the position, rotation, and scale of the texture across the mesh surface.