Skip to content

UV & Textures

A texture is a flat image wrapped around a 3D model. The UV editor shows you that wrapping — the model's surface unfolded into a square — and lets you rearrange it, generate it from scratch, paint straight onto it, and give different parts of one mesh their own materials.

Everything here is shared: a peer sees your unwrap, your brush strokes and your material slots as you make them.

Opening it

The UV editor is a tab in the bottom dock, next to the node editor. Open it from the dock's menu ▸ UV editor. Select a mesh in the viewport and its UV map appears; undocks it into a floating window, ⇩ Dock puts it back.

The editor follows your selection. If you have an Edit Mesh session open it targets that object, and if you select a group it finds the textured mesh inside it.

Reading the map

The square is UV space: the whole texture, from 0 to 1 on both axes. The mesh's triangles are drawn over it as a wireframe, so you can see which part of the image lands on which part of the model.

  • Scroll to zoom, middle-drag to pan, Fit re-centres the square.
  • Toggle wireframe, and the texture itself, from the view controls.

Big models show, but don't drag

Two limits, for two different reasons:

  • Above about 20 000 triangles the wireframe and its handles are hidden — drawing 300 000 line segments per frame would grind. The texture still shows and painting still works.
  • Moving UVs rewrites the geometry, which has to fit one sync message, so on very dense meshes dragging is disabled with a note saying so. Painting is unaffected — it writes to the image, never the geometry.

Moving UVs

Pick a selection tool from the toolbar:

Tool What it does
Select Click a vertex; Shift (or Ctrl) adds. Dragging the background pans; clicking it deselects.
Box Drag a rectangle; everything inside is selected.
Lasso Draw a shape around the vertices you want.
Paint See Painting below.

Drag any selected point to move it. Each drag is one undo step and replicates when you let go.

Move, rotate and scale

The topbar arms one of three transform modes — press 1, 2 or 3 — and every gesture below applies whichever is armed:

Gesture Does
Left-drag a selected point Transform with the pointer
Middle-click a selected point A grab: the selection follows the cursor with no button held. Click or Enter commits, Esc puts it back
Arrow keys Nudge by exactly one texture pixel, rotate by one degree, or scale by 1% — Ctrl ×10, Shift ×100

Scaling with the arrows is per axis — left/right scales in U, up/down in V, and Alt makes it uniform. Shrinking is the exact reciprocal of growing, so a press one way and a press back leaves the map where it started. Every press is its own undo step.

The transform origin

Rotation and scaling happen about a placeable origin. Press the ⌖ button (or use the right-click menu) and click where you want it; drag it around at any time. It snaps onto the nearest UV point unless you hold Alt.

The origin is a local editing aid — it is never replicated and never saved.

Selecting from the keyboard

Keys Does
Ctrl+Space Enter cursor mode and drop a cursor; press again to take or drop the cursor's point
Arrows (in cursor mode) Walk the cursor to the nearest point in that direction
Ctrl+Shift+arrow Grow the selection in that direction
Esc Leave cursor mode, keeping the picks; again clears them
Ctrl+A / Ctrl+I / L Select all / invert / grow to the linked island

Only the faces you picked

A primitive's sides usually share the same UV space — a default cube has 24 UV entries but only four distinct coordinates, so dragging one side drags all six. The Only selected faces toggle scopes the editor to the faces you have picked in Edit Mesh, which is how you separate them.

Island tools

An island is a connected patch of the map — a piece of the model that was cut out and laid flat on its own.

Button What it does
Linked Grow the selection to the whole island it touches.
Rotate Turn the selection 90°.
Flip U / Flip V Mirror it horizontally / vertically.
Fit Scale the selection to fill the 0–1 square, keeping its aspect.

Unwrapping

Unwrap ▾ generates a fresh mapping for the mesh. Four projections ship with the app:

Backend Good for
Box projection General shapes — projects from all six directions and packs the pieces.
Planar projection Flat things: a wall, a sign, a ground plane.
Cylindrical Tubes, columns, bottles, tree trunks.
Spherical Balls, domes, planets.

The result is packed into the square with a small margin, and never stretched unevenly — a non-uniform fit would shear the texture.

Unwrap just one part

If you have faces selected in Edit Mesh, unwrap rewrites only those faces and leaves the rest of the map alone. That is how you re-do one panel of a model without disturbing everything else.

Unwrap is a registry, not a fixed list: a module can add a heavier automatic unwrapper — or replace a built-in — and it appears in this menu like the rest. See Module SDK.

Painting

Pick the Paint tool and draw — on the UV map or straight on the model in the viewport. Set the brush colour and size in the panel.

  • Strokes appear live for your peers while you draw.
  • Each stroke is one undo step.
  • The finished image is stored with the material, so it saves and loads like any other texture.

If the slot has no texture yet, painting creates one.

Material slots

One mesh can carry several materials. The Materials list in the sidebar shows the slots; the canvas shows the slot you have selected.

Action How
Add a slot Add material slot — copies the last one, so you start from something sane.
Give it an image Drop an image on the slot, or use its image button.
Assign faces to it Select faces in Edit Mesh, then press that slot's button.
Remove an image The slot's ✕ button.

Slots replicate, save and undo like everything else, and a mesh you made with Convert to mesh arrives with one slot per original material already set up.

Note

Switching a multi-slot mesh to a different material type is refused rather than silently collapsing it to one material — split it first if that's what you want.

The texture panel

Under Texture the sidebar reports the selected slot's real size and roughly what it costs on the GPU, with one-click resizes:

  • Half — halve the longest side.
  • 512 / 1024 / 2048 — resize the longest side to that.

Resizing keeps the aspect ratio, is shared with peers, and is one undo step. It is the quickest fix for a scene that has become heavy because a few 4K textures came in with imported models.

UV test grid

UV test grid replaces every material in the scene with a checkerboard so you can see stretching and seams at a glance: even squares mean an even mapping.

Local only, on purpose

The grid is yours alone — it is never sent to peers and never saved. (It replaces materials scene-wide while it is on, which is why it can't be: baking it into an autosave would overwrite someone's real textures.)

Imported models

Textures that arrive with a .glb/.gltf keep their sampler settings — tiling, orientation, filtering — when you paint over them, so a repeating texture goes on repeating and nothing flips. Imported models usually arrive already unwrapped; you'd unwrap one only to redo its mapping deliberately.

See also