UV
Generate, keep, and lay out UV coordinates on 3D geometry by projection or automatic unwrapping, with a UV-space layout overlay.
What it does
UV generates texture coordinates for 3D geometry, using either a projection (Planar, Cylindrical, Spherical, Box, Camera, Normal) or an automatic unwrap that segments the mesh into charts and packs them into a texture atlas. A UV-space layout overlay draws the flattened islands on a grid in the viewport, showing seams and coverage without leaving the graph.
The node has two outputs: the original 3D geometry with a fresh UV set, and a flattened 2D UV mesh, which can be fed into another modifier, or edited directly and routed back in, to nudge individual UV points.
When to use it
Texturing a mesh that has no UVs yet, or whose UVs are wrong: pick a projection method, or Auto for a general-purpose unwrap.
A quick, predictable mapping from a known angle: Planar, Cylindrical, Spherical or Box.
Projecting UVs from a camera's point of view, like a projector.
Inspecting or hand-editing UV islands: turn on the layout overlay and drag points on the flattened
uv_mesh.Good UVs already on the incoming geometry that need only viewing or light editing: Keep Existing.
| Parameter | Type | Default |
|---|---|---|
geometry | OneOf([Collection]) | — |
method | String | "Box" |
projection_axis | String | "Y" |
scale | Number | 100 |
offset | Vec2 | (0, 0) |
camera_position | Vec3 | (0, 0, 500) |
camera_target | Vec3 | (0, 0, 0) |
fov | Number | 50 |
atlas_resolution | Number | 1024 |
padding | Number | 2 |
angle_threshold | Number | 88 |
display_scale | Number | 500 |
show_wireframe | Boolean | true |
show_grid | Boolean | true |
grid_subdivisions | Number | 4 |
edited_uvs | String | "" |
opacity | Number | 1 |
Gotchas
Scale (world units per UV tile) affects only the world-space parts of a projection: Planar, Box, Normal, and the vertical axis of Cylindrical. Cylindrical's angle-around and both axes of Spherical are already normalised 0–1, so Scale does nothing there and only Offset moves them.
Box and Normal produce the same mapping, both picking the dominant surface normal axis per face. Pick whichever name fits how you are thinking about the mesh.
A Field of View of 0 switches Camera projection to orthographic, parallel rays instead of perspective.
Keep Existing generates nothing. It passes the input geometry's current UVs straight through. To write hand-edits back onto the 3D geometry, feed the modified uv_mesh output back into this node's geometry input with Keep Existing selected.
Worked example
Add a UV node and feed it a mesh. It defaults to Box projection, which gives every mesh a reasonable starting UV set.
Switch Method to Cylindrical or Spherical for a wrap-around surface, or Camera to project from a specific viewpoint.
Adjust Scale to change how much world-space area maps to one UV tile, and Offset to shift the whole layout.
Turn on the UV layout overlay (Show Wireframe / Show Grid) to check island seams and coverage in the viewport.
For a hard case, switch to Auto and tune Angle Threshold, Atlas Resolution, and Padding until the charts pack cleanly.