Mantra surface normal bump
9160 10 2- LuSkar
- Member
- 28 posts
- Joined: 5月 2014
- Offline
- Lewul
- Member
- 250 posts
- Joined: 2月 2013
- Offline
- Sadjad Rabiee
- Member
- 1391 posts
- Joined: 12月 2010
- Offline
Check this topic maybe good for you :
http://forums.odforce.net/topic/19801-tangent-normal-maps/ [forums.odforce.net]
http://forums.odforce.net/topic/19801-tangent-normal-maps/ [forums.odforce.net]
- LuSkar
- Member
- 28 posts
- Joined: 5月 2014
- Offline
- ajz3d
- Member
- 580 posts
- Joined: 8月 2014
- Offline
Hello.
Sorry for digging up this old topic, but I spent half of the Sunday trying to figure out how to use tangent-space normal map (or even object-space normal map) with Mantra PBR. With no success.
I read the OD|Force topic that was linked here, but Eetu's solution isn't compatible with PBR. And it's not obvious for a new Houdini user, like me, how to change the network to make it work, or even how to use this solution with Mantra Surface shader.
There's not much information about this topic on the Internet. There are some tutorials and forum threads here and there, but none of them worked for me.
I'm surprised that setting-up normal maps in Houdini is so complicated and normal maps don't work out-of-the-box.
Maybe someone could share some tips on how to make them work correctly with Mantra PBR + Mantra Surface?
—–
Below - an example:
Generic 3D-Coat head geo with Mantra Surface shader and tangent-space normal map applied. 3D-Coat's Maya 2013+ normal map preset was used to generate and export normal map (Angled & Square, Delaunay Triangulation, Maya tangent-space), but I also tried other presets, as well as normal maps generated in xNormal. With no success and comparable results.
Note the strange shading and faceting.
(Ignore the grain)
Sorry for digging up this old topic, but I spent half of the Sunday trying to figure out how to use tangent-space normal map (or even object-space normal map) with Mantra PBR. With no success.
I read the OD|Force topic that was linked here, but Eetu's solution isn't compatible with PBR. And it's not obvious for a new Houdini user, like me, how to change the network to make it work, or even how to use this solution with Mantra Surface shader.
There's not much information about this topic on the Internet. There are some tutorials and forum threads here and there, but none of them worked for me.
I'm surprised that setting-up normal maps in Houdini is so complicated and normal maps don't work out-of-the-box.
Maybe someone could share some tips on how to make them work correctly with Mantra PBR + Mantra Surface?
—–
Below - an example:
Generic 3D-Coat head geo with Mantra Surface shader and tangent-space normal map applied. 3D-Coat's Maya 2013+ normal map preset was used to generate and export normal map (Angled & Square, Delaunay Triangulation, Maya tangent-space), but I also tried other presets, as well as normal maps generated in xNormal. With no success and comparable results.
Note the strange shading and faceting.
(Ignore the grain)
- eetu
- Member
- 606 posts
- Joined: 5月 2007
- Offline
- ajz3d
- Member
- 580 posts
- Joined: 8月 2014
- Offline
Would you? Thanks!
I made a quick scene. I didn't want to use the head as it's one of the models that come with 3D-Coat, so I was unsure if it's allowed to upload it.
The zip file contains hipnc file, low-poly OBJ and a tangent-space normal map (in Maya 2013+ tangent space).
Here's how the normal mapped hand should (more or less) look like. See the post below.
I made a quick scene. I didn't want to use the head as it's one of the models that come with 3D-Coat, so I was unsure if it's allowed to upload it.
The zip file contains hipnc file, low-poly OBJ and a tangent-space normal map (in Maya 2013+ tangent space).
Here's how the normal mapped hand should (more or less) look like. See the post below.
Edited by - 2014年10月13日 13:02:41
- ajz3d
- Member
- 580 posts
- Joined: 8月 2014
- Offline
- el_diablo
- Member
- 133 posts
- Joined: 7月 2005
- Offline
The file on this [forums.odforce.net] thread from eetu helped me with the same problem. Seems there are some wrong assumptions (or at least not enough options) with math in the Mantra surface shader in regards with tangent space normal maps. Anyways here is your scene with the fix from that thread.
If you dive in the Mantra surface shader for the hand you will see under bump netbox subnets called normalConvert and normalFix. The normalConvert is the original sesi one, the normalFix is the one eetu posted.
It seems to work fine for me.
As I understand it, tangent vectors are generated from uv derivatives, combined into an transform matrix with negated N and the multiplied with vector from the normal map color data that is fit to -1,1 space from 0,1 and flipped if necessary.
If you dive in the Mantra surface shader for the hand you will see under bump netbox subnets called normalConvert and normalFix. The normalConvert is the original sesi one, the normalFix is the one eetu posted.
It seems to work fine for me.
As I understand it, tangent vectors are generated from uv derivatives, combined into an transform matrix with negated N and the multiplied with vector from the normal map color data that is fit to -1,1 space from 0,1 and flipped if necessary.
- ajz3d
- Member
- 580 posts
- Joined: 8月 2014
- Offline
el_diabloAh so this is where Eetu's network is supposed to be placed. Initially I was confused as where to put it, and ended up directly assigning it to geo as material. :roll: And while it worked in micropolygon and ray-tracing rendering, it didn't in PBR.
The file on this [forums.odforce.net] thread from eetu helped me with the same problem. Seems there are some wrong assumptions (or at least not enough options) with math in the Mantra surface shader in regards with tangent space normal maps. Anyways here is your scene with the fix from that thread.
If you dive in the Mantra surface shader for the hand you will see under bump netbox subnets called normalConvert and normalFix. The normalConvert is the original sesi one, the normalFix is the one eetu posted.
It seems to work fine for me.
As I understand it, tangent vectors are generated from uv derivatives, combined into an transform matrix with negated N and the multiplied with vector from the normal map color data that is fit to -1,1 space from 0,1 and flipped if necessary.
El Diablo, the modified scene works like a charm! I only needed to tweak constant1 node and change its float3def parameter from (1, -1, -1) to (1, 1, -1) in order to fix a seam running through the side of the hand.
Thank you Eetu and El Diablo for your invaluable help!
- el_diablo
- Member
- 133 posts
- Joined: 7月 2005
- Offline
-
- Quick Links