Jump to content
3DCoat Forums

Generating Specular Maps


Grandmaster B
 Share

Recommended Posts

  • Advanced Member

A normal map and ambient occlusion map can currently be generated based on the model geometry but specular maps must be painting by hand, which can be tiresome and difficult. Why not have an option to generate a specular map based on the model and/or normal map? Even if it is not perfect for some cases, having a base normal map to begin with can be good.

For example: In normal mapping software like Crazy Bump or ShaderMap specular maps and ambient occlusion maps are generated based on a normal map.

I've tried to create a specular map soely based on the normal map by adjusting the channels of the texture. The results are very good, this is how all normal map generators do this. But the problem was that texture seams will be visible since the normal map is different on both sides of the seams (tangent space related).

Here is the model with the specular map, soely based on the normal map (all visible seams in this texture are also UV seams!):

post-3188-1291196051722_thumb.jpg

post-3188-12911962860575_thumb.jpg

Link to comment
Share on other sites

  • Advanced Member

A normal map and ambient occlusion map can currently be generated based on the model geometry but specular maps must be painting by hand, which can be tiresome and difficult. Why not have an option to generate a specular map based on the model and/or normal map? Even if it is not perfect for some cases, having a base normal map to begin with can be good.

For example: In normal mapping software like Crazy Bump or ShaderMap specular maps and ambient occlusion maps are generated based on a normal map.

I've tried to create a specular map soely based on the normal map by adjusting the channels of the texture. The results are very good, this is how all normal map generators do this. But the problem was that texture seams will be visible since the normal map is different on both sides of the seams (tangent space related).

Here is the model with the specular map, soely based on the normal map (all visible seams in this texture are also UV seams!):

A specular map is for controlling the amount of reflectivity (either raytraced or as a shader component mimicking the effect).

In what scenario is the bump/normal related to this?

For example a character like the one you posted has rapidly varying normals through the hair, however hair does not have rapidly varying reflectivity, it has more or less the one level of reflectivity, perhaps more (oily) at the roots. It is certainly not the case that it's reflectivity is tied to the angle of the surface.

Any connection between the surface normal and reflectivity (such as frenel effects where the facing ratio controls reflectivity) is calculated in the shader, and not the maps that feed the shader.

Knowing which areas of your sculpt should be shiny is not something software can do for you, since it's an arbitary decision, like how long a characters legs should be.

Link to comment
Share on other sites

  • 2 weeks later...
  • Advanced Member

It's a common technique to generate a specular map like that, it's not something i've just invented.

Sorry I'm not trying to be offensive, I just don't understand the purpose of using normal information for specular maps. Perhaps you could explain it?

Link to comment
Share on other sites

  • Advanced Member

No specular in the cavities? Without actually looking isn't it possible to avoid painting specular in the cavitiess?

yep you can paint your spec map using cavity as a mask for the brush, but it seems more like the request is for an option to convert the cavity or bump directly into a spec map.

this could be done by exporting the bump/displacement and reimporting the file as the spec.

Link to comment
Share on other sites

  • Advanced Member

Yes, that's what i've done but it does not take the UV-Seams into account. The normal map is in tangent space and UV seams create edges in the normal map, meaning that the normals in the normal map are different on both edges if there is a UV seam. That's why i believe it's best computed inside 3D-Coat itself.

Link to comment
Share on other sites

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