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
- Select the target object.
- Go to the Modifier Properties tab (wrench icon) and click Add Modifier > Modify > Data Transfer.
- In the Source field, select the source object.
- Check the box for Face Corner Data.
- 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:
- Select the source object first.
- Hold
Shiftand select the target object second. - Switch to Edit Mode (
Tab). - Select all vertices on the target object (
A). - Go to the top menu and click Mesh > Data > Transfer Mesh Data.
- In the operator box that appears in the bottom-left corner of the viewport, select Custom Normals under the Data Type menu.