Create Wet Maps with Dynamic Paint in Blender

This guide outlines how to use Blender's Dynamic Paint toolset to generate realistic wet maps on surfaces. By designating interacting meshes as brushes and canvases, you can produce dynamic interaction textures where objects leave behind damp, reflective trails that can optionally dry over time.

Step 1: Set Up the Canvas Object

The canvas is the object that will receive the wet marks, such as a floor, ground plane, or character skin.

  1. Select your target surface object in the 3D Viewport.
  2. Ensure the mesh has sufficient geometry if you plan to use vertex painting, or prepare to bake an image sequence for low-poly meshes.
  3. Open the Physics Properties tab in the Properties panel.
  4. Click Dynamic Paint, set the type to Canvas, and click Add Canvas.
  5. Set the Surface Type to Paint.
  6. Under the Format dropdown, select Vertex (for high-poly meshes) or Image Sequence (for UV-unwrapped meshes).

Step 2: Configure the Wetness and Drying Settings

To simulate moisture that dissipates over time:

  1. In the Canvas settings, expand the Dynamic Paint Advanced panel.
  2. Check the Dry option.
  3. Set the Time value in frames to control how long it takes for the wet surface to dry up completely (e.g., 50 frames for a quick dry, or leave unchecked for permanent wetness).
  4. Under the Dynamic Paint Output panel, click the plus icon (+) next to Wetmap (or Paintmap) to name and generate the output attribute.

Step 3: Set Up the Brush Object

The brush is the object causing the wetness, such as rain particles, footprints, or a dripping object.

  1. Select the colliding object.
  2. In the Physics Properties tab, click Dynamic Paint, set the type to Brush, and click Add Brush.
  3. Under Paint Source, choose Mesh Volume + Proximity or Proximity depending on whether the object penetrates the surface or hovers slightly above it.
  4. Adjust the Distance value if using proximity to define how close the brush must get to apply paint.

Step 4: Hook the Wet Map into the Material Shader

To visualize the wetness accurately, use the generated map to drive roughness and color changes in the Shader Editor.

  1. Select the Canvas object and open the Shader Editor.
  2. Add an Attribute node (or Color Attribute node) by pressing Shift + A > Input > Attribute.
  3. In the Attribute node's Name field, type the exact name generated in the Canvas Output panel (e.g., dp_wetmap).
  4. Add a ColorRamp node and connect the Fac output of the Attribute node to the Fac input of the ColorRamp.
  5. Invert the ColorRamp values (white to black) and plug the output into the Roughness input of your Principled BSDF shader to make painted areas glossy.
  6. Use a Mix Color node to slightly darken the Base Color wherever the wet map attribute is active, as wet surfaces typically appear darker.

Step 5: Bake and Preview the Effect

  1. Return to the Physics Properties of the Canvas object.
  2. Expand the Cache panel.
  3. Set the desired frame range for your animation and click Bake.
  4. Press the Spacebar in the timeline to play back the animation and verify the wet effect updates correctly in the viewport.