MeshColorby Break a Layer Open the app

MeshColor vs BumpMesh

Both tools add surface detail to a 3D model in the browser, and they are routinely confused for each other. They do opposite things. BumpMesh changes the shape of the model so the texture is physically there. MeshColor changes the color of the surface so the model prints in several filaments. If you want a print that is both textured and multicolor, you use both.

The short version

BumpMeshMeshColor
What it changes Geometry — the surface is displaced in and out Color — the surface keeps its shape, triangles get filaments
Colors in the result One As many as your printer has loaded
You can feel it Yes — real relief No — the print is smooth, the pattern is color
Printer needed Any FDM printer Multi-material: AMS, AMS lite, or a toolchanger
Output A displaced mesh A multicolor 3MF for Bambu Studio / OrcaSlicer

What BumpMesh does

BumpMesh takes a grayscale texture and pushes the model's surface along its normals — bright pixels out, dark pixels in. The mesh that comes back is genuinely bumpy, so a knurled grip is grippy and a leather grain catches the light the way leather does. Because the detail lives in the geometry, it survives at any color, prints on a single extruder, and costs nothing but triangles.

The limit is that displacement can only ever be one color, and its resolution is bounded by your layer height and nozzle width. Fine detail below roughly a nozzle diameter simply gets smoothed away by the extrusion.

What MeshColor does

MeshColor never moves a vertex outward. It subdivides the mesh where it needs the resolution, decides which filament each triangle should print in, and writes that assignment into a 3MF. A wood-grain layer becomes bands of two or three filaments following the grain; a logo becomes a crisp multicolor decal wrapped around whatever curved surface you put it on. The printed part is as smooth as the original model — the detail is entirely in the color.

Because the color is per-triangle rather than per-layer, MeshColor can hold detail finer than a layer height in the XY plane, which is exactly where displacement struggles. It goes the other way too: it cannot give you anything you can feel.

Using both on one model

They compose cleanly, and the order matters:

  1. Displace first. Run the model through BumpMesh to get the physical relief you want. Export the displaced mesh as an STL or 3MF.
  2. Color second. Load that displaced mesh into MeshColor and add your logo, lettering or color pattern on top of it. MeshColor projects onto the surface as it finds it, so it follows the new relief rather than the original smooth shape.
  3. Slice the 3MF. Open the exported file in Bambu Studio or OrcaSlicer. The filament assignments come through with it.

Doing it the other way round doesn't work: a displacement pass rebuilds the mesh, and any per-triangle color assigned beforehand is lost with the triangles it was attached to.

Which one do you actually need?

MeshColor is free and runs entirely in your browser. Load an STL or 3MF, add a texture or logo layer, and export a multicolor 3MF. Nothing is uploaded — the page is served with connect-src 'none', so the browser blocks every outbound request it could make.

Open MeshColor

Related