I have a simple setup, a plane with a subsurf modifier set to 1 level of subdivision and adaptive subdivision, with a basic node tree to get a microdisplacement effect.

basic microdisplacement node tree

Now what I would expect to get is this: side view top view

but what I get in reality is this: side view top view bottom view

The normals of the microdisplacement seem to be rotated -45 degrees in the x axis and then 45 degrees in the y axis, because I got the correct result by doing just that to the plane.

I did test this with various older builds and got exactly the same results.

Any why this is going on, and more importantly what the fix is?


Looks like you're using a nightly build of Blender with vector displacement support. In that case, you'll need to translate the map with the new "Displacement" (displace along normal) node. Add Node > Vector > Displacement. That node can also replace your math nodes if you like, use the "offset" value instead of the subtract node and the "scale" value instead of the multiply node. They do the same thing, just built-in functionality. Plug your displacement map itself into the "height" input.

See also: What value does the Displacement input of the Cycles Material Output node expect?


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.