17
$\begingroup$

I have a plane in blender with a image texture node, connected to a RGB to black and white node connected to a multiplier before being connected to the displacement of the Material Output node. There appears to be some shadowing on the plane but it is only this that changes when I change the multiplier, the plane while viewed from the side rendered is still totally flat. Do I need to bake this in some way? Or have I totally misunderstood how displacement textures are supposed to work?

$\endgroup$
  • $\begingroup$ This explains why I just discovered that a displacement map loaded into an image texture node connected to the displacement input of a Material Output node does not seem to need extra mesh data (as would be excpeted ) it is in fact just a bump map. $\endgroup$ – user2052727 Aug 12 '14 at 2:06
18
$\begingroup$

Change the displacement type found in the Properties window under Object Data from (the default) Bump to True.

Note that this is an experimental feature and you must change the feature set from Supported to Experimental in Properties > Render Settings > Render.

True Displacement: Mesh vertices will be displaced before rendering, modifying the actual mesh. This gives the best quality results, if the mesh is finely subdivided. As a result this method is also the most memory intensive.

Bump Mapping: When executing the surface shader, a modified surface normal is used instead of the true normal. This is a quick alternative to true displacement, but only an approximation. Surface silhouettes will not be accurate and there will be no self shadowing of the displacement.

$\endgroup$
  • $\begingroup$ Could you please add a summery of the web page to your answer? If the site goes down, so does the answer. $\endgroup$ – CharlesL Jul 8 '13 at 19:10
  • 1
    $\begingroup$ @CharlesL, the link wasn't the answer, it just provided descriptions of the settings. But now included per your request. ;) $\endgroup$ – Aldrik Jul 8 '13 at 19:29
  • $\begingroup$ In Houdini, you can apply a displacement map that will do true displacement at render time, but doesn't require you to subdivide the mesh. Is this possible in Blender? $\endgroup$ – Justin Dec 20 '13 at 4:26
  • $\begingroup$ @Justin It is now. Tick the Use Subdivision checkbox and have a subdiv modifier set to be only visible at render time $\endgroup$ – VRM Nov 11 '15 at 15:05
  • 1
    $\begingroup$ Where is the Use Subdivision checkbox? And to make the subdiv modifier visible only at render time, do you just unclick the modifier's eyeball button, and make sure its camera button is clicked? $\endgroup$ – Justin Nov 12 '15 at 16:49
5
$\begingroup$

By default, using the 'Displacement' plug in the Node Editor does not truly displace the mesh, but "bump maps" it instead, which essentially means that it approximates the appearance of displacement without actually displacing it. In order to actually displace the mesh, you are going to have to use a different techique.

Although there are a variety of ways to do this, the standard way to displace a mesh, instead of using node 'Displacement', is to use the Displace modifier. To apply your node setup to the Displace modifer, choose a texture in the modifier panel, then select that texture and edit using the Node Editor.

$\endgroup$
  • $\begingroup$ Thanks for the info, I've tried this now and the displacement just moves my whole plane, what am I doing wrong now? $\endgroup$ – Leo Sutton Jul 9 '13 at 14:41
  • 2
    $\begingroup$ @LeoSutton You need to use a simple subdivision surface modifier first. Displace only acts on vertices, so you need to use subdivision to give your plane more vertices for it to act on. $\endgroup$ – Gwen Jul 9 '13 at 14:56

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.