Vector nodes
Press Shift+A, or release a dragged wire on empty canvas, to open the node search ("Search nodes…").
In the tables, drag scale N means a 200-pixel drag moves the value across the span from the minimum to N; keep dragging, or double-click and type, to reach the full registered numeric range. A dash in the bounds column means no scalar range is listed; it does not promise that every input type accepts unrestricted values.
Mapping
Transforms a texture coordinate vector by applying translation (Location), rotation, and scale. Type controls how the transform is applied: point moves, rotates and scales the coordinates; texture applies the inverse, so the texture itself appears to move; vector applies only rotation and scale (Location is ignored); normal transforms as a surface normal. Rotation is in radians (90° ≈ 1.5708).
Inputs
| Socket | Type | Default | Registered numeric bounds | Choices |
|---|---|---|---|---|
| Type | Choice | point | — | point, texture, vector, normal |
| Vector | Vector | 0, 0, 0 | — | — |
| Location | Vector | 0, 0, 0 | — | — |
| Rotation | Vector | 0, 0, 0 | — | — |
| Scale | Vector | 1, 1, 1 | — | — |
Outputs
| Socket | Type |
|---|---|
| Vector | Vector |
Bump
Perturbs the shading normal to simulate surface bumps without moving geometry. Wire a height map (e.g. Noise Texture Fac) into Height. Strength scales the effect (0–1); Distance multiplies Height to set how deep the bumps look. Invert flips the bump direction. Wire the Normal output into a shader's Normal input.
Inputs
| Socket | Type | Default | Registered numeric bounds | Choices |
|---|---|---|---|---|
| Invert | Boolean | Off | — | — |
| Strength | Float | 1 | 0 to 1 | — |
| Distance | Float | 0.1 | 0 to 1000 | — |
| Height | Float | 1 | 0 to 1 | — |
| Normal | Vector | 0, 0, 0 | — | — |
Outputs
| Socket | Type |
|---|---|
| Normal | Vector |
Normal
Outputs Direction, normalised, as Normal, and the dot product of Direction with whatever is connected to the Normal input as Dot. For example, wire Geometry › Normal into Normal to measure the angle between a fixed direction and the surface. Both inputs default to 0, 0, 0, and the renderer cannot normalise a zero vector, so set Direction and connect Normal before using either output.
Inputs
| Socket | Type | Default | Registered numeric bounds | Choices |
|---|---|---|---|---|
| Direction | Vector | 0, 0, 0 | — | — |
| Normal | Vector | 0, 0, 0 | — | — |
Outputs
| Socket | Type |
|---|---|
| Normal | Vector |
| Dot | Float |
Vector Math
Performs a vector or scalar operation selected by Operation. The third Vector input (Vector (3) in the table) is used only by multiply_add, faceforward and wrap. Scale is used by scale, and as the IOR by refract. Use the Value output for dot_product, distance and length; use the Vector output for the rest.
Inputs
| Socket | Type | Default | Registered numeric bounds | Choices |
|---|---|---|---|---|
| Operation | Choice | add | — | add, subtract, multiply, divide, cross_product, project, reflect, refract, faceforward, multiply_add, dot_product, distance, length, scale, normalize, snap, round, floor, ceil, modulo, wrap, fraction, absolute, power, sign, minimum, maximum, sine, cosine, tangent |
| Vector (1) | Vector | 0, 0, 0 | -10000 to 10000 | — |
| Vector (2) | Vector | 0, 0, 0 | -10000 to 10000 | — |
| Vector (3) | Vector | 0, 0, 0 | -10000 to 10000 | — |
| Scale | Float | 1 | -10000 to 10000 | — |
Outputs
| Socket | Type |
|---|---|
| Value | Float |
| Vector | Vector |
Vector Rotate
Rotates a vector around a Center point using the axis and angle specified by Type. Invert reverses the rotation direction. Angle is in radians (90° ≈ 1.5708). For euler_xyz, use Rotation instead of Angle. Axis is used only by axis; x_axis, y_axis and z_axis rotate about the X, Y or Z axis of the incoming vector's own space. Every type rotates about Center.
Inputs
| Socket | Type | Default | Registered numeric bounds | Choices |
|---|---|---|---|---|
| Type | Choice | axis | — | axis, x_axis, y_axis, z_axis, euler_xyz |
| Invert | Boolean | Off | — | — |
| Vector | Vector | 0, 0, 0 | — | — |
| Rotation | Vector | 0, 0, 0 | — | — |
| Center | Vector | 0, 0, 0 | — | — |
| Axis | Vector | 0, 0, 1 | — | — |
| Angle | Float | 0 | -10000 to 10000 | — |
Outputs
| Socket | Type |
|---|---|
| Vector | Vector |
Vector Transform
Converts a vector between world, object, and camera coordinate spaces. Type specifies the interpretation (point, direction vector, or normal).
Inputs
| Socket | Type | Default | Registered numeric bounds | Choices |
|---|---|---|---|---|
| Type | Choice | vector | — | vector, point, normal |
| Convert From | Choice | world | — | world, object, camera |
| Convert To | Choice | object | — | world, object, camera |
| Vector | Vector | 0, 0, 0 | — | — |
Outputs
| Socket | Type |
|---|---|
| Vector | Vector |
Vector Curves
Applies separate user-defined curves to each XYZ component of a vector within [Min X, Max X]. The curve editor shows C (acts on all components) and R/G/B (act on X/Y/Z individually). Curves span 0–1, so negative components (for example in a normal vector) are not shaped below 0. Click the curve strip under the node's rows to open the editor. Fac blends the result with the input vector (0 = original, 1 = full curve). Fac starts at 0, so the curve has no effect until you raise it to 1. In the editor, click to add a point, drag to move it, then click a point and press Backspace to remove it (two points always remain). Pick C, R, G or B first to choose which channel to edit.
Inputs
| Socket | Type | Default | Registered numeric bounds | Choices |
|---|---|---|---|---|
| Curves | Curve data | — | — | — |
| Min X | Float | 0 | 0 to 1 | — |
| Max X | Float | 1 | 0 to 1 | — |
| Extrapolate | Boolean | On | — | — |
| Fac | Float | 0 | 0 to 1 | — |
| Vector | Vector | 0, 0, 0 | — | — |
Outputs
| Socket | Type |
|---|---|
| Vector | Vector |
Normal Map
Converts a tangent-space (or object/world-space) normal map colour into a shading normal vector. Attribute names the UV map channel; leave empty to use the active UV map.
Convention: opengl for maps whose green channel points up; directx for DirectX-style maps (green flipped). Base: original reads the map against the surface before displacement; displaced reads it against the displaced surface. blender_object / blender_world: object- or world-space maps baked with Blender's axis convention.
Inputs
| Socket | Type | Default | Registered numeric bounds | Choices |
|---|---|---|---|---|
| Space | Choice | tangent | — | tangent, object, world, blender_object, blender_world |
| Convention | Choice | opengl | — | opengl, directx |
| Base | Choice | original | — | original, displaced |
| Attribute | Text | (empty) | — | — |
| Strength | Float | 1 | 0 to 10 | — |
| Color | Colour | 0.5, 0.5, 1 | — | — |
Outputs
| Socket | Type |
|---|---|
| Normal | Vector |
Displacement
Wire this node's Displacement output into Material Output › Displacement. On its own it changes shading only (like Bump). The surface moves only when the same displacement branch contains a Wood Texture, or a Displace node with Method set to true.
Space controls whether the displacement is in object or world space. A Height equal to Midlevel gives no offset; offset = (Height − Midlevel) × Scale. With the defaults (Height 0, Midlevel 0.5), an unconnected node pushes the surface inward by 0.5 × Scale whenever the surface moves (see above).
Inputs
| Socket | Type | Default | Registered numeric bounds | Choices |
|---|---|---|---|---|
| Space | Choice | object | — | object, world |
| Height | Float | 0 | 0 to 1000 | — |
| Midlevel | Float | 0.5 | 0 to 1000 | — |
| Scale | Float | 1 | 0 to 1000 | — |
| Normal | Vector | 0, 0, 0 | — | — |
Outputs
| Socket | Type |
|---|---|
| Displacement | Vector |
Set Normal
Overrides the surface's shading normal with Direction (for example from a Normal Map). Connect Direction; left at 0, 0, 0 it gives no usable normal. Wire its Normal output into a shader's Normal input.
Inputs
| Socket | Type | Default | Registered numeric bounds | Choices |
|---|---|---|---|---|
| Direction | Vector | 0, 0, 0 | — | — |
Outputs
| Socket | Type |
|---|---|
| Normal | Vector |