Overview
Displace 3D takes a mesh as input, reads a 2D image (usually a grayscale heightmap) and moves each vertex along its normal based on the value read at the matching UV location. A white pixel = strong displacement, a black pixel = none.
Important: the node creates no extra vertices. If your mesh is barely subdivided, the result will be coarse (stepped). You need to subdivide the input mesh beforehand (with a Shape 3D set to a high Subdivision, or a Triangulate 3D after imported geometry).
A pixel value can be negative in some floating-point images - the displacement then goes in the opposite direction of the normal.
Where to find this node
- Effects Library:
Tools > 3D > Displace 3D - Quick add: right-click in the Node Editor →
Add Tool > 3D > Displace 3D
Inputs
- SceneInput (orange) - required. Connects the 3D geometry or scene to deform.
- Input (green) - 2D image used as the heightmap. Technically optional (the node doesn't crash without it), but with no image connected, nothing happens.
The image works as a lookup: the geometry is sampled through its texture coordinates (UVs). If the UVs don't cover [0, 1]², some areas of the mesh won't be affected.
Setup
Typical workflow:
Shape 3D(plane, Subdivision X = Y = 100) or an imported subdivided mesh- →
Displace 3D - →
Merge 3Dwith camera and lights - →
Renderer 3D
The heightmap (2D image) plugs into the green input of Displace 3D. It can come from a FastNoise, an image Loader (Perlin, fractal, terrain scan) or the result of another 2D node.
Controls tab
- Channel (default: Luma)
- Image channel used to drive the displacement: Red, Green, Blue, Alpha or Luma. For a grayscale heightmap, choose Luma (or any channel, they are equivalent). To encode several pieces of information in the same texture (e.g. R = height, G = roughness), separate the channels.
- Scale (default: 1.0)
- Multiplier for the displacement strength. 0 = no displacement; 1 = one unit of displacement for a white pixel; adjust it to the size of your scene. Unit: Fusion units.
- Bias (default: 0.0)
- Offset applied to the value read before scaling. A
Bias = -0.5maps a [0, 1] heightmap to [-0.5, 0.5] - useful to center the mesh around zero instead of pushing it entirely in one direction. - Distribution
- Curve that maps input values to the actual displacement. Lets you exaggerate peaks or flatten low frequencies - useful to "break up" a terrain that is too uniform.
Point to Camera
A special mode that changes the displacement direction: instead of following the vertex normal, the displacement goes toward the camera. Widely used to deform an Image Plane 3D aligned with a camera while keeping the image correct when seen from that camera.
- Point to Camera (default: off)
- Turns on camera mode. When off, displacement follows the mesh normals.
- Camera Menu
- Selects which camera in the scene drives the displacement direction. Listed automatically as soon as a
Camera 3Dis present in the input scene.
Use cases
- Procedural terrain - subdivided plane (200×200) + fractal
FastNoiseas the heightmap = mountainous terrain generated in real time. Pair it with a shader that changes color with height for a topographic map look. - Ocean / waves - animated
FastNoise(seethe) + low Scale + a highly subdivided plane. More realistic than a simple sine. - Logo relief - a 2D text driving the luminance on a plane gives an engraved / embossed logo.
- Camera plane deformation - with Point to Camera, you can make a projection plane "ripple" without breaking the image seen by that camera (impact or blast wave effect).
- Surface parallax on a hero banner - a subtle heightmap applied to a 3D packshot to add micro-texture (paper relief, metallic grain).
Tips & pitfalls
- Subdivide, always subdivide - if your mesh has 100 vertices and the image is 4000×4000 px, you will see almost none of the detail. Rule: at least one vertex per pixel of useful detail.
- Use a light
Bluron the heightmap before the Displace to avoid sharp "spikes" caused by isolated pixels. - For a cinematic effect, animate
Scalefrom 0 - the mesh gradually "inflates" from a flat plane. - After a large displacement, the mesh's original normals are outdated (wrong lighting). Chain a
Replace Normals 3Dto recompute the normals from the deformed geometry - otherwise the shading will look flat. - A 32-bit image (EXR) is recommended to avoid banding (height steps) on a smooth surface.
- If the heightmap is a compressed JPG, it has lost subtle values - you will get plateaus. Prefer 16-bit PNG or EXR.
Settings tab
The Settings tab has the controls shared by most 3D nodes (visibility, lighting, blend mode, object ID).
