How to Transfer Vertex Normals in Blender

Transferring vertex normals in Blender allows you to match the shading of one 3D object to another, which is essential for creating seamless grass, hiding seams on modular assets, or fixing complex hard-surface shading issues. This guide explains how to quickly and accurately copy vertex normals from a source object to a target object using Blender’s non-destructive Data Transfer modifier as well as the direct Edit Mode option.

Using the Data Transfer Modifier

The Data Transfer modifier is the recommended, non-destructive way to project custom normals from a proxy or source mesh onto a target mesh.

1. Position the Objects

Ensure both the source object (the mesh with the desired shading) and the target object (the mesh receiving the normals) overlap in the exact same location in the 3D Viewport.

2. Enable Auto Smooth

Before Blender can store custom normal data, smooth shading features must be active:

  • Blender 4.0 and earlier: Select the target object, go to Object Data Properties (green triangle icon), open the Normals panel, and check Auto Smooth.
  • Blender 4.1 and newer: Right-click the object in Object Mode and choose Shade Auto Smooth.

3. Add and Set Up the Modifier

  1. Select the target object.
  2. Go to the Modifier Properties tab (wrench icon) and click Add Modifier > Modify > Data Transfer.
  3. In the Source field, select the source object.
  4. Check the box for Face Corner Data.
  5. Expand the Face Corner Data panel and enable Custom Normals.

4. Select the Mapping Method

Choose the mapping option that best fits your geometry:

  • Nearest Corner of Nearest Face: Best for objects that share similar shapes or topology.
  • Projected Face Interpolated: Best for transferring smooth shading from a simple low-poly shape (like a hemisphere) onto complex objects like foliage or grass clusters.

5. Apply the Modifier

Once the shading looks correct, hover over the modifier and press Ctrl + A (or click the dropdown arrow on the modifier header and choose Apply) to bake the custom normals into the mesh.


Using the Transfer Mesh Data Tool

If you prefer a direct approach without adding a modifier:

  1. Select the source object first.
  2. Hold Shift and select the target object second.
  3. Switch to Edit Mode (Tab).
  4. Select all vertices on the target object (A).
  5. Go to the top menu and click Mesh > Data > Transfer Mesh Data.
  6. In the operator box that appears in the bottom-left corner of the viewport, select Custom Normals under the Data Type menu.