Micropolygon displacement : Where am I going wrong ? (First few attempts)

'Morning

I’m attempting micropolygon displacement for the first time (assphalt, soil and paving slabs), and am getting some very disappointing results. (Pock-marked surfaces to my Objects; cracks that are much too deep and I can’t seem to be able to do anything to improvements). Please see the test.blend and image files attached. I’ve tried both jpeg and tif files, and the results are pretty much the same.

Does the problem lie in my node set-up, d’you think ? Are my Objects sufficiently sub-divided ?

Feature set : Experimental
In ‘Materials’ panel, displacement type set to ‘True’.
Subsurface modifier on each Object set to ‘Adaptive’, with dice rate 1.00
In my node-set up, the Image texture for my displacement is connected to the Displacement input of my Material Output, with a Math node in between (the idea being I can tweak my displacement with the Math node…though I currently can’t).

With each change I make to my set-up, I’m refreshing my Rendered viewport, as well as running test-renders.

If anyone can tell me where I’m going wrong, I’d be grateful. Thanks.

Attachments

test.blend (9.49 MB)



No textures attached, more particularly the ‘Displacement(Levels_altered#).tif.001’.
If I changed that texture with any from my displacement library, I get a normal result. Check if your textures have any information in it (if they are of some flat color).

Thanks for getting back, Secrop. Sorry, not quite sure what you mean, though. No textures attached ?

The textures are not included with the file

Ah, the penny dropped. How’s the attached .blend now ? Apologies, I’m not familiar with packing textures along with .blend files, but tried it…

file > External Data > Pack all to .Blend
(you may want to save it as a new file, to keep the original file clean)

Blimey, not doing well, am I. Blend file now attached, with an attempt at asphalt. Thanks

Attachments

test - Copy.blend (9.55 MB)

The problem may be your textures.

They look like simple photographs to me - but for micro displacement to work accurately - you need to use a height/displacement map.

Micro displacement converts a grey scale image into height data - so unless you know for definite that the lights parts of your image correspond to higher points and darker to lower - you may get unexpected results.

Thanks, moony, for taking a look. I’ve used diffuse, normals, specularity, AO and displacement images, though ?

I had a look at your node setup - there are several issues that I can see:

  1. you are using colour mix nodes to perform math based operations (like adjusting the displacement amount). Why not just use the math node?

  2. You are also passing your normal map through a colour mix node - not sure why since the normal map node itself can handle the normal map strength. The normal map node depends on the colours of the normal map being correct - so you shouldn’t mess too much with the normal map colours by mixing as you have. The normal map itself however was causing all sorts of issues - so I have removed it. You only really need to use a normal map with displacement if the normal map contains significantly more small detail than the displacement map. Since your textures are quite low res - you dont have this level of detail and as such the normal map is pretty much redundant.

  3. Your displacement is far too harsh. I replaced the colour mix node with the math node set to multiply and a value of 0.01.

  4. Your glossy shader is far too rough IMO. The specularity texture is supposed to mix between diffuse and shiny parts of your object - but you have the roughness of your glossy turned up so high - the ‘shiny’ parts wont look shiny at all. Also - you need some fresnel in there to make it more realistic.

  5. You need a better environment - yours is too flat and thus wont show the material off very well. Add a HDRI environment, this will allow you to see the displacement and glossy parts better.

  6. Your AO map mixed with the diffuse isn’t doing anything at all since the output of the mix isn’t plugged into anything. I’d just remove the AO and mix node - IMO they are not needed in your material.

  7. Your ground plane object is highly tessellated. This is not necessary if you are using microdisplacement as the microdisplacement function will tellelate the mesh for you using the dicing scale function (lower = more tesselation).

  8. Your textures are very low quality - highly pixelated with a lot of clipping.

I have had a play and simplified your node setup a bit - try this:


Thanks ever so much for that, moony! Much appreciated. I’ve tried out your suggested node set-up with a bricks image texture, and it’s producing some displacement (though it needs further work). However, I seem to have a further problem with lighting/shadows : I’ve got shadows facing TOWARDS a light-source (UV sphere with emission) and highlights on areas that ought to be in shadow. Please see the screenshot. And I’m not sure whether this is related or a separate issue in its own right, but : I can only achieve the displacement by flipping the normals around to face the other (counter-intuitive) direction. Any ideas what’s causing all of this, and how it may be resolved ? Thanks ever so much.


Edit :


Tweaked the node set-up, as it wasn’t quite right before, but it doesn’t in itself solve the issue(s).