4
$\begingroup$

Let's say I have the following [kinda boring] shader setup: enter image description here

For what output values of the Voronoi Texture will the surface appear to be displaced outward? How about inward? In Houdini, negative values displace inward, positive values displace outward, and values of 0 don't displace at all. Is it the same in Cycles? Or is it a different range?

$\endgroup$
4
$\begingroup$

In Blender 0.5 is no displacement, 0 is inward, 1 is outward. But note that this will not displace the actual surface, it is just a Bumpmapping effect. Thus what is the 'no displacement' level is hard to tell.

To get real displacement you have to apply a 'Displace' modifier to the object. Here you can actually define what value is 'no displacement' and how sttrong the displacement is. Just make sure it is tessellated enough. Add a Subsurf modifier above for example:
enter image description here

The comparison of displacement in shader (left) to displacement using modifiers (right):
enter image description here

Edit:
As @gandalf3 mentioned in the comments, true displacement using nodes is available in cycles as an experimental feature. To activate it, first enable the 'Experimental' feature set in the rendering options:
enter image description here
Then go to the object data panel and set the displacement method to 'True' (1). This will give the same effect as adding a Displacement modifier to the object. To also get the fine tessellation effect of the Subsurf modifier enable 'Use Subdivition' (2). The 'Dicing Rate' controls how fine the mesh is tessellated.
enter image description here

However this method seems to displace the faces independently, which can lead to gaps in the surface:
enter image description here

$\endgroup$
  • $\begingroup$ Thanks for the answer. So in your example, where does the Displace modifier get its Voronoi texture? Do I have to create a texture 'object' or can I tell it to grab a texture from somewhere in the shader network? $\endgroup$ – Justin Jun 6 '14 at 18:44
  • $\begingroup$ As far as I know you can not access the cycles texture node from outside the shader. You have to use a texture object. You can see my .blend file for reference. In my file I also added a Texture Coordinate node to the shader to give both textures the same coordinate system. Otherwise the texture in the shader is twice as large as the one used for displacement. $\endgroup$ – maddin45 Jun 6 '14 at 19:45
  • $\begingroup$ That kinda stinks. Sometimes I like to do all sorts of masking/adding/subtracting/multiplying to a noise pattern in the shader. It would be nice to have that functionality in a displacement texture also. $\endgroup$ – Justin Jun 6 '14 at 19:48
  • $\begingroup$ @Justin Cycles supports real displacement too, see blender.stackexchange.com/q/1719/599. $\endgroup$ – gandalf3 Jun 6 '14 at 20:11
  • $\begingroup$ @gandalf3 nice! I guess I should play around with the experimental features from time to time :) $\endgroup$ – maddin45 Jun 6 '14 at 20:25

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.