1
$\begingroup$

In experimental render mode I tried to combine micro displacement and normal map. This has been a common workflow for high Quality materials in other 3D applications.

While I can render normal map in supported mode: normal map in supported mode supported mode setup

in experimental mode it turns object very dark (this is not the issue of object/tangent space, you still can see object little bit)

normal map in object space, experimental mode

not much changes when I add displacement

turning normal map off, the objects reappears with displacement, I miss the fine detail of normal map however

enter image description here

Small remedy is that you can plug bump map into normal shader node, this adds the finer detail, I find bump maps much inferior to normal maps however. enter image description here enter image description here

I have reproduced this bug with other normal maps too. I have double checked that normals are set to non-colour data. Is this well known and reported bug, or am I missing something else?

Thanks a lot in advance. File: enter link description here

$\endgroup$
  • $\begingroup$ Can you provide the file with the bug? I cannot reproduce, everything works on my end: test. Also no darkening between supported and experimental normal maps. $\endgroup$ – Jaroslav Jerryno Novotny Aug 5 '18 at 8:23
  • $\begingroup$ Hello Jaroslav, thank you for trying to reproduce the bug. scene: gofile.me/2mjhf/ODKTf618l I have tested it in new scene. It turns out that object space works on simple plane but not on e.g. sphere. Get get the same distortion using adaptive subdiv. and normal map in object space. $\endgroup$ – Daniel Mikolajcak Aug 5 '18 at 15:25
3
$\begingroup$

It seems as of version 2.79, displacement node, Adaptive subdivision (experimental mode) cannot be combined with normal map node. Workaround for now is either using only bump map or switching off the adaptive option inside of subdivision modifier.

This bug is not noticeable when using simple plane: (probably here tangent space is same as object space) enter image description here

In case of a sphere, shading artefacts appear when combining Normal Map and Adaptive Displacement enter image description here

Unfortunately I now have the file in version 2.8 only http://gofile.me/2mjhf/tn9buuTmU

Node setup in 2.8: enter image description here

Correct me if I am wrong, but it seems like developers were aware of this bug and changed it in the upcoming version 2.8. Since that is around the corner I can live with the 2 above mentioned workaround in 2.79 until then.

Thanks

$\endgroup$
-1
$\begingroup$

1) If you're using tangent space normal maps, specify a UV map for your normal map node. UV is how the tangent is determined.

2) You can't really get away with using tangent space normal maps with a mapping node. Here, yeah, it's okay because you're not actually doing anything with the mapping node, not apparently. But you should know. (And Blender devs should give us a tangent input to our normal map node so that we can actually use a mapping node with a normal map node, but it's free and I still love Blender, so I can't complain too hard.)

3) Any time it's too dark, try reducing the strength of the normal map.

4) Blender handles displacement and normal mapping a little strangely, because it says, "Surely you want your normals to be your displaced normals!" but sometimes you don't. There are some hidden dependency issues involved here. I wouldn't at all be surprised if normal map node tangents did not actually use displaced normals while the normals did, which, yeah, would break normal mapping, but that's why it's called experimental.

5) Bump maps aren't bad! Use higher image bit depth, avoid lossy compression, and bump maps are fine. If you enable true displacement + bump, there's really no reason to use both a bump map and a normal map. This, I believe, is what experimental true displacement was tuned for, not for some weird thing involving the use of multiple ways to distort normals. (I don't get the feeling Blender devs use normal map nodes at all, or else we wouldn't have the previous issues I've mentioned, which have been around a long time.)

6) If you want to use normal maps with displacement, consider using a displacement modifier instead. The only thing you lose is adaptive subdivision.

$\endgroup$
  • 1
    $\begingroup$ Hello Nathan, 1. applied UV maps 2. unplugging mapping node does not change the situation. 3. Normal map is interpreted wrong in object space. hiding it doesn´t solve it 4. What is odd that bump map in normal input node works just fine. 5. I still think normal maps are way to go for fine details 6. I have found a workaround, it is the adaptive subdivision that causes it. if subdivision is not adaptive everything works as it should. I have found out that 2.8 version has solved this bug, I will post more about that. Cheers! $\endgroup$ – Daniel Mikolajcak Aug 5 '18 at 15:43
  • $\begingroup$ @DanielMikolajcak Yeah, it would have been better to leave that as a comment, but I don't think there'd be space anyways. Just some issues that you would want to be aware of, if not for this particular issue, for the future. $\endgroup$ – Nathan Aug 5 '18 at 18:22

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.