Fixes from a ZBrush artist's testing, and ZTools from ZBrush.
ZBrush feel (tester feedback on 0.7)
- ZBrush input style: every zoom drag (Ctrl+right-drag, Alt-drag then release Alt, Ctrl+middle-drag) zooms out when dragged up, as in ZBrush; the SculptForge style keeps zooming in. Rotation and panning were checked and already follow the cursor as in ZBrush.
- Ctrl brushes, as in ZBrush: while Ctrl is held the left shelf shows the mask brush (MaskPen, MaskLasso, MaskRect) and its stroke (Dots, Lasso, Rect); the Brush picker (Ctrl+B or a Ctrl+click on the brush tile) and the Stroke picker opened with Ctrl held pick among them. Ctrl+Shift does the same for SelectRect and SelectLasso. Tool > Masking and Tool > Visibility keep their buttons.
- Polygroups > Group by UVs (ZBrush UV Groups): one polygroup per UV island of the visible mesh, undoable;
polygroup_uvcommand for the console, CLI, MCP and Python.
Texture painting (ZBrush tester feedback)
- New Texture on the top shelf and in the Color palette whenever the Paint brush (or Rgb) is on and the SubTool has no texture: one click starts texture painting, running Auto UV first (with its progress in the status bar) when there are no UVs. Ctrl-hover help; also in F3 search.
- Faster texture strokes: a dab paints its texels in parallel over 16-row bands with the same result on any number of threads, and the view uploads only the 64x64 tiles that changed. A big-brush dab on a 4K texture went from 29 to 6 ms (1.3K triangles) and from 47 to 11 ms (328K triangles) on an M1 Pro (docs/performance.md).
- Checked that texture paint doesn't depend on the mesh density: a hard stamp gives the same texels on a 2-triangle plane as on an 8K-triangle one (new unit test). Paint that looks as coarse as the mesh is polypaint: the Vertex target, or polypaint shown multiplied over the texture.
ZTools from ZBrush
- SculptForge ZTool Export, a ZBrush plug-in (
integrations/zbrush, ZScript, GPL-3.0-or-later, attached to releases): ZPlugin > SculptForge > Convert ZTL / Save for SculptForge writes every SubTool of a ZTool at its highest subdivision level as<name>.sf<NNN>_<SubTool>.GoZnext to the.ZTL. - Opening a
.ZTL(File > Open, drag and drop,open) opens that conversion as SubTools in order, with names, polygroups, polypaint, mask and UVs, and warns when the.ZTLis newer than the conversion; without one the message points to the plug-in. A folder of numbered.GoZfiles (<name>.sculptforge) opens the same way.
Downloads
New here? install/ explains
which file to pick, or install with one command:
curl -fsSL https://raw.githubusercontent.com/islandmed/SculptForge/main/install/install.sh | sh (macOS / Linux),
irm https://raw.githubusercontent.com/islandmed/SculptForge/main/install/install.ps1 | iex (Windows PowerShell).
Each file is also attached without its version number (e.g. SculptForge-macos.dmg) so links to
releases/latest/download/... always get the newest build.
| Platform | File |
|---|---|
| Windows 10/11 (x64) | SculptForge-…-windows-x86_64.exe (installer) or .zip (portable) |
| macOS 11+ (Apple Silicon and Intel) | SculptForge-…-darwin-universal.dmg |
| Ubuntu / Debian / Mint / Pop!_OS | sculptforge_…_amd64.deb or …_arm64.deb |
| Fedora / RHEL / Rocky / Alma 8+ | sculptforge-…x86_64.rpm or …aarch64.rpm |
| Studio pipelines (VFX Reference Platform) | SculptForge-…-linux-…-vfx2026.tar.gz (GCC 14.2, glibc 2.28) or …-vfx2027.tar.gz (glibc 2.34), with the Python 3.13 module |
| Any Linux | SculptForge-…-linux-x86_64.AppImage or …-arm64.AppImage |
| Arch Linux | yay -S sculptforge (AUR) |
The builds are not code-signed yet. macOS: right-click the app → Open the first time.
Windows: if SmartScreen appears, choose More info → Run anyway. Checksums are in SHA256SUMS.txt.