AUSTIN, TEXAS - MechaPaint 1.8.2 is available now. It opens LightWave objects saved at any point in the last twenty-seven years, exports a whole model as a single FBX, and no longer loads a texture it merely found lying around on your disk.
MechaPaint is a standalone 3D model painter for Windows and macOS: point it at a model you already own, paint on it directly, and export textures without a conversion dance, a plugin, an account, or a subscription. Development is written down in public every night on the Updates page. This release collects what has landed since.
It opens more of what you already own
MechaPaint read LightWave LWO3 and told everyone else to resave in LightWave 2024, which is advice you can only take if you already own the one release that writes LWO3. That is fixed. LWO2 opens now, which means every LightWave object saved from version 6.0 in 1998 through 2025 loads as it is: surfaces arriving as paintable submeshes, layers arriving as parts, UV maps with their seams intact, and the color texture the surface actually names. A drive of LightWave work going back to the nineties is now a folder you can open, not an archive you need a specific license to unlock.
Collada joined it. MechaPaint would previously load a .dae animation onto a model it could not itself open, which is a strange place to leave a format. It opens the model now too.
The whole model, in one file, out
Geometry export was OBJ, and OBJ writes one file per submesh. A forty-part mech left the application as forty meshes, forty material files, and forty images for something on the far end to reassemble. New FBX export writes the entire model, every submesh, into a single binary file. The originals on disk are still never modified.
A texture importer that refuses to guess
Artists reported models arriving in a texture belonging to a completely different model, sometimes one generated weeks earlier and no longer open. The cause was worse than a cache: nothing was cached at all. The importer was discarding the path a model gave it, keeping only the file name, searching the whole disk for anything matching, and picking the first result. Generated models are the perfect victim, because every export from a given generator reuses the same handful of generic texture names.
MechaPaint now loads the texture the file actually names. When two files genuinely collide it loads neither, says which paths collided, and leaves the material bare. An untextured model is the correct outcome in a painting application. A wrong texture is one you paint over and ship.
Answering how big the texture should be
Texel density is a question every texture artist answers by instinct and argues about afterward. The Ideal Texels tool measures it instead and paints the answer onto the model as a heat map, from blurry to wasteful. Calibration now starts two ways: type the model's real height, or drag a one-meter ruler and eyeball it. A world unit is only a meter by agreement, and an imported model never got the memo, so the same character arrives one, one hundred, or thirty-nine units tall depending on which application made it. Either route ends at a number, and the number is measured rather than argued.
Painting, with real surface
The Bump Brush writes to the height map and nothing else, so surface detail can be carved and raised without touching color. Strokes have a cross-section, Round, Chisel, Soft or Peak, instead of a flat floor with a hard edge, and can write the normal map as well. The Brush Builder makes a brush out of a shape you draw, with no exported image and no round trip through a second application. Brush falloff is shapeable on any brush.
Painting at low opacity now makes the mesh genuinely see-through, because transparency moved outside the layer stack and survives an opaque layer underneath it. Six image formats were hand-decoded, TGA, BMP, HDR, TIFF, EXR and PSD, so that a file is never rejected for being ordinary.
The model reports its own faults
MechaPaint paints problems onto the mesh rather than counting them in a panel, because a count is not a lead on a sixty-thousand-triangle model. Bad geometry, missing UVs, overlapping UVs, flipped normals, open edges, unlit surfaces, unpainted surfaces and buried geometry all render on the model in color, on their own layer. Buried geometry now answers in three states rather than two: fully visible, partly buried, completely buried. The old test sampled one point per polygon and called the whole face, which made a half sunk part a coin toss.
Less waiting, less hunting
The dirt and cavity bake now runs across every processor core available. Same rays, same result, considerably less time watching it. Ctrl-clicking a mesh in the sidebar unhides it, frames it, and pulses it, which matters at roughly the fortieth submesh. Export presses stopped asking the same question twice, hidden layers are never written into a PNG, and the export button lights when your files are out of date.
Written in public
Every change above was posted the night it was made, and most of them began as somebody complaining in the MechaPaint Discord, which now has a page of its own explaining what the server is before asking anyone to join it.
MechaPaint remains a one-time purchase, currently half off. There is no seat server, no cloud round trip, and no month in which the software you paid for stops working.
Availability: MechaPaint 1.8.2 is available now for Windows and macOS at mechapaint.com. A free version runs the full application with watermarked exports; buying unlocks watermark-free output.