We use cookies. Privacy

twirl
Pricing

How to use a height map for displacement in Blender

September 2, 2026·twirl

Wire a height map into Cycles displacement so the silhouette moves, not just the shading. Adaptive subdivision, scale, and when bump is enough.

A normal map fakes detail under light. A height map can move the mesh. Same folder of PBR maps, different socket, and most people leave the height unused because Node Wrangler never wires it.

twirl always writes a height with the albedo, normal, roughness, and metallic. Here is how to use it in Blender without exploding the surface.

Bump vs real displacement

Bump (or a normal) only changes shading. The silhouette stays flat. Fine for mid-distance walls, props, and anything in Eevee.

Real displacement moves vertices. Grazing angles show depth. It needs Cycles, subdivision, and a low scale. Use it when the camera is close enough that a flat edge reads as wrong: cobble, cracked concrete, carved wood, wet brick materials. Try weathered brick or cracked concrete when testing displacement scale.

You can run both: material set to Displacement and Bump, height driving a Displacement node, normal still in the Principled. That is the usual setup.

Free PBR materials

board-formed concrete
board-formed concrete
2K upscale4K upscale
weathered concrete
weathered concrete
2K upscale4K upscale
hardwood floor
hardwood floor
2K upscale4K upscale
brushed steel
brushed steel
2K upscale4K upscale
red brick
red brick
2K upscale4K upscale
exposed brick
exposed brick
2K upscale4K upscale
sandstone
sandstone
2K upscale4K upscale
mossy stone
mossy stone
2K upscale4K upscale
oxidized copper
oxidized copper
2K upscale4K upscale
rusted iron
rusted iron
2K upscale4K upscale
white paint
white paint
2K upscale4K upscale
limestone
limestone
2K upscale4K upscale
polished concrete
polished concrete
2K upscale4K upscale
brass
brass
2K upscale4K upscale
linen
linen
2K upscale4K upscale
parking lot asphalt
parking lot asphalt
2K upscale4K upscale
mossy brick
mossy brick
2K upscale4K upscale
smooth concrete
smooth concrete
2K upscale4K upscale
galvanized steel
galvanized steel
2K upscale4K upscale
old saddle leather, vegetable tanned, burnished
old saddle leather, vegetable tanned, burnished
2K upscale4K upscale
board-formed concrete
board-formed concrete
2K upscale4K upscale
weathered concrete
weathered concrete
2K upscale4K upscale
hardwood floor
hardwood floor
2K upscale4K upscale
brushed steel
brushed steel
2K upscale4K upscale
red brick
red brick
2K upscale4K upscale
exposed brick
exposed brick
2K upscale4K upscale
sandstone
sandstone
2K upscale4K upscale
mossy stone
mossy stone
2K upscale4K upscale
oxidized copper
oxidized copper
2K upscale4K upscale
rusted iron
rusted iron
2K upscale4K upscale
white paint
white paint
2K upscale4K upscale
limestone
limestone
2K upscale4K upscale
polished concrete
polished concrete
2K upscale4K upscale
brass
brass
2K upscale4K upscale
linen
linen
2K upscale4K upscale
parking lot asphalt
parking lot asphalt
2K upscale4K upscale
mossy brick
mossy brick
2K upscale4K upscale
smooth concrete
smooth concrete
2K upscale4K upscale
galvanized steel
galvanized steel
2K upscale4K upscale
old saddle leather, vegetable tanned, burnished
old saddle leather, vegetable tanned, burnished
2K upscale4K upscale
Browse materials

Wire the height

In the Shader Editor, add an Image Texture for the height map. Color Space: Non-Color. Add a Displacement node (Vector → Displacement). Height Color into Displacement Height. Displacement output into Material Output → Displacement.

Leave Midlevel at 0.5 unless your map is biased. Start Scale around 0.02 to 0.1. If the mesh turns into spikes, the scale is too high, not the map.

In Material Properties → Settings → Surface, set Displacement to Displacement and Bump (Cycles). Bump Only keeps the silhouette flat no matter what you plug in.

Adaptive subdivision

A flat plane will not displace usefully. Add a Subdivision Surface modifier, set it to Simple, and enable Adaptive Subdivision. Render engine must be Cycles. On current Blender builds adaptive lives on the modifier; older ones also need Feature Set → Experimental.

Dicing Rate around 1.0 is a sane start. Lower for close-ups, higher if memory climbs. Optional: set a Dicing Camera so distant floors stay cheap.

Eevee will not give you true displacement from this path. Preview in Cycles rendered view or you will think nothing happened.

Color space and tiling

Height is data. Non-Color, same as roughness and metallic. Shared Texture Coordinate → Mapping into every image texture so albedo, normal, roughness, metallic, and height tile together. If only the height is scaled differently, the depth fights the normal.

Quads help. Huge n-gons under adaptive subdivision dice into messy strips and the silhouette looks jagged even with a clean height. Loop cuts aligned with the pattern fix more than cranking dicing.

When to skip it

Skip real displacement for tiny props, mobile scenes, and anything that will never get a close camera. Keep the height file anyway; you can still feed a weak bump or parallax later. Unreal and Unity have their own height / parallax / tessellation paths, and the same map works there after you flip the normal green for DirectX.

Generate a set with height included. Wire it once, save the node group, reuse it.

What to do next

Browse

Public materials

Browse public materials and download tileable PBR sets without an account.

Browse public materials
Read next

Best tools to get custom PBR materials into Blender for archviz

How archviz artists get custom PBR materials into Blender. twirl for free library downloads and five-map generation with optional one-click import, plus Substance, Materialize, and related tools.

Continue reading

Free PBR materials

board-formed concrete
board-formed concrete
2K upscale4K upscale
weathered concrete
weathered concrete
2K upscale4K upscale
hardwood floor
hardwood floor
2K upscale4K upscale
brushed steel
brushed steel
2K upscale4K upscale
red brick
red brick
2K upscale4K upscale
exposed brick
exposed brick
2K upscale4K upscale
sandstone
sandstone
2K upscale4K upscale
mossy stone
mossy stone
2K upscale4K upscale
oxidized copper
oxidized copper
2K upscale4K upscale
rusted iron
rusted iron
2K upscale4K upscale
white paint
white paint
2K upscale4K upscale
limestone
limestone
2K upscale4K upscale
polished concrete
polished concrete
2K upscale4K upscale
brass
brass
2K upscale4K upscale
linen
linen
2K upscale4K upscale
parking lot asphalt
parking lot asphalt
2K upscale4K upscale
mossy brick
mossy brick
2K upscale4K upscale
smooth concrete
smooth concrete
2K upscale4K upscale
galvanized steel
galvanized steel
2K upscale4K upscale
old saddle leather, vegetable tanned, burnished
old saddle leather, vegetable tanned, burnished
2K upscale4K upscale
board-formed concrete
board-formed concrete
2K upscale4K upscale
weathered concrete
weathered concrete
2K upscale4K upscale
hardwood floor
hardwood floor
2K upscale4K upscale
brushed steel
brushed steel
2K upscale4K upscale
red brick
red brick
2K upscale4K upscale
exposed brick
exposed brick
2K upscale4K upscale
sandstone
sandstone
2K upscale4K upscale
mossy stone
mossy stone
2K upscale4K upscale
oxidized copper
oxidized copper
2K upscale4K upscale
rusted iron
rusted iron
2K upscale4K upscale
white paint
white paint
2K upscale4K upscale
limestone
limestone
2K upscale4K upscale
polished concrete
polished concrete
2K upscale4K upscale
brass
brass
2K upscale4K upscale
linen
linen
2K upscale4K upscale
parking lot asphalt
parking lot asphalt
2K upscale4K upscale
mossy brick
mossy brick
2K upscale4K upscale
smooth concrete
smooth concrete
2K upscale4K upscale
galvanized steel
galvanized steel
2K upscale4K upscale
old saddle leather, vegetable tanned, burnished
old saddle leather, vegetable tanned, burnished
2K upscale4K upscale
Browse materials
twirl
© 2026 twirlTerms·Privacy·Contact··Featured on ToolPilot·Twelve Tools