Jump to content
Sign in to follow this  
Astrid Kaufmat

Normal maps generators: concepts for users not familiar with 3d programs

Recommended Posts

Hello secondlife-folk

 

Here I am showing you what I found and what those who don't love 3d programs could still use to make normal maps for models. Not everyone can use a 3d program like maya , 3ds max or zbrush, to do those maps then here come some nice utility that will help those of you who buy full perm meshes to texture and still don't want to miss the chance to apply on them normal maps.

 

 I am going to show you a very cheap method to generate diffuse, normal and specular maps.

This method of course might be not the best at all for those who know how to use well 3d professional software like maya or zbrush and so on but it would help a lot those who can't use those software and still want to buy and customize some full perm mesh models.

 

If you've got a mesh model then you've got with it also the UVW map that is the field where you can paint or apply the texture. To let us understand each other better the UVW map is nothing different from the classic layers that we all have used to make clothes ( after all the sl avatar is a mesh itself and has been UVW mapped to get those templates ). Same would happen with any mesh.

 

Now we have three textures to generate:

 

1) Diffuse map: we could call it ,even if it's not totally correct, the textureas that we've done painting (for those wwho know how to paint in 3d in maya or other software would see why this definition is not totaly correct), however it gives you the idea of what is the diffuse map.

 

2) Normal map : it's a new method to give models 3d depth. There would be other methods but not good. For istance before the Normal maps came out many mesh models used the displacement to give more details and deepth. The difference with a displacement map is that the displacement map requires a lot of polygons then much more rendering and so more lag (this is the reason what normals would allow better working meshes, for those who loves them with many details). The normal map starts from a relative low number of polygons giving you back the same results.The last method is the bump map ,which is an older way than the normal map to make a 3d effect on a surface but bump map lacks of accuracy, giving less details on your 3d depth .This is the reason what only the normal map simulates the directions of normals on the polygons of your 3d model,rendering more details.

 

3) specular map to give shininess on your model where it's needed.Consider that where it's white it'll be shiny where it goes grey or darker the shinyness gets lost.

 

 

 

Now we'll see the basic way to generate a normal map and a specular map using a free tool, a plugion for photoshop.

 

What I am going to show you is the Nvidia normal map plugin for photoshop ( it's totally free and working nicely ).

 

First of all take a 2d texture that you want to render in 3d. Keep in mind that a 2d texture couldn't be converted into a normal map as it is,at least if you try that, you'd get not a clean job , but many rough spots on the surface.

 

The concept to generate a normal map is that is should be generated from a greyscale texture and not a texture itself.This is why generating the normal map the programs will consider back as depth and white or grey as bumped surface  (don't't forget the computers and softwares are powerful but dumb).

 

Download and install the nvidia normal map plugin.

 

Then open your photoshop and open the image that you want to use to generate your normal and specular maps.

A brick wall is a good example to start your training, but yo could chose any image to create your normal map, also a baserelief if you want to transform some photo into it or a star, a flower and so on.

Brick_wall_close-up_view.png

 

 

Take your photo and generate a grey scale texture of it.In photoshop for this purpose you might use the hue and saturation and to give better defined details you might use also the level (ctrl +L or apple + L for mac).

 

now take the grey scale image and save it as your specular then go to filters and then nvidia tool ,which will generate the normal map from the greyscale map.

 

To generate it in the window set :                                                                                                       - add height to normal map

                                                                                                                                                                  - filtertype =4 sample

                    • average RGB

                    • scale : set the value that lets you see a better bevel and emboss effect on the 2d map (in the photo I used 12 but you could select the proper value for each map)

 

save normal map.png

Done we have now a difffuse, a normal.

A specular map is a black and white map where the white is the area of shininess and the black or grey areas are the ones without or with low shininess. So you could use on your photo some phoptoshop tools like thehue and saturation and the levels to define better details.

once done it this way you can save it as DDS (using the nvidia tool function) and then use that DDS grey scale texture to make your normal map from it. It's always better to generate a normal map from a grey scale rather than a rough texture to avoid unwanted effect or rough look.

Another thing about the specular map is that you don't always need to generate it in this way.As we said, the specular map is a black and white map of your texture, where is the dark there is no shining and viceversa. So you could also use a soft or hard brush to give your model more opacity when you need it and more shininess where it's needed, swapping from a white to a grey or black brush.

 

To apply these maps simply edit your prim or mesh and then go to texture tab there you would find a top down menu with options : 1) diffuse

                 2) bumpiness( normal map)

                 3) specular

Just drag and drop the maps in the texture square after that you've selected the proper  feature from that drop down menu ( you can see this with more details from the wiki for normals I don't feel to make more photos about this, after all it's not anything new either you might know already those bump and shininess effect hence they were before also for old primitives , now say with mesh and normal and specular map w can add our owns customized).

 

 

Other free tools like the nvidia plugin are:

-the gimp normal maps plugin http://registry.gimp.org/node/69

-Ati tga2 dot3d ( standalone)

 

 

Free programs to generate normal maps from textures:

 

 

Not free programs:

 

 

 

 

For those who would love to do it in 3d and with more control over the effects of each map Zbrush is a nice program.Sadly not free. Blender is freee but when you try other programs there is no go back.

 

 

 

 

  • Like 1

Share this post


Link to post
Share on other sites

Hello secondlife-folk

 

Here I am showing you what I found and what those who don't love 3d programs could still use to make normal maps for models. Not everyone can use a 3d program like maya , 3ds max or zbrush, to do those maps then here come some nice utility that will help those of you who buy full perm meshes to texture and still don't want to miss the chance to apply on them normal maps.

 

 I am going to show you a very cheap method to generate diffuse, normal and specular maps.

This method of course might be not the best at all for those who know how to use well 3d professional software like maya or zbrush and so on but it would help a lot those who can't use those software and still want to buy and customize some full perm mesh models.

 

If you've got a mesh model then you've got with it also the UVW map that is the field where you can paint or apply the texture. To let us understand each other better the UVW map is nothing different from the classic layers that we all have used to make clothes ( after all the sl avatar is a mesh itself and has been UVW mapped to get those templates ). Same would happen with any mesh.

 

Now we have three textures to generate:

 

1) Diffuse map: we could call it ,even if it's not totally correct, the textureas that we've done painting (for those wwho know how to paint in 3d in maya or other software would see why this definition is not totaly correct), however it gives you the idea of what is the diffuse map.

 

2) Normal map : it's a new method to give models 3d depth. There would be other methods but not good. For istance before the Normal maps came out many mesh models used the displacement to give more details and deepth. The difference with a displacement map is that the displacement map requires a lot of polygons then much more rendering and so more lag (this is the reason what normals would allow better working meshes, for those who loves them with many details). The normal map starts from a relative low number of polygons giving you back the same results.The last method is the bump map ,which is an older way than the normal map to make a 3d effect on a surface but bump map lacks of accuracy, giving less details on your 3d depth .This is the reason what only the normal map simulates the directions of normals on the polygons of your 3d model,rendering more details.

 

3) specular map to give shininess on your model where it's needed.Consider that where it's white it'll be shiny where it goes grey or darker the shinyness gets lost.

 

 

 

Now we'll see the basic way to generate a normal map and a specular map using a free tool, a plugion for photoshop.

 

What I am going to show you is the Nvidia normal map plugin for photoshop ( it's totally free and working nicely ).

 

First of all take a 2d texture that you want to render in 3d. Keep in mind that a 2d texture couldn't be converted into a normal map as it is,at least if you try that, you'd get not a clean job , but many rough spots on the surface.

 

The concept to generate a normal map is that is should be generated from a greyscale texture and not a texture itself.This is why generating the normal map the programs will consider back as depth and white or grey as bumped surface  (don't't forget the computers and softwares are powerful but dumb).

 

Download and install the nvidia normal map plugin.

 

Then open your photoshop and open the image that you want to use to generate your normal and specular maps.

A brick wall is a good example to start your training, but yo could chose any image to create your normal map, also a baserelief if you want to transform some photo into it or a star, a flower and so on.

Brick_wall_close-up_view.png

 

 

Take your photo and generate a grey scale texture of it.In photoshop for this purpose you might use the hue and saturation and to give better defined details you might use also the level (ctrl +L or apple + L for mac).

 

now take the grey scale image and save it as your specular then go to filters and then nvidia tool ,which will generate the normal map from the greyscale map.

 

To generate it in the window set :                                                                                                       - add height to normal map

                                                                                                                                                                  - filtertype =4 sample

                    • average RGB

                    • scale : set the value that lets you see a better bevel and emboss effect on the 2d map (in the photo I used 12 but you could select the proper value for each map)

 

save normal map.png

Done we have now a difffuse, a normal.

A specular map is a black and white map where the white is the area of shininess and the black or grey areas are the ones without or with low shininess. So you could use on your photo some phoptoshop tools like thehue and saturation and the levels to define better details.

once done it this way you can save it as DDS (using the nvidia tool function) and then use that DDS grey scale texture to make your normal map from it. It's always better to generate a normal map from a grey scale rather than a rough texture to avoid unwanted effect or rough look.

Another thing about the specular map is that you don't always need to generate it in this way.As we said, the specular map is a black and white map of your texture, where is the dark there is no shining and viceversa. So you could also use a soft or hard brush to give your model more opacity when you need it and more shininess where it's needed, swapping from a white to a grey or black brush.

 

To apply these maps simply edit your prim or mesh and then go to texture tab there you would find a top down menu with options : 1) diffuse

                 2) bumpiness( normal map)

                 3) specular

Just drag and drop the maps in the texture square after that you've selected the proper  feature from that drop down menu ( you can see this with more details from the wiki for normals I don't feel to make more photos about this, after all it's not anything new either you might know already those bump and shininess effect hence they were before also for old primitives , now say with mesh and normal and specular map w can add our owns customized).

 

 

Other free tools like the nvidia plugin are:

-the gimp normal maps plugin http://registry.gimp.org/node/69

-Ati tga2 dot3d ( standalone)

 

 

Free programs to generate normal maps from textures:

 

 

Not free programs:

 

 

 

 

For those who would love to do it in 3d and with more control over the effects of each map Zbrush is a nice program.Sadly not free. Blender is freee but when you try other programs there is no go back.

 

 

 

 

Share this post


Link to post
Share on other sites

Just wanted to say that even though I build with Blender I use ShaderMap 2 for normals and sometimes speculars (those are still a bit iffy at the moment IMHO). I like it very much. The DEMO however only lets you see the interface and find out if it will run on your machine. It is VERY crippled :D

 

There is also a free plugin for Photoshop. I use Corel though so that didn't help me. SM2 is a good value I think as the ease of use is great and it is very sleek. It takes awhile to get the preferences set as you want them. After that it is a breeze.

Share this post


Link to post
Share on other sites

I'll second the suggestion of ShaderMap.  It's a wonderful tool, and at less than US$40, it's an absolute steal.  I haven't tried nVidia's Photoshop plugin, but it seems worth checking out.

I also use CrazyBump, and find I get better results with it, more easily, in a lot of cases, than with ShaderMap.  CrazyBump doesn't have the painting features that ShaderMap has, but its calculations from source images seem to be better.  So, both programs are great for different things. 

CrazyBump is a bit more expensive, at $99 for a personal license, or $299 for commercial, so bargain hunters will probably be better off with just ShaderMap.  For those willing to invest a little more, CrazyBump is worth every penny.

 

Whatever people end up using, here are a couple of quick tips that are seldom talked about:

First, make sure that your software is set to generate normal maps for OpenGL, as opposed to for DirectX or any other graphics API.  SL is an OpenGL application.  DirectX apps tend to reverse certain vectors, so maps made with DirectX in mind aren't likely to work very well in SL.

Second, even with the first point in mind, the fact remains that there is no actual finalized standard for how normal mapping works.  Every application implements it slightly differently.  It's a not uncommon hot-button issue between game developers and artists.  Don't be surprised if your maps don't produce exactly the same results in SL as in your modeling program, other games, etc.  That's par for the course.  This is one of those areas where all we can do is say close enough is close enough.  There will always be a certain degree of artifacting, and we all have to just live with it (at least until a standard is reached).

 

Share this post


Link to post
Share on other sites

Normal maps are fantastic - best thing since mesh :)

Few tips:

Without getting too technical, normal maps use the red, green and blue channels for different angles. Red is left/right(X), green is up/down(Y), and blue is depth (Z). With this in mind, its really easy to fix a normal map that might not look quite right when imported into SL. You can usually tell this when you shine a light on a, for example, brick surface and the wrong edges are shaded. If your normal map does look wrong, invert the offending channel in Photoshop or whatever image editing software you use (In photoshop, go into channels tab, select the channel and CTRL+I to invert). You might need to do this for red and green. Blue you usually want to leave alone unless you want to completely reverse the surface.

 

Technically speaking, SL (can only speak for the official viewer) uses +X, -Y, +Z for its normal map vectors. This is something you don't need to know unless you're baking normals from a high poly object.

Oh, and Xnormal ftw. :)

Share this post


Link to post
Share on other sites

I stepped away from creating and just recently returned. I found your post very informative as well as the following comments. Kind of surprised more Kudos weren't offered.

Thanks much

My-Coffee.gif

Share this post


Link to post
Share on other sites


DQ Darwin wrote:

I stepped away from creating and just recently returned.

Welcome back! ^_^

Since you revitalized this old thread, I think I'll take the opportunity to update the info here.

One very important point that nobody was aware of back in 2013 is that normal maps can be rather unreliable in Second Life. With normal maps we fake 3d details with shadow effects. That works well in a tightly controlled game environment where the light setting never changes, not quite as well in a dynamic place like Second Life. That doesn't mean we shouldn't use normal maps here, just that we need to be a bit cautious. Three essential rules:

  • Don't use normal maps to add details, only to emphasize ones that exist in the mesh or the texture
  • Check the result with graphics set both to high and ultra (that is with shadows switched on and off) with at least the three default sunrise, noon and sunset windlights and preferably also with the object rotated at different angles.
  • Be prepared to do without the normal maps if/when they don't work.

Oh, and a fourth one:

  • Don't be afraid to experiment! Try mixing heritage bumpiness maps with modern specular maps and modern normal maps with heritage shininess. Try using regular textures or even sculpt maps as normal and/or specular maps and so on and so on. (If you want an example what can be achieved by (ab)using the new materials in ways the SL Gods never intended, look at the buckled glass windows of some of my medieval cottages ^_^ or - maybe even better - some of Doe Silverspar's wonderful shimmer dresses and gowns)

---

 

As for normal/specular map software, take a look at this:

Quite honestly, I can't imagine I'll ever use CrazyBump or some image editor plug-in again after that website turned up.

Share this post


Link to post
Share on other sites

ChinRey wrote:

Don't use normal maps to add details, only to emphasize ones that exist in the mesh or the texture

I can't agree with that rule.

Low graphics mean you don't get all the fancy stuff, in exchange for better performance. Adding all the detail in the geometry means lag. Adding all the detail in a texture can look bad on ultra settings, especially baked in specular details (and probably needs a larger texture, again creating lag). I'd say if a build looks acceptable on lower settings and great on higher settings, it's a success.

 

  • Thanks 1

Share this post


Link to post
Share on other sites

Thanks Chin and I believe the most imortant of the 4 points you made is #4 (Don't be afraid to experimenrt....). I appreciate the update :)

Thanks

Share this post


Link to post
Share on other sites

Kwakkelde Kwak wrote
I can't agree with that rule.

I'd say if a build looks acceptable on lower settings and great on higher settings, it's a success.

What do you mean with "higher settings"? The high or the ultra in the graphics prefs? A normal map that looks sharp and clear in high graphics settings will often be barely noticeable at all with ultra high graphics since it's drowned in the shadow effects.

Then there's windlight of course. Many people use much softer windlight than the default since skin manufacturers tend to recommend they do. And recently LL changed their viewer to revert to default dynamic windlight at every restart. That means that far more people now see things with the extremely harsh sunrise and sunset windlights. A softer "skin friendly" windlight will of course reduce the effect of normal maps significantly or even obscure it completely while the ultra hard ones included in the default day cycle do the opposite, exaggerating the effect of the normal maps.

But OK, rule #2 on my list does override rule #1. If your normal map looks good both with graphics prefs set to high and ultra and with a soft windlight and the default sunrise, noon and sunset windlights for both settings, it is good regardless of what that first rule said ;)

Share this post


Link to post
Share on other sites

ChinRey wrote:

What do you mean with "higher settings"? The high or the ultra in the graphics prefs? A normal map that looks sharp and clear in high graphics settings will often be barely noticeable at all with ultra high graphics since it's drowned in the shadow effects.

I think you misunderstood what I said.

By "lower" I mean anything without normal maps (up to "mid"), with "higher" I mean every setting showing normal maps.

So as an example, to show bricks, I'd use a very small diffuse texture on a flat plane, seperating the brick from the mortar. With the normal map not only would I emphasise the shape of the brick (mortar a bit lower/deeper), but also add some grain to the brick itself. So the overall shape is visible without normal maps, but the detail is in the normal map.

The same is the case for geometry, I'd build something resembling the shape in geometry, enough to make it more or less convincing, then use the normal map for extra detail such as tight corners.

A glass plane for a medieval build I'd make completely flat and uniformly transparent (apart from the edges maybe, but not to give the impression of relief), then in the normal map I'd add some bumpiness.

So all in all we might agree for the better part, depending on what you mean by "detail". I think you do need to suggest things in geometry and diffuse texture. But the normal map, I think, can be perfectly used for adding detail. Using a plain colour as diffuse map, then adding a normal map for showing the detail is not what I meant. Besides "texture" I often use baked in ambient occlusion in the diffuse map, but that won't show all the details of course.

Share this post


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

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.

Sign in to follow this  

×
×
  • Create New...