Jump to content
3DCoat Forums

[Solved] Why the weird normal maps ?


lewis2e
 Share

Recommended Posts

  • Member

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

Link to comment
Share on other sites

  • Advanced Member

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.

Link to comment
Share on other sites

  • Member
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.

Link to comment
Share on other sites

  • Advanced Member
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.

Link to comment
Share on other sites

  • Reputable Contributor
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

Link to comment
Share on other sites

  • Reputable Contributor
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.

Link to comment
Share on other sites

  • Contributor

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.

Link to comment
Share on other sites

  • Member
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.

Link to comment
Share on other sites

  • Member
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

Link to comment
Share on other sites

  • Member

 

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?

 

Link to comment
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.

  • Like 1
Link to comment
Share on other sites

  • Advanced Member
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. 

Link to comment
Share on other sites

  • Reputable Contributor

 

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! :)

Link to comment
Share on other sites

  • 1 month later...
  • Member
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

Link to comment
Share on other sites

  • Carlosan changed the title to [Solved] Why the weird normal maps ?

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

 Share

×
×
  • Create New...