How to Bake Vector Displacement Maps in Blender

Vector displacement maps (VDMs) capture directional surface displacement across the X, Y, and Z axes, enabling the reproduction of complex overhangs, undercuts, and high-density sculptural details onto low-poly geometry or custom sculpting brushes. In Blender, generating a VDM requires setting up a high-poly sculpt alongside a base mesh, preparing a 32-bit floating-point texture, and using the Cycles rendering engine to bake vector data accurately.

Step 1: Prepare the Meshes

To extract vector displacement, you need either a Multiresolution modifier setup or two separate meshes (a high-poly sculpt and a low-poly target).

  • Multiresolution Method: If you sculpted your detail directly on a base mesh using the Multiresolution modifier, keep your modifier active with the sculpt details visible at the highest level.
  • Selected to Active Method: If you have two distinct objects, ensure the low-poly base mesh is fully UV unwrapped with non-overlapping islands and sits in the exact same world space as the high-poly sculpt.

For creating reusable VDM sculpting brushes, use a standard subdivided plane (grid) with zeroed-out borders as your base geometry.

Step 2: Create a 32-bit Float Target Texture

Vector displacement requires negative and precise floating-point values to store 3D direction vectors correctly.

  1. Open the Shader Editor for your low-poly mesh or base plane.
  2. Add a new Image Texture node (Shift + A > Texture > Image Texture).
  3. Click New on the node.
  4. Set your desired resolution (e.g., 2048x2048 or 4096x4096).
  5. Uncheck Alpha and check 32-bit Float.
  6. Set the Color Space of the Image Texture node to Non-Color or Linear.
  7. Keep this Image Texture node selected (active) in the node graph.

Step 3: Configure Render and Bake Settings

  1. Set the Render Engine to Cycles in the Render Properties panel.
  2. Scroll down to the Bake section.

If Baking via Multiresolution:

  1. In the Bake panel, check the Bake from Multires option.
  2. Set the Bake Type to Vector Displacement.
  3. Set the target space to Tangent (for deformable meshes and brushes) or Object (for static meshes).
  4. Click Bake.

If Baking via Selected to Active:

  1. In the Bake panel, set Bake Type to Displacement or use an OpenEXR vector baking material setup.
  2. Enable Selected to Active.
  3. Adjust the Extrusion and Max Ray Distance values to ensure all overlapping sculpted areas are encompassed without clipping.
  4. In the viewport, select the high-poly mesh first, hold Shift, select the low-poly mesh second, and click Bake.

Step 4: Save the Map

Once the bake finishes, the texture displays a multi-colored gradient representing vector offsets (Red for X, Green for Y, Blue for Z).

  1. Open the Image Editor and select the baked image.
  2. Go to Image > Save As...
  3. Set the file format to OpenEXR.
  4. Set the color depth to Float (Full) (32-bit) or Float (Half) (16-bit) to preserve vector precision.
  5. Save the file to your drive.