Jump to content
3DCoat Forums
lewis2e

Why the weird normal maps?

Recommended Posts

OK, this is really bugging me now.

Why does 3D Coat generate such weird normal maps when compared to other programs? These weird normal maps do work, but they cause shading artefacts in Blender Cycles, so I would like to know the reason.

I have played with the normal map settings in 3D Coat's preferences, but I am no closer to understanding.

To illustrate what I am talking about, see the three attached normal maps. These are all created from the exact same high poly and low poly meshes (basically a cube with some patterns drawn on in 3D Coat's sculpting room). All maps are 2k, and should be Tangent Space. The two that look kind of similar were generated in Blender and Substance. The one that looks totally different is generated in 3D Coat.

To be clear, I am not just talking about the padding. I know that 3D Coat uses a different mechanism for the padding. I am talking about the actual faces of the cube. Blender and Substance seem to deal with this "correctly", and you can see a flat surface with the pattern drawn on. 3D Coat does not.

Why is this?

 

Normalmap_3DCoat.png

Normalmap_Blender.png

Normalmap_Substance.png

ModelFiles.zip

Share this post


Link to post
Share on other sites

You mean the color gradients on plane faces ? This is because 3d Coat smooths the normals. If you hide the normal map in the layer editor you will see that the normals are smoothed. But this is okay. You can get better results if you support your faces with additional edges / edge loops.

Share this post


Link to post
Share on other sites
On 05/01/2018 at 4:54 PM, houGenie said:

You mean the color gradients on plane faces ? This is because 3d Coat smooths the normals. If you hide the normal map in the layer editor you will see that the normals are smoothed. But this is okay. You can get better results if you support your faces with additional edges / edge loops.

Yes, I think you are referring to my issue.

Is there a way to turn off the smoothing? As I say, it produces weird render results in other applications.

Share this post


Link to post
Share on other sites
10 minutes ago, lewis2e said:

Yes, I think you are referring to my issue.

Is there a way to turn off the smoothing? As I say, it produces weird render results in other applications.

As I know, there is no way, except the autosmoothing option, but then it will ignore your imported normals and calculate new ones, dependent on the angle. As I said, you can model support edges and then there will be fewer gradients.

Share this post


Link to post
Share on other sites
34 minutes ago, lewis2e said:

Is there a way to turn off the smoothing? As I say, it produces weird render results in other applications.

If you import your model to the Paint room (File > Import Object) and use the Bake sculpt mesh onto paint room mesh command in the Bake menu 3D Coat will retain the models existing smoothing groups.

Cube baked in Retopo room...

3DCSmoothCube1.thumb.JPG.3719a0af790531babc79892ec7fce96c.JPG

(same cube with normal map hidden)

3DCSmoothCube2.thumb.JPG.d553bf86f6a76472d2750bd32f8210fa.JPG

Cube baked in Paint room

3DCHardCube1.thumb.JPG.c79700aedd18456938d119eb2eea4998.JPG

(same cube with normal map hidden)

3DCHardCube2.thumb.JPG.58b9c6e8fa169eb2c3d6041700dada59.JPG

Share this post


Link to post
Share on other sites

Uv set smoothing ---> No smoothing in bake settings works as well.

Share this post


Link to post
Share on other sites
5 minutes ago, Michaelgdrs said:

Uv set smoothing ---> No smoothing in bake settings works as well.

Doesn't seem to work for me, I imported the exact same .OBJ file as you see in the last two screenshots to the Retopo room and with UV Set Smoothing set to No Smoothing and Lock Normals enabled it still ignored the smoothing groups of the cube.  Also, the tooltip for UV Set Smoothing states "This option works only if you have chosen to subdivide model during import".  So far the only solution I've found for importing and baking a model in 3D Coat without losing the smoothing groups is to do it via the Paint room.

Share this post


Link to post
Share on other sites

Hmmmm , works fine in 4.8.05 . No reason to not believe your saying and i see the results as well.

Which version are you using? I would like to try with it as well.

Share this post


Link to post
Share on other sites
10 hours ago, Fluffy said:

Doesn't seem to work for me, I imported the exact same .OBJ file as you see in the last two screenshots to the Retopo room and with UV Set Smoothing set to No Smoothing and Lock Normals enabled it still ignored the smoothing groups of the cube.  Also, the tooltip for UV Set Smoothing states "This option works only if you have chosen to subdivide model during import".  So far the only solution I've found for importing and baking a model in 3D Coat without losing the smoothing groups is to do it via the Paint room.

I can confirm this doesn't seem to work for me either. I have UV Set Smoothing -> No Smoothing set and I get the exact same smoothed normals. I am using 4.8.08.

I have not tried the bake from Paint Room option that you suggest, but thank you for highlighting this. I will try later today. Not ideal though.

Share this post


Link to post
Share on other sites
2 hours ago, lewis2e said:

I can confirm this doesn't seem to work for me either. I have UV Set Smoothing -> No Smoothing set and I get the exact same smoothed normals. I am using 4.8.08.

I have not tried the bake from Paint Room option that you suggest, but thank you for highlighting this. I will try later today. Not ideal though.

Allow me to backtrack slightly. I take back what I said, in that the results of "No Smoothing" and "Lock Normals" are not exactly the same. On closer examination, there is a difference, it's just still not quite... "right" (or, at least, I don't think that it is).

Please see my attached comparison. Sorry for the crude MS Paint graphics :-)

You can see the results are still drastically different to Blender and Substance. I am just seeking to understand why this is the case.

To be clear, this is using the Bake from Retopo room workflow. I have not tried importing directly into the Paint room as @Fluffy suggests above (the reason being that I really think this should work from a Retopo bake).

Illustration.png

Share this post


Link to post
Share on other sites

4.8.09

- Baking problems fixed. Better direction of scanning (angle -weighted), support of N-gons (N up to 128).

Share this post


Link to post
Share on other sites

 

3 hours ago, Carlosan said:

4.8.09

- Baking problems fixed. Better direction of scanning (angle -weighted), support of N-gons (N up to 128).

Doesn't seem to make any difference for me.

The only way to get a non-smoothed result seems to still be the method suggested by @Fluffy (i.e. baking from the paint room menu option rather than from the retopo room).

This seems incoherent as the option in the paint room uses the paint object as a retopo mesh. The differing results would seem to be a bug?

 

Share this post


Link to post
Share on other sites

There is one difference between baking from retopo room and Paint room. Mesh in retopo room has no split normals (or smoothing groups, or sharp edges) unless you will not specify crease angle in baking/import dialog during baking. This is principal problem, retopo mesh has no split normals now.

So the only way to bake external mesh with sharp edges (smoothing groups) is to import it in Paint room and bake from paint room bake menu (Paint->Bake->Bake sculpt mesh onto Paint room mesh).

Blender/Substance normalmap looks like baked on subdivided mesh, so normalmap has only high-frequency details.

Share this post


Link to post
Share on other sites
1 hour ago, Andrew Shpagin said:

There is one difference between baking from retopo room and Paint room. Mesh in retopo room has no split normals (or smoothing groups, or sharp edges) unless you will not specify crease angle in baking/import dialog during baking. This is principal problem, retopo mesh has no split normals now.

So the only way to bake external mesh with sharp edges (smoothing groups) is to import it in Paint room and bake from paint room bake menu (Paint->Bake->Bake sculpt mesh onto Paint room mesh).

Blender/Substance normalmap looks like baked on subdivided mesh, so normalmap has only high-frequency details.

Hi Andrew, yes we assumed this. But why does this limitation in retopo room exist? Even the lock normal option does not seem to do what it is expected to do? Are you going to change this? Thanks for your feedback. 

Share this post


Link to post
Share on other sites

Yes, I plan to make complete low-poly modeling toolset in Retopo, including marking sharp edges. But it is not quick task.

But with Lock normals + bake from paint room it will work exactly as in any other software if source and destination meshes are same as in other soft. 

  • Like 2
  • Thanks 1

Share this post


Link to post
Share on other sites

 

On 1/10/2018 at 7:32 AM, Michaelgdrs said:

Hmmmm , works fine in 4.8.05 . No reason to not believe your saying and i see the results as well.

Which version are you using? I would like to try with it as well.

I'm currently using 4.8.04 but I keep a close eye on release notes in case any changes are pertinent to whatever project I happen to be working on at the time and whether or not releases are marked as stable and update accordingly.  My primary reason for upgrading to 4.8.04 was because of the addition of the Bake menu in that release and the fact that it provided an effective workaround for this exact issue.  I've been using 3D Coat since around version 3.5 and to my recollection have never had any luck with preserving hard edges on models imported to the Retopo room (I'm guessing Andrews post in this thread solves that particular mystery though :)).

 

8 hours ago, Andrew Shpagin said:

Yes, I plan to make complete low-poly modeling toolset in Retopo, including marking sharp edges. But it is not quick task.

But with Lock normals + bake from paint room it will work exactly as in any other software if source and destination meshes are same as in other soft. 

That's awesome news, the ability to set sharp edges manually is something that's been at the top of my wishlist for a while, removing one of the few reasons I have to leave 3D Coat during my usual workflow, thanks Andrew! :)

Share this post


Link to post
Share on other sites
On 13-1-2018 at 10:44 AM, Andrew Shpagin said:

There is one difference between baking from retopo room and Paint room. Mesh in retopo room has no split normals (or smoothing groups, or sharp edges) unless you will not specify crease angle in baking/import dialog during baking. This is principal problem, retopo mesh has no split normals now.

So the only way to bake external mesh with sharp edges (smoothing groups) is to import it in Paint room and bake from paint room bake menu (Paint->Bake->Bake sculpt mesh onto Paint room mesh).

Blender/Substance normalmap looks like baked on subdivided mesh, so normalmap has only high-frequency details.

Hello Andrew,

When i import an object into the paint room (Paint room > File > Import Object) and bake it (Paint room > Bake > Bake sculpt mesh onto paint room mesh) it's not working and I've noticed that it's not showing the UV's. During the baking proces in the paint room the window jumps to the retopo room to tweak the scan options and then i can see the UV's but not anymore after the bake.

no-uvs.thumb.JPG.dc87005abb73b0d5315c58017bb7a713.JPG

If i import the same object into the retopo room then the UV's show and i can bake but i want to bake with what you said "So the only way to bake external mesh with sharp edges (smoothing groups) is to import it in Paint room and bake from paint room bake menu (Paint->Bake->Bake sculpt mesh onto Paint room mesh)".

Any thoughts about this?

Thanks,

Grtz Ruud

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×