← Back to Blog

Texturing

VDM Brushes in Mesh Morpher: ZBrush ZBP Files, Baking and Stamping

By Admin ·

▶ Watch the video on YouTube

How to use VDM brushes in Mesh Morpher Studio and Graph, including ZBrush ZBP files

Overview

A vector displacement map is the one stamp type that can push geometry sideways and back over itself. A grayscale height map only moves points along the surface normal, so it can raise a bump but it can never produce an ear, a curled lip or an overhanging scale. A VDM stores an offset per texel along the stamp's U, V and normal axes at once, which is exactly what those shapes need.

Mesh Morpher handles VDMs from both ends. It reads ZBrush .zbp brush files directly and bakes the canvases inside them into usable maps, and it bakes your own sculpts into VDMs you can stamp anywhere. Both live in Mesh Morpher Studio and Mesh Morpher Graph - none of this is editor-only.

What we need

  • Mesh Morpher Studio, or Mesh Morpher Graph inside Unreal Engine
  • A mesh to stamp onto, and a GPU that can run the sculpt tools
  • Optionally a ZBrush .zbp brush file, if we want to import someone else's brushes

Loading a ZBrush brush

Add a Load ZBP Texture node and point it at the .zbp. The node opens the file, decodes the 2D images stored inside it, and bakes any plane canvases it finds into native VDMs. Everything it produces is published into the graph's texture registry rather than onto a pin, which is why the node has no texture output to wire - the sculpt tools pick the results from their own dropdown.

One detail is worth understanding, because it explains what you get back. The brush alpha is not treated as a texture you can select. It is the stamp mask for the bake, so it decides which part of the canvas becomes the brush. When a single .zbp holds several brushes, its alpha is usually a regular grid of stamps; if that grid matches the number of mesh parts in the file, each tile is matched to its own canvas and you get one VDM per brush in a single load. The alpha only appears as a selectable texture in the case where the file has no bakeable canvas at all.

Stamping with the Displace tool

VDM stamping lives on the Displace sculpt tool and only there. Pick the map in the texture dropdown, then turn on Vector Displacement. The tool now reads the map's RGB as offsets along the stamp's U, V and normal axes instead of a single height along the brush normal.

Four settings do the real work:

  • Magnitude is the displacement intensity. At 1 the stamp keeps the map's authored proportions at any drag size, so scaling the brush scales the shape rather than distorting it.
  • VDM Source Space tells the tool which channel convention the file was authored in. Leave it on Native for anything baked in Mesh Morpher or shipped with it. There is a preset for the Blender VDM Brush Baker, and a Custom mode that lets you swap U and V and negate any of the three axes when a map comes from somewhere else and stamps inside out.
  • VDM Amplitude Scale covers maps authored in absolute units rather than as fractions of the stamp footprint. It is set for you when you select a VDM and can be overridden; Blender's default two-metre grid, for example, wants roughly 0.5.
  • Mirror Stamp flips the stamp left to right, so one authored ear or nostril serves both sides instead of shipping a mirrored second file.

If a stamp comes out inverted or rotated, it is almost always the source space rather than the map. Work through Native, the Blender preset and then Custom before re-baking anything.

Baking your own VDM

Making a brush is the same sculpting you already do, on a flat canvas. Create a plane, sculpt the shape on it with Sculpt Mesh - overhangs are welcome, since they are the whole reason to reach for a VDM - then wire the sculpted mesh into Bake VDM Brush and press the button.

There is no second input for the flat version of the canvas, which surprises people. The node does not need one: a canvas's UV layout already records what its unsculpted state looked like, so the bake fits that rest plane back out of the mesh you gave it. One mesh in, one map out.

The Weights input is optional. Left unwired the whole mesh is baked; wire a weight map and only the weighted region is, which is how you cut one brush out of a canvas holding several shapes. The Texture output feeds the Displace tool's Vector Displacement mode directly, so you can bake and immediately stamp with it in the same graph.

Where brushes live

Baking is enough to use a brush in the graph you are working in. To keep it, use Save To Library, which writes an EXR into your own brush library so the stamp appears in every project from then on.

The library is just two folders, and a file's extension decides what it is rather than which folder it sits in - so your own sub-folders behave exactly like the shipped ones:

  • EXR is read as a vector displacement map: RGB as offsets in the stamp frame, at 16 bits per channel.
  • PNG, BMP, TGA and JPG are read as grayscale stamp alphas, which modulate brush strength rather than displacing anything.

The starter set ships with the application. Your own files go in the user library under %LOCALAPPDATA%/MeshMorpher/Alphas, deliberately kept out of the install directory, which is read-only for a normal user when the application is installed under Program Files.

Practical tips

  • Sculpt the canvas at the density you want the detail. The bake samples what is there; a coarse plane cannot record fine folds no matter how large the map is.
  • Bake one shape per brush. A weight map on the Bake node is cleaner than trying to stamp half a canvas later.
  • Check a new map at Magnitude 1 first so you are judging the authored proportions before you start scaling them.
  • Suspect the source space, not the bake, when an imported map stamps inside out or mirrored.
  • Name brushes for the form, not the file - VDM_Ear, VDM_Nostril - since Mirror Stamp means one file usually covers both sides.

Conclusion

VDM brushes close the gap between sculpting a shape once and reusing it everywhere. Import a ZBrush set with Load ZBP Texture, bake your own with Bake VDM Brush, keep the good ones in the library, and stamp any of them with the Displace tool in Vector Displacement mode. The overhangs that a height map simply cannot express come along for free.

For more on building your own tools around this, see custom nodes with Python and expressions. VDM brushes ship in both Mesh Morpher Graph and the standalone Mesh Morpher Studio app.

#vdm#zbrush#sculpting#studio#graph#tutorial


Related posts

Looking for reference material? Read the Mesh Morpher documentation or see pricing & licenses.