BlenderPlugins
PaintBlender 4.0+

World-Space Brush

Overview

Keep the texture paint brush size consistent in world units (BU) instead of screen pixels, using the 3D cursor depth as reference.

UI Location

  • Texture Paint mode → 3D Viewport Sidebar → Tool tab → brush radius controls: Scene Radius toggle and Debug Overlay icon toggle.
  • Scene properties: Scene.wltp (main settings), Scene.wltp_dbg (debug overlay settings).

Features

  • World-space brush radius: Computes how many pixels correspond to 1 Blender Unit at the 3D cursor and adjusts the brush pixel size so the on-mesh footprint stays constant when zooming, respecting Unified Size if enabled.
  • Cursor-based depth: Uses the 3D cursor position as the depth reference for size calculations, with an optional operator to move the cursor to the paint surface on left mouse.
  • Interactive adjustment: Press F in texture paint mode to change brush size as usual; on release, the addon updates the stored world-space diameter to match.
  • Debug overlay: Optional viewport overlay showing pixels-per-unit at cursor and desired/applied brush radii, with console logging when enabled.

Usage

  1. Enter Texture Paint mode and select a paint brush.
  2. Enable Scene Radius in the brush settings UI.
  3. Place the 3D cursor at the typical painting depth (LMB with the addon’s cursor operator, or Shift+RMB).
  4. Optionally press F, pick a brush size you like, and release — this redefines the world-space diameter.
  5. Zoom in/out and keep painting: the visible brush footprint on the surface stays approximately constant in world units.

Additional operator paint.cursor_on_lmb: in Texture Paint mode, intercepts Left Mouse to snap the 3D cursor to the clicked surface (same action as Shift+RMB), keeping the world-size reference tracked to where you paint.