Perplexing Materials Anomaly

I’ve been struggling with this for three days and am coming up empty. I have a Daz Studio character I have exported to FBX and imported to Blender and set up with my Skin shader. However, even though the shader is identical between the face, head, neck, torso and shoulder - I’m coming up with an odd anomaly where part of the map renders out significantly lighter than the rest. More so, this is happening in the same UV - such as the neck which uses the torso map - where the seam is, there is the darker part, and the lighter part. This even though the exact same shader settings apply to both. In texture mode, you can’t really see the seams unless you zoom in. The seams are also barely visible when bumpmap, specularmap, and normalmap is selected. Even more perplexing, when set to render view using the default FBX materials (no SSS, bump, or specular) the seams cannot be seen and there are no anomalies. The issue only appears when I use my shader which brings in bump, specularity and sss.

I have tweaked the shader endlessly to no avail. I have used different textures. I even imported OBJ and used that, as well as tested on an entirely different Daz Studio imported model and the anomaly persists. I’m at my wits end with this, sadly. My nodetree is not complicated at all. I’ve check the normals of the mesh, even flipped them to see what would happen. What’s odd is that the difference occurs on the same texture-map even in the same UV space. Anyway, here are some screen-captures to illustrate what I am talking about.

Render View with Anomaly

Materials View of Same Setup

My Node Tree

More images in next post…

Node-Group Specular

Node-Group SSS

Node Base Tree

I also selected the bump, specular, and normal maps for the face, head, and neck to see if the anomaly would show up there. While you can see some of the seam, I’m not seeing anything so overt as to cause the problem:




And finally, as a control, a render view of the default FBX import with the materials it brought in:

FBX Node Tree

Of course, no bump, specularity, or SSS in the default import. What is it with my shader that is causing things to go FUBAR?

Hard to say without being able to examine the file. I tend to think it has to do with the normals.
Have a look at the forehead: You see some facetting in the render, which could mean the normal map is either way overpowered in strength or somewhat faulty.

Also: Since version 2.74 Blender does not average out the vertex normals on every hit of the Tab key, which on the one hand allows working with custom vertex normal maps that come with imported meshes, but can on the other hand cause issues if that imported vertex normals are defective. Try deleting those manually.

I totally deconstructed my shader and implimented each node one baby step at a time. It all worked until… I fed in the normal map! I went back to my original shader and disabled the normal map and the issue disappeared! I tried putting them back in on either the glossy/diffuse node-group or the SSS node-group, as well as tweaking the Strength value but the ONLY thing that worked was to simply remove them altogether.

Now, what I would like to know, was I using normal maps in a way they were not intended to be used, or were my Gimp generated normal maps - Sobol 3x3 with 2.00000 scale and everything else default - totally AFU?

Rendered View sans NormalMap

Thanks! Turns out you were spot on regarding normals. And I did notice that facetting too and was about to attack that once I got the other problem solved. Looks like one solution solved both. But now I am sans a normal map and am wondering if either it was a bogus map, or if it is necessary at all. I am also considering getting Subsistence and using that to help generate my maps too. I really don’t know enough about it to confidently say I’m using the Gimp normal plugin correctly.

So, the normal map was generated from the diffuse map via the GIMP plugin? Where does the surface structure in your last render come from - a dedicated bump map?

I’d say, if you already have a bump map, an additional normal map which was not explicitly created but just derived from the diffuse map will not gain much (if at all). Just leave it out.

How did you combine bump map and normal map, btw? You did not use the “Displacement” input of the Material Output node, did you?

I hope my screen-shots of my node layout made it clear enough where my bump-map was being fed. I’m taking that straight to displacement and was trying to take the normal to the diffuse. Of course, both are identical so that was indeed quite redundant. Displacement is great for larger features, and bump/normal through diffuse great for the finer features, but this particular set of maps just has the bump so I’m ditching the normal map altogether and keeping the bump on Displacement. I also fed in the image map to burn mode on the bump map to smooth it out just a little.

So here it is, my base material ready for the application of freckles, grunge, dirt, cuts and all that stuff I’ll overlay in. Of course, he currently has the texture brows. I will wipe those out and apply particle brows which are MUCH more realistic and better looking. And he’ll need hair and clothes too, naturally. Thanks for helping me see the issue with the normal map.

Now I get to pose him for the scene I’m working on.

Someone asked about my FBX Daz export/Blender import settings.

I used to export OBJ and Collada - OBJ was my main working mesh and I copied the weights from the Collada version since it was miles better than the OBJ weight maps. But that was back in V4/5 and M4/5. Actually, the Genesis/V5/M5 weight maps from Collada are the best from all the versions Daz Studio has. They did something to the G2 setup that boogers things up and I’ll have to address that later on.

Anyway, I do primarily static shots, so lately I pose in Daz Studio and apply that to my base mesh in Blender via shapekeys. I always knock out the subdivision surface from Daz to produce lighter meshes. Helps a lot when I bring several models into Blender.

OBJ materials was always a headache, however. New releases of Blender helps with bulk converting to Cycles, but they always had several redundant texture slots I had to go through and delete. I learned of FBX as an option while researching Substance and decided to use that and boom - the materials come straight into cycles, no redundancies and it’s easy for me to plug in my shaders and bring in a few extra maps - bump and specular mainly. I only do that for the base mesh - the posed meshes I bring in have no materials and are from OBJ just for the purpose of creating a shape-key. Works like a dream.

Anyway, it’s nothing fancy. Here are my settings in Daz for exporting to FBX:

And my settings in Blender for importing:

Of course, I prefer using the Maps directory for my maps, so I do go in and change that. I also parent the mesh and delete the rig too. I prefer Blender’s rig anyway if I was rigging, but for my current use, it’s just not needed.

Hope this helps someone. Have fun! :slight_smile:

If you do use Gimp for making a normal map, probably have to remember invert Y to match Blender.

RGB = XYZ. X side to side, Y up/down

Top viewport: Blender normal directions for geometry that comes out of the surface towards the camera
Bottom left: gimp normal map with defaults. Y (green) goes down-up
Bottom right: gimp normal map with inverted Y, which goes up-down, flipping the direction it would have in Blender.

Comparison with actual geometry

Thank you for sharing your settings. When I use them and import an unposed figure, it comes in fine, but with a pose, I can identify that the pose is correct, but the figure is really messed up in object and pose mode. It reverts to unposed in edit mode and looks good - any thoughts on why this is happening.

BTW, are you using the Insamebump plugin in Gimp? It is far superior to the normal map plugin.

When I export a pose, I export it as an OBJ file, then apply it to the base mesh in Blender via shape-keys. Works like a dream. I don’t see any reason to send a pose via FBX, personally, so I haven’t done it.

I tried insane bump and it broke. Soon I’ll have Substance and will probably do all my materials work in that, so I’m not interested in experimenting too much. Normalmap has worked okay.

I did flip the Y as suggested but the issue remains so I ditched the idea of using normal maps altogether. It’s like it causes the diffuse texture to be illuminated before wrapping onto the mesh - so there are light areas and dark areas that don’t match the illumination of the mesh itself. Very peculiar.

I ended up recreating the bump-map too. The one that I collected with the materials just didn’t quite work. Also, I decided to pipe the bump-map in through the diffuse and glossy BSDF rather than displacement. I found displacement maps for under-skin vascularity, so I put those on displacement. The render worked out MUICH better. The new bump maps were far easier to manage and the displacement map opens up a lot of possibilities for bringing in little imperfections, bumps and whatnot without having to mess with the bump-map much.

I guess I’m migrating from Support to WIP now that the underlying issue has been figured out. Thanks for all your help. In leaving, here is my diffuse node tree with the bump-map and the resulting render (with the displacement map applied too).

Steven Crow WIP. He’s the main protagonist in the series of books I am writing:

Just to clarify:
Your “displacement map” is in fact just a bump map, too: If you connect a texture to the “Displacement” input of the Material Output node, you will by default only get plain old bump mapping and no displacement at all. To get “true” displacement, you will need to set the render feature set to “Experimental” and then in the Object Data tab switch Displacement from “Bump” to “True”.

However, this “true” displacement feature is unfinished, highly experimental, buggy as hell and in no way production ready. The only reliable way to get displacement still is the Displacement modifier - which makes me think that after the introduction of the Bump node, the “Displacement” input of the Material Output node became more or less obsolete.

are u still using the special SSS skin group node or you simplified it a lot ?

it is looking nice on last post

Note: the method use to calculate the displacement and the bump node is not the same.

happy cl

I am using the same basic node setup for SSS that I posted earlier in this thread.

As far as the displacement issue, it does what I need it to do so I’m not worried. :slight_smile: