I come from a background of 3dsmax and vray. I want to use displacement in my project, however the standard shader only allows height values of 0-1. Normal use for displacements in ray tracing packages work that the grey in your displacement map does nothing, black pushes inwards and white outwards. Is there any way to do this in Unity?
Unity’s standard shader isn’t using displacement, it’s using parallax which doesn’t actually displace the surface geometry one way or another, it just gives the illusion of surface detail by perturbing the texture UVs.
If you want raytracing style tessellation & displacement you’ll need to write your own, find one that’s already been written, or grab one from the asset store.
Unity does use displacement. I am using 5.3 and the in shaders panel, “Tesselation”, using “bumped specular (displacement)” shader. I have used parallax shaders also but the displacement is what I am after.
Ah, the “standard shader” means something specific in Unity as they now have a literal “Standard” shading model. The Tessellation shaders don’t use this lighting model and are considered “legacy” shaders unless they’ve updated them more recently than the 5.3 I have.
Either way it wouldn’t be difficult to modify the tessellation shader to work the way you want. Just open up the .shader file and look for this section: