Tips and Tricks for Bump and Reflection Mapping

Post » Fri May 13, 2011 5:53 am

Morrowind Bump and Reflection Mapping Tips and Tricks

This is not meant to be a tutorial for adding bump and reflection maps to models for Morrowind. If you are looking for a tutorial for this try searching the CS forum or perhaps google.

This is intended to be a repository for tips and tricks for using this method, and how to tweak the different aspects to get the results you are trying to achieve.

Required tools:
1) Nifskope
2) An Image editing program that has a DDS plugin with a normal map filter, or any other program that is capable of creating normal maps. Photoshop, The Gimp, Paintshop, Crazybump, or the like.

Suggested tools:
1) Sceneimmerse
2) MCP 1.7 and above

NOTE: Please forgive me for my lack of techinical knowledge. I will try to explain things as best I can. :)

Before we start I would like to give credit to Painkiller_Rider and Phijama who taught me some of these tricks, 2 or 3 years ago. :D



Filter Mode

First I will start out with "Bump Map Texture"> "TexFilterMode." This can be found in your "NiTexturingPropery"> "Block Details."
By default the filter mode is set to "FILTER_NEAREST_MIPNEAREST" which is apparently not a very good filter mode to use. Your normal map and reflection map will come out pixalated and just look bad in general

Instead the suggested filter mode would be "FILTER_TRILERP." Over all, this will give a better result.



Controlling reflection intensity and final appearance with the reflection map alone

Knowing how to create a reflection map and having a basic idea of how it might look on the object before applied can save you a lot of time tweaking.

Below are some examples of different reflection maps, how they look applied to a sphere, and rendered in sceneimmerse.

http://img.photobucket.com/albums/v217/AnOldFriend/Concepts/ReflectionMaps.jpg


Reflection maps like any other texture is applied and tiled accross your object based on the UV mapping. Hot spots on your reflection map (bright spots on the reflection map) will vary depending on your UV map, the model's geometry, and the normal map especially.

Below are some examples of the same reflection maps applied to the shpere but with a rather gritty normal map.

http://img.photobucket.com/albums/v217/AnOldFriend/Concepts/RefWithNM.jpg


As you can see the reflection maps look a bit different when applied over this rough normal map. The hot spots defined in the reflection map are less apparent and the reflection effect conforms more to the contours of the normal map.

Next up is adding colors to your reflection map to portray a different type of material; gold, silver, bronze, and so on.

The examples below may be a bit extraordinary but they are this way only to better illustrate the idea.

http://img.photobucket.com/albums/v217/AnOldFriend/Concepts/ReflectionMapsColors.jpg



Using black and shades of grey on normal maps to control reflective intensity

When you apply a solid black color over a particular area of your normal map it will exclude that area from the reflection map's effect. You can also use gradients to control the intesity.

Below are a couple examples showing the basic idea.

http://img.photobucket.com/albums/v217/AnOldFriend/Concepts/NM_Exclusion.jpg


This can be put to some clever uses. You can select certain areas of your object to have a shiny look while the area around it is matte. Or you can define areas that will have full reflective intensity while cracks and crevices are excluded and the reflection intensity has a controlled falloff towards these areas.



Controling reflection intensity in Nifskope

Aside from all that there is one other way that I am aware of to control the intensity of the reflection map. In Nifskope "NiTexturingProperty"> "Block Details"> "Bump Map Luma Scale" is set by default to 1.0000. Raising this number will make the reflective material more bright and lowering it will do the opposite.





I will try to update this with some better examples of ways to use these techniques, and possibly other similar techniques at some point. I just whipped this up real quick to help people who want to learn. :)

If anybody would like to add some information about gloss maps and some ways to use them, please do share.
User avatar
Jessica Nash
 
Posts: 3424
Joined: Tue Dec 19, 2006 10:18 pm

Post » Fri May 13, 2011 7:25 pm

Great tutorial :)

I'm hoping for a fully bump/reflection mapped MW at the end of 2010 ;)
User avatar
Svenja Hedrich
 
Posts: 3496
Joined: Mon Apr 23, 2007 3:18 pm

Post » Fri May 13, 2011 6:43 pm

I'm currently working on those techniques mentioned above. Nothing all that brilliant yet, although it is generally suggested you go hires.

I find that using airbrushing with a scattered application of colour on the reflection map really helps control the light intensity, without having to detail the bump map.

http://img19.imageshack.us/img19/6899/reflectionhigh.jpg for example, is what I'm currently using for buildings. That's also a comparatively high intensity reflection map.

Using gloss maps does work if you put the specular map you would have made otherwise in the blue channel of the normal map, and specify the source texture for the gloss map as the bump map. But it's got a funny green tinge to the specular highlights right now, so I'm trying to work out what might be causing it.

Also, note. You need to have a texture effect with the reflection map as the source, and a parent node for the whole system to work.
User avatar
Adrian Morales
 
Posts: 3474
Joined: Fri Aug 10, 2007 3:19 am

Post » Fri May 13, 2011 5:52 pm

Filter Mode

First I will start out with "Bump Map Texture"> "TexFilterMode." This can be found in your "NiTexturingPropery"> "Block Details."
By default the filter mode is set to "FILTER_NEAREST_MIPNEAREST" which is apparently not a very good filter mode to use. Your normal map and reflection map will come out pixalated and just look bad in general

Instead the suggested filter mode would be "FILTER_TRILERP." Over all, this will give a better result.
Little offtopic, but I'd like to notice that it is true for Glow Maps and Detail Maps as well. Many modders use default filter mode for them, which results to somewhat weird look.
User avatar
Jade Muggeridge
 
Posts: 3439
Joined: Mon Nov 20, 2006 6:51 pm

Post » Fri May 13, 2011 5:55 am

A little tip I learned from a texture artist:
While using sphere mapping (make sure your NIF isn't set to cubic or another form), if you take your environment map and paint 3 of the edges (left/right and top, IIRC) with a color, you'll get a fresnel-like effect using that color. This is useful for things like water and other liquids, pearlescent surfaces, and polished metal and stone. If you just want fresnel highlights, leave the middle black or very dark. You can make things that glow green around the edges with that technique.

When you apply a solid black color over a particular area of your normal map it will exclude that area from the reflection map's effect. You can also use gradients to control the intesity.

This can be put to some clever uses. You can select certain areas of your object to have a shiny look while the area around it is matte. Or you can define areas that will have full reflective intensity while cracks and crevices are excluded and the reflection intensity has a controlled falloff towards these areas.

I'm not sure why that works here, but I think it may be due to the length of the stored normal becoming negative.
Normal maps, assuming MW loads them as usual (and from the colors you're using, I think it may) are loaded and expanded with the formula ( ( n - 1 ) * 2 ). The rgb components become offsets for the xyz components of the normal. Depending on how your model is set up (you may need to view the surface normals to check), by nulling the Y or Z component, you can effectively turn of lighting. A negative Z (or in some engines Y) will reverse lighting to the opposite side of hte surface. Might take some playing with to make it work with Morrowind, though, but white, black and gray will usually have special properties, and any component set to one of those extremes (-1 at black, 0 at gray, and 1 at white) will behave unusually.
User avatar
James Smart
 
Posts: 3362
Joined: Sun Nov 04, 2007 7:49 pm

Post » Fri May 13, 2011 1:35 pm

Bump and reflect mapping work slightly different on different hardware; it affects mostly the transparency. Here some screenshots of the same meshes on my PC and my laptop. On PC I have Radeon X800 GT (yes, it's really old...), on laptop some Intel adapter; as far as I know, at least some nVidia videocards works with Morowind's bump and reflection exactly the same way as this Intel.

I used model of woden crate and modified texture to make hole in it: http://img695.imageshack.us/img695/3906/basetexture1.jpg
Then I created bump map and applied a shiny reflection to the crate. Here's the bump map: http://img697.imageshack.us/img697/5860/bumptexture1.jpg
With ATI card it worked normally: there was a shine crate with a hole in it. However, on Intel there was a plane shine surface instead a hole: http://img69.imageshack.us/img69/7409/crate2o.jpg

This could be fixed if fill normal map with black on transperent parts and add alpha channel to it.
http://img291.imageshack.us/img291/9403/bumptexture2.jpg
http://img534.imageshack.us/img534/8881/crate3.jpg

Next, if we've got a semi-transparent texture, Intel tends to kill the transparency. Here the texture I used: http://img704.imageshack.us/img704/7586/basetexture2.jpg
And here how it looks in game:
http://img202.imageshack.us/img202/8463/crates4.jpg
Really it seems not to completly disable the transparency, but to strongly reduce the opacity level.

And next one. On some ATI cards reflectiond does not work when mesh don't have a base texture (many Phijama's mods affected to this). Here the crate with disabled base texture, only with bump map and reflection effect:
http://img689.imageshack.us/img689/9089/crates5.jpg
User avatar
gandalf
 
Posts: 3400
Joined: Wed Feb 21, 2007 6:57 pm

Post » Fri May 13, 2011 1:17 pm

Just dropping in, to correct some misunderstandings. The bump-mapping in Morrowind is not normal mapping at all, but DirectX 7 EMBM (dUdV) mapping with a gloss control in the blue channel. Do not expect it to behave like normal maps that much.

Using gloss maps does work if you put the specular map you would have made otherwise in the blue channel of the normal map, and specify the source texture for the gloss map as the bump map. But it's got a funny green tinge to the specular highlights right now, so I'm trying to work out what might be causing it.

You don't need to specify a gloss map, the bump map should handle it by itself. If you remove the gloss entry it may remove the colour tinge.

Normal maps, assuming MW loads them as usual (and from the colors you're using, I think it may) are loaded and expanded with the formula ( ( n - 1 ) * 2 ). The rgb components become offsets for the xyz components of the normal. Depending on how your model is set up (you may need to view the surface normals to check), by nulling the Y or Z component, you can effectively turn of lighting. A negative Z (or in some engines Y) will reverse lighting to the opposite side of hte surface. Might take some playing with to make it work with Morrowind, though, but white, black and gray will usually have special properties, and any component set to one of those extremes (-1 at black, 0 at gray, and 1 at white) will behave unusually.

EMBM existed when normal expansion was a separate signed byte texture format, and it's only by a lucky series of coincidences normal maps give similar results. You can research it yourself, but there is a best case approximation to normal mapping that involves some simple pre-processing steps.

Bump and reflect mapping work slightly different on different hardware; it affects mostly the transparency. Here some screenshots of the same meshes on my PC and my laptop. On PC I have Radeon X800 GT (yes, it's really old...), on laptop some Intel adapter; as far as I know, at least some nVidia videocards works with Morowind's bump and reflection exactly the same way as this Intel.

Bump mapping wasn't completely specified with regards to alpha channels. Some drivers take alpha from the base texture, some from the bump map. You should put the alpha channel in both to be sure. If you're not alpha testing the texture, the transparent parts will still have a reflection map drawn on top, as the Z-buffer matches. You must set the bump map to black in those areas to turn off the reflection there.
User avatar
sam smith
 
Posts: 3386
Joined: Sun Aug 05, 2007 3:55 am

Post » Fri May 13, 2011 7:04 pm

So obviously bump mapping anything not supposed to be shiny won't work, but how about something intermediate like the skin of a reptile? Anyone experimented with bump mapping argonians?
User avatar
Darian Ennels
 
Posts: 3406
Joined: Mon Aug 20, 2007 2:00 pm

Post » Fri May 13, 2011 8:00 pm

So obviously bump mapping anything not supposed to be shiny won't work


It works, i've done rocks and tree bark for my ascadian isles mod, it looks bumpy but not shiny. i'm not sure i think it looks better in for example FO3.
User avatar
Genevieve
 
Posts: 3424
Joined: Sun Aug 13, 2006 4:22 pm

Post » Fri May 13, 2011 1:29 pm

So obviously bump mapping anything not supposed to be shiny won't work, but how about something intermediate like the skin of a reptile? Anyone experimented with bump mapping argonians?



I have some dragon races that I have been working on for a while to which I want to add such an effect (but had no real plans to do the Argonians). Although, I am just using a basic bump map (not a normal map), the effect should be the same :D. I thought about doing an Argonian replacer once I finalised these other races (using them as my experiments to get the effects just right), but one thing at a time (gotta be happy with the from scratch textures for the first race first ;) ). By having a from scratch texture, it is easier to develop a specific and detailed bump effect (whereas working from a texture that is made before the bump/normal can often lead to odd results without careful knowledge of what parts of the already made texture should actually be "bumpy" :D ).
User avatar
katsomaya Sanchez
 
Posts: 3368
Joined: Tue Jun 13, 2006 5:03 am

Post » Fri May 13, 2011 5:14 am

This is a great guild. Thanks for taking the time to write it.
User avatar
Austin Suggs
 
Posts: 3358
Joined: Sun Oct 07, 2007 5:35 pm

Post » Fri May 13, 2011 9:19 am

I have some dragon races that I have been working on for a while to which I want to add such an effect (but had no real plans to do the Argonians). Although, I am just using a basic bump map (not a normal map), the effect should be the same :D. I thought about doing an Argonian replacer once I finalised these other races (using them as my experiments to get the effects just right), but one thing at a time (gotta be happy with the from scratch textures for the first race first ;) ). By having a from scratch texture, it is easier to develop a specific and detailed bump effect (whereas working from a texture that is made before the bump/normal can often lead to odd results without careful knowledge of what parts of the already made texture should actually be "bumpy" :D ).

Okay I'll race you there!

I notice you don't do many (any?) argonian heads in your head packs. Then again few do.
User avatar
Lawrence Armijo
 
Posts: 3446
Joined: Thu Sep 27, 2007 7:12 pm

Post » Fri May 13, 2011 2:49 pm

Okay I'll race you there!

I notice you don't do many (any?) argonian heads in your head packs. Then again few do.



There are MANY Argonian heads in my MHP ;) (I even made them compatible with vanilla and/or Slof's body textures :D ).
User avatar
Sista Sila
 
Posts: 3381
Joined: Fri Mar 30, 2007 12:25 pm

Post » Fri May 13, 2011 7:06 pm

Gloss mapping works. Bahamut tipped me off to it with his Sontorian armour set, which has gloss mapping, that works as well. I'm not entirely sure what I was doing wrong, but after running a few questions by him, he managed to solve my problem, and I've also decided to stay solidly in Crazybump from now on when dealing with that.

http://img85.imageshack.us/img85/9404/steelcuirass4.jpg

http://img341.imageshack.us/img341/1569/reflectionblur4.jpg

Gloss maps work! :twirl:

Which means that we can bump map houses now, and bonemold without them looking like plastic!

Thanks Bahamut and Hrrnchamd!
User avatar
katie TWAVA
 
Posts: 3452
Joined: Tue Jul 04, 2006 3:32 am

Post » Fri May 13, 2011 11:15 am

So obviously bump mapping anything not supposed to be shiny won't work, but how about something intermediate like the skin of a reptile? Anyone experimented with bump mapping argonians?


Part of the reason I started this thread was to dispel this idea to some degree. By using different types of reflection maps, normal maps, diffuse, and other sorts of maps in collusion with MCP you can achieve different sorts of materials. I think Draigr's most recent example shows a better example if how to create a reflection map that isn't overly shiny.

Aside from that there is another method that produces practically no shine, yet still renders the hight information. The only downfall with that, at least before MCP and local lighting, it would produce a rather horrible glowing effect in dark areas. I haven't tried the method I am talking about here yet, which is why I haven't included it.


Gloss mapping works. Bahamut tipped me off to it with his Sontorian armour set, which has gloss mapping, that works as well. I'm not entirely sure what I was doing wrong, but after running a few questions by him, he managed to solve my problem, and I've also decided to stay solidly in Crazybump from now on when dealing with that.

This picture has a bump map, gloss map, and reflection map.

This is the reflection map.

Gloss maps work!

Which means that we can bump map houses now, and bonemold without them looking like plastic!

Thanks Bahamut and Hrrnchamd!


Looks and sounds interesting. I would be curious to see what you come up with for some architecture. :foodndrink:
User avatar
Veronica Martinez
 
Posts: 3498
Joined: Tue Jun 20, 2006 9:43 am

Post » Fri May 13, 2011 5:19 am

Looks and sounds interesting. I would be curious to see what you come up with for some architecture. :foodndrink:


I had a go at Balmora, thinking it would be easy. It was... The designers only used five/6 textures for the entire town... Like literally every building there has the exact same textures. The variation is the buildings. Which is ridiculously boring, since adding bump and spec maps means I have to open up every unique model, apply three separate textures to the six odd parts of the model, then ensure it's all working. And rinse and repeat.

Wow. When they say cheat, They really mean it. But then, you really don't notice it.

Anyways, here's some shots of what I've done so far.

http://img193.imageshack.us/img193/7440/mw38.png

http://img822.imageshack.us/f/mw40.png/

Note, I have a very bright reflection map to make sure I can see the changes, swapping out maps for a toned down effect isn't difficult.

http://img215.imageshack.us/img215/4576/mw42.png

The bump mapping is quite strongly affected by lighting, so I took those shots when the sun was about right. It's amazing how much rain you get when you don't want it...

I think I'll take a break and try Ald-Ruhn. At least you can get good sunset shots there.

While the specular (I know it isn't specular, but I find it easier to call it that) highlights are looking as good as Oblivion and Fallout - intentionally bright though, something tells me Ald-Ruhn was not meant to be normal mapped. http://img682.imageshack.us/img682/1323/aldruhn.jpg

With a bit more work on the reflection maps, the bump mapping is going quite well for buildings. The specular map makes life a lot easier then using just a normal map, both in controlling where the light hits and how bright it is. It also allows for tonal control of the overall texture.

Some more shots:

http://img401.imageshack.us/img401/6751/mw43.png

http://img710.imageshack.us/img710/1339/mw44.png

I am, however, encountering an annoying lighting issue. Namely the fact that shadows appear to be in a perpetually utterly black state. I've tried playing around with the lighting settings and using a few lighting mods to brighten things up, but it's not working.

http://img69.imageshack.us/img69/9962/mw45.png
User avatar
Emily Shackleton
 
Posts: 3535
Joined: Sun Feb 11, 2007 12:36 am

Post » Fri May 13, 2011 7:02 am

Okay I think http://img709.imageshack.us/img709/2048/bumpt.png http://img444.imageshack.us/img444/1285/bump3.png http://img697.imageshack.us/img697/8679/bump2.png is ready to be bumped. Suggestions?
User avatar
Lori Joe
 
Posts: 3539
Joined: Tue Jun 20, 2006 6:10 am

Post » Fri May 13, 2011 1:47 pm

Snip~


Looks good. :goodjob:

A lot of Bethesdas models are mapped terribly. If you want to get a good result you will just have to re-map them unfortunately.


Okay I think this old boy is ready to be bumped. Suggestions?


Make a normal and ref map. :whisper: :D It will probably look rather odd on top of an Argonian body (or any body for that matter) unless you fix the colors and add bump and ref to them aswell. :S
User avatar
Jeremy Kenney
 
Posts: 3293
Joined: Sun Aug 05, 2007 5:36 pm

Post » Fri May 13, 2011 2:39 pm

which resolution should be used for the bump map do you think, anyone done a comparison between the resolutions to see if it really matters much? Maybe 512x512 is good enough for a 1024x1024 texure?

I noticed that my ascadian isles mod is suddenly 70+MB(!) with the bump maps (which, for some reason, are often much larger than the actual textures).
User avatar
Dalia
 
Posts: 3488
Joined: Mon Oct 23, 2006 12:29 pm

Post » Fri May 13, 2011 7:02 am

Make a normal and ref map. :whisper: :D It will probably look rather odd on top of an Argonian body (or any body for that matter) unless you fix the colors and add bump and ref to them aswell. :S

Please, I've wasted too much of my studying time on this to now butcher it to match argonian textures, rather it'll have to be the other way round :laugh: I suppose blending them might be possible, you do see third-party argonian heads come in various colours.

I lost my layers, so I'll just filter the diffuse with that Nvidia dohicky. Any experience with it?

I don't think anyone gone into how to create the lightmap node, so I'll just have to steal someone else', it's just the texture which makes the difference yeah? Or will using say bahamut's nitexture effect give the object a metallic look, even with a different texture?

So if I want height without much shininess I should make the blue channel of the bump map really dark? Is that even possible? I had the impression that bump maps are entirely dependent on the glossiness to create the illusion.

Thanks
User avatar
Nicholas
 
Posts: 3454
Joined: Wed Jul 04, 2007 12:05 am

Post » Fri May 13, 2011 1:18 pm

which resolution should be used for the bump map do you think, anyone done a comparison between the resolutions to see if it really matters much? Maybe 512x512 is good enough for a 1024x1024 texure?

I noticed that my ascadian isles mod is suddenly 70+MB(!) with the bump maps (which, for some reason, are often much larger than the actual textures).

I don't have much experience with bump maps, but yes normal maps are usually half the size of the diffuse. Bethesda did that for fallout 3
User avatar
Nicole Mark
 
Posts: 3384
Joined: Wed Apr 25, 2007 7:33 pm

Post » Fri May 13, 2011 2:12 pm

Please, I've wasted too much of my studying time on this to now butcher it to match argonian textures, rather it'll have to be the other way round :laugh: I suppose blending them might be possible, you do see third-party argonian heads come in various colours.

I lost my layers, so I'll just filter the diffuse with that Nvidia dohicky. Any experience with it?

I don't think anyone gone into how to create the lightmap node, so I'll just have to steal someone else', it's just the texture which makes the difference yeah? Or will using say bahamut's nitexture effect give the object a metallic look, even with a different texture?

So if I want height without much shininess I should make the blue channel of the bump map really dark? Is that even possible? I had the impression that bump maps are entirely dependent on the glossiness to create the illusion.

Thanks


Losing layers svcks..... :brokencomputer:

http://saschahenrichs.blogspot.com/2008/10/normalmap-creation-with-photoshop-and.html

This is a good tutorial for creating normals with the nvidia plugin.

And CGtextures.com also has one that is really good. Cant direct link to it though. Just go to the site and select tutorials link at the top and scroll down till you find it. :)

Nitextureeffect node as far as I am aware is really limited as to what can be modified. Pretty much any texture effect from another model should work the same. Put simply, yes, the map is the key.

Putting black in the blue channel of the normal will probably just make the texture appear flat. Not so sure though, I havent messed around with gloss in the nnormals blue channel or gloss maps in general. There are quite a few ways to control intensity. Read the OP and or have a look at draigrs posts.
User avatar
Bonnie Clyde
 
Posts: 3409
Joined: Thu Jun 22, 2006 10:02 pm

Post » Fri May 13, 2011 3:28 pm

Sorry for my ingorance An Old Friend (love your latest Vivec mod BTW) but would this techniques apply only to DDS or could they be used in other textures in games like System Shock 2 for example...I drool at the thought of bump mapped The Many or Relecting Killer Robots
User avatar
Dj Matty P
 
Posts: 3398
Joined: Sat Jun 09, 2007 12:31 am

Post » Fri May 13, 2011 2:28 pm

Sorry for my ingorance An Old Friend (love your latest Vivec mod BTW) but would this techniques apply only to DDS or could they be used in other textures in games like System Shock 2 for example...I drool at the thought of bump mapped The Many or Relecting Killer Robots



I was just thinking about SS2 a moment ago :) i wonder how hard it is to make new models for it.. i dowlonaded Rebirth and the models are in .bin and .cal format, no idea what kind of format that is.

But no, i dont think SS2 can have bump mapping, that engine is before that happened. Even the textures can't be bigger than 256x256 i believe.
User avatar
W E I R D
 
Posts: 3496
Joined: Tue Mar 20, 2007 10:08 am

Post » Fri May 13, 2011 4:58 pm

http://img155.imageshack.us/img155/1362/nobump.png
http://img248.imageshack.us/img248/6152/mgescreenshot1.png

Still a little too glossy. Do you have to go in-game to check every little change? I don't know which texture to tweak- darkening the blue channel quells this but the bump goes with it. I'm fairly certain the glossiness is necessary for the height. Something more desirable might be able to be reached for a scaly surface, but I doubt it will ever work for something like human skin. Light maps seem pretty easy on the other hand, since it's faking the "reflection" you're supposed to see in a surface, a desaturated macro of the surface you're trying to achieve should do. For example the eye reflection used for a gloss mapped eye worked really well, but the clouds and skies commonly used for light maps will look ridiculous indoors imho.

Draigr I just saw you aldruhn shot. I think that looks great actually, much better than balmora if you'll forgive the UV mapping. How did you reach that effect? I'd like to achieve a similar level of shine.


Thanks

Oo nice tutorial by the way old friend.
User avatar
Vera Maslar
 
Posts: 3468
Joined: Wed Sep 27, 2006 2:32 pm

Next

Return to III - Morrowind