Author Topic: Imported Normals Are Being Overwritten (Causing Normal Map Baking Problems)  (Read 7145 times)

Imported normals are being overwritten, this is causing problems when baking my normal maps.

I have tried using the "Always recompute Tangent Frames", I have tried not using the "Always recompute Tangent Frames". I have tried to unload the unity tangent plug in, re-importing my mesh every time, I have deleted my mesh and re-imported, but no matter what options I try the normals come in the same way and they are averaging the normals.

It feels to me that although the "Always recompute Tangent Frames" is turned off it feels like it is behaving as if it is on.

I have also tried using the "Always recompute Tangent Frames" and changing the normals smooth angle from 60 to 10 and 0. All options produce the same results. Is this broken?

The other thing that I noticed in regards to Substance Designer Normals is that they are not the same in Substance Designer.

I found this thread that was replied by Wes about this:

http://steamcommunity.com/app/273390/discussions/0/540742667909991986/?insideModal=1

"Substance Painter and Designer *do not* use the same tangent basis when
recomputing them. Designer uses Unity's tangent and Painter uses its own. This is not ideal at this time, but it will be addressed.

Here is what we are looking to do.

1. add an option in Painter (like there is in Designer) to not recompute
the tangents and use the tangents in the model file (if any).

2. add a plugin system in Designer in Painter so that people can choose
the tangent basis they want to use." - Wes

Is there any ETA on when this will be fixed? I really don't want to resort going back to XNormal for baking my maps. Right now the biggest value I have for Substance Designer is baking maps, and my main application for model creation is ZBrush so I really need these programs to play nice with each other.

Thanks, NickZ. :)
Last Edit: October 23, 2014, 05:32:27 am

Imported normals are being overwritten, this is causing problems when baking my normal maps.

I have tried using the "Always recompute Tangent Frames", I have tried not using the "Always recompute Tangent Frames". I have tried to unload the unity tangent plug in, re-importing my mesh every time, I have deleted my mesh and re-imported, but no matter what options I try the normals come in the same way and they are averaging the normals.

It feels to me that although the "Always recompute Tangent Frames" is turned off it feels like it is behaving as if it is on.

I have also tried using the "Always recompute Tangent Frames" and changing the normals smooth angle from 60 to 10 and 0. All options produce the same results. Is this broken?

The other thing that I noticed in regards to Substance Designer Normals is that they are not the same in Substance Designer.

I found this thread that was replied by Wes about this:

http://steamcommunity.com/app/273390/discussions/0/540742667909991986/?insideModal=1

"Substance Painter and Designer *do not* use the same tangent basis when
recomputing them. Designer uses Unity's tangent and Painter uses its own. This is not ideal at this time, but it will be addressed.

Here is what we are looking to do.

1. add an option in Painter (like there is in Designer) to not recompute
the tangents and use the tangents in the model file (if any).

2. add a plugin system in Designer in Painter so that people can choose
the tangent basis they want to use." - Wes

Is there any ETA on when this will be fixed? I really don't want to resort going back to XNormal for baking my maps. Right now the biggest value I have for Substance Designer is baking maps, and my main application for model creation is ZBrush so I really need these programs to play nice with each other.

Thanks, NickZ. :)

Hi Nick,

I will check on this and see where it stands. As of SD 4.5, we have added the option to use MikkTSpace or Unity tangent as well as load your own tangent basis plugin.

I will ask the developers what the differences are in tangent space between SD and SP.

Cheers,

Wes
 
Head of Substance Demo Art Team
the3dninja@adobe.com
Twitter: The3DNinja

As of SD 4.5, we have added the option to use MikkTSpace or Unity tangent as well as load your own tangent basis plugin.

I will ask the developers what the differences are in tangent space between SD and SP.

Cheers,

Wes

Where can I find this option? (MikkTSpace or Unity tangent)?

Cheers

Quote
I will ask the developers what the differences are in tangent space between SD and SP.
Currently, Designer offers plugins for Mikkelsen's tangent space and Unity's tangent space. The plugin API is public for developers wanting to add their own tangent space plugin.
Painter uses another tangent space provided by the third party library it uses for importing 3D meshes (Assimp). We are working on using Designer's plugin system instead.

Quote
Where can I find this option? (MikkTSpace or Unity tangent)?
It's in the project's settings in the Tools->Preferences menu.
Last Edit: October 24, 2014, 09:17:53 pm

Hi Cryille, The bigger issue is that SD is taking my high res ZBrush sculpt and smoothing all the normals instead of leaving them as hard edges. This is causing really bad shading that gets baked into the normal map.

Can you verify that SD is indeed smoothing the normals on my high res mesh? And if so is there a way to prevent this from happening? Thanks!

yeah this happens with decimated meshes. i think zbrush outputs it with normals like that - i have to clear all the smoothgroups in max to get rid of it.

yes we need an option to render hipoly meshes without normal smoothing

Hi,

I am checking with the devs on normal smoothing for high res mesh. We don't have an option to control the normal smoothing. Here is how it works in SD with "Always recompute Tangent Frames."

- Exported the fbx WITH tangents and binormal (in the fbx export option) / "Always recompute Tangent Frames" is OFF, then SD will read the tangents from the file and use them

- Exported the fbx WITH tangents and binormal (in the fbx export option) / "Always recompute Tangent Frames" is ON, then SD computes the tangents and binormal using the specified plugin.

- Exported the fbx WITHOUT tangents and binormal (in the fbx export option) / "Always recompute Tangent Frames" is on or off, then SD computes the tangents and binormal (because they don't exist).

Cheers,

Wes
Head of Substance Demo Art Team
the3dninja@adobe.com
Twitter: The3DNinja

Thanks Wes, I am using OBJ models from Zbrush. There isn't an FBX export from Zbrush  currently. Thanks!

Thanks Wes, I am using OBJ models from Zbrush. There isn't an FBX export from Zbrush  currently. Thanks!

Hi Nick,

Yes, Zbrush only exports OBJ. I think that can be the issue as @strangelet3345 mentioned, the normals need to be corrected in the zbrush file for a decimated mesh. Zbrush is exported smoothed normals for a decimated mesh and we don't have an option to disable that beyond the settings controlled through "Always recompute Tangent Frames."

Cheers,

Wes
Head of Substance Demo Art Team
the3dninja@adobe.com
Twitter: The3DNinja

AFAIK we don't smooth the high poly hard edges if they are defined in the mesh file. The reason why you're seing this is that ZBrush does not seem to export normals at all in the obj files, so we have to recompute them. It seems that our code for recomputing normals creates hard edges at uv seams and soft edges inside uv islands.

So can we have a setting exposed for what we want to do? It would be optimal for me as an artist to import in and have everything hard edged. But a threshold slider and numerical input could be nice as well. That way would give the artist total control over the normals of the object.

So I could do a test and import into Maya (Maya just turns it into hard edges if you import as an .obj, it does some funky stuff if you import in as a .ma file that GoZ uses.) and then take that model and re-export it back out over the top of its self, but I would really like to avoid that extra step if at all possible. Thanks!

So I was hoping to do a test using Maya, I can get my models into Maya just fine from ZBrush, the problem is my models are so large that they will not export back out from Maya at this point. Substance Designer just chews through these polys no problem so I really need this portion working to have a fully functioning map baking pipeline. Thanks!

Just in case someone returns to this thread and is still looking for an answer, ZBrush added a plugin for importing and exporting FBX files. The FBX format contains either smooth or hard edge normals. (You choose.) And substance can see this information from the file. So now you can export normal and vertex color all within the same file.  Hope this helps someone else out! :)