Jump to content
The Dark Mod Forums

List of Inverted Normal Maps


Serpentine

Recommended Posts

What about that issue with the uv-layout of the chair? It is a default TDM-asset, right? I am asking because you didn't add it to that list...

 

When playing Melan's new FM yesterday, I noticed that one of the bricktextures had a pretty messy normalmap, because it was probably generated automatically from a picturesource. So I went ahead and converted the texture into a heightmap, which I edited manually afterwards in photoshop and finally converted back to a normal map. The result is not perfect, but I am quite happy with it. Judge for yourself:

 

In case you're interested in the normalmap: Download here!

Thank you, I'll check this out and commit it to our SVN repository.:)

Link to comment
Share on other sites

Hm, the new version is definitely cleaner and is 1024x1024, but somehow I feel that the old one had more depth or emphasis. Have you tried combining these two? This is what I tried: resize the old one from 512x512 to 1024x1024 and "overlay" that one over your version in photoshop with some opacity of about 50%. Then flatten the image and normalise the image using nvidia's filter plug-in. What do you think?

Link to comment
Share on other sites

Well I am working with crazybump here and I am almost certain the original normalmap has been done that way too, since similar results can be achieved with that tool. I could create more depth by tweaking the levers for middle, large and very large detail, but as soon as you touch those you actually lose small details. Everything becomes rounder and noise-like details are completely eliminated, which is why I decided to go with small details only.

 

Also please make sure you've grabbed the most recent file. My post has been edited, because I tweaked the normalmap a little (didn't see you guys have already answered) to get even more details!! =) (Sharpen + peppernoise-reduction) The normalmap is 1024x1024 because I derived the heightmap from the sourcetexture, since I didn't want to start of with a crappy normalmap. I simply forgot to scale it down...

 

The problem with the old normalmap is, that the cement grooves stick out, while the stones do too. It looked pretty awkward in my opinion, so I corrected it. Combining both normalmaps would be a bit of a dirty hack, for that reason. Better use my heightmap and tweak the levers in crazybump until you like it. You can use the demo of crazybump a couple of days if you don't have that tool already.

Edited by STiFU
Link to comment
Share on other sites

No, I haven't got Crazybump here, don't think that I'll want to play around with that either.

 

Anyways, got the newer version now, I think this is fine as it is. Part of the problem is that the diffusemap has some shadows baked in, so the normalmap can only do so much. I'll just commit your version, I think, it's definitely better than the old one.

Link to comment
Share on other sites

I just found out the the very large details lever doesn't destroy small details, as long as sharpen is also active. I think you'll be quite happy with the result, as I am too! :) Looks a little dirtier again... It's still 1024x1024 though, so you might wanna scale it down! ;)

 

Only small details (before tweaking, just for the comparison):

sideaftersharpnr.th.jpgmiddleaftersharpnr.th.jpg

 

Very Large details:

sideaftersharpnrlarge.th.jpgmiddleaftersharpnrlarge.th.jpg

 

Downloadlink

Edited by STiFU
Link to comment
Share on other sites

If you're remaking normals - Crazybump is ok, but its not really suited to textures that TDM requires a lot of. I have found SSBump to be great for making normals however, its also far more configurable but takes 10-20 minutes to really learn, once you have the hang of it you can do some great work really quickly, all it lacks is a 3d render. Crazybump is great for spec maps and such tho - you really need to use the tools together to get the most out of it.

 

Textures like this where you are mixing large and small elements show up way better when you can define what large things are and what the medium size things are, you can adjust how much depth there is and what type of blends, the fine detail is also quite a lot more realistic. For other things like grass textures there is no comparison with the end results...

 

From left to right : default - minimal effort ssbump - average effort crazybump - average effort ssbump

defaultdv.th.jpgssbumpmin.th.jpgcrazymedium.th.jpgssbumpopt.th.jpg

 

I was unable to replicate a similar normal in crazybump, no matter what I did, short of inverting the whole normal, the mortar always stuck out and looked wrong. I've used CrazyBump for far more time than I have SS and I always feel that the results of the slider changes are pretty erratic and never 'what you expect', theres a certain misdirection between expectations and results for me.

 

Anyway, that was just a quick example - Tho I really do dislike that wall texture at least I now have a normal that makes it look a bit more interesting :)

Edited by Serpentine
Link to comment
Share on other sites

From left to right : default - minimal effort ssbump - average effort crazybump - average effort ssbump

Hmn that looks weird somehow. The normalmap looks partly inverted and partly correct, probably because the diffuse map is shaded. But in general I'd say, the mortar sticks out of the stone, but it should be the other way around.

 

I had a go at it with crazybump myself now and you're right, without proper preprocessing the results are crap. So I generated a heightmap again and converted it to a normal map. The result is shown here:

Before

redbrickbeforeu.th.jpg

After

redbrickafter.th.jpg

But this time, I was feeling a bit like experimenting, so instead of having crazybump do the dirty work (unsuccessfully), I created the heightmap myself. I used a highpass filter on the texture to receive a detailsignal. Then I used thresholding and different brushtypes on the signal to make it wider, which resulted in a pretty good reconstruction of the mortar contours. I substracted the contours and the original detail signal from a white plane and used lowpass filters to generate gradients. Finally added a tiny bit of noise and voilà the heightmap was done! :) The downside of this method is, that I had to make the heightmap tileable manually. Also, the stones look a bit too round in my oppinion...

 

Here's the link to the normal if you're interested...

 

Here is also one version with reduced depth. I actually like it better...

redbrickaftermatlab.th.jpg

 

Man, I forgot how much fun I can have with texturework. Need anything else fixed? ;)

Edited by STiFU
Link to comment
Share on other sites

Good work :)

 

Far too much effort for my liking, while I enjoy texture work and find it very relaxing - that is a bit too much like hard work! I think there is room for multiple normals for a small number of textures, your wall looks like it belongs on an external wall while mine looks like it is meant for some cheaply made housing or something, the sloppy mortar work sort of vanishes in yours.

 

Anyway, a good example of why people need to talk up about textures that need reworking, with different spec/normal or even diffuse work and why when looking at textures there is no right or wrong way to do things - no magic bullet tools either!

 

Done a few of the resizes, will get them up soon.

Not going to do the gui asset resizes as I dont know enough about them, if the area changes - will they allign correctly etc.

Link to comment
Share on other sites

Ok, got through most of the not-power-of-two dimention textures :

textures\darkmod\decals\dirt\ long_drip_pattern01

textures\darkmod\stone\flat\ smooth_ceramic_tile_tan02

textures\darkmod\stone\flat\ smooth_ceramic_tile_gold01

models\darkmod\props\textures\ bc_stair01

models\darkmod\props\textures\ bc_stair01_local *fixed the normal a little bit, still might be wrong but looks better in game*

They can be found here : fixed texture rar

 

The following textures do not seem to be referenced by any model or material shader, they were not changed - as they might need to be removed :

models\darkmod\props\textures\ table_medallion

models\darkmod\props\textures\ table_medallion_s

 

The gui assets have been left, I have no clue how to deal with them.

 

I did give them a test, no complaints in console and everything looked as it should.

Link to comment
Share on other sites

Before

redbrickbeforeu.th.jpg

After

redbrickafter.th.jpg

The second one is too exaggerated I guess, the reduced version you linked is better in my opinion too. Is the link you posted including the less pronounced one?

 

The only thing I'm concerned about is that the new normalmap (while better in quality) changes the character of the texture quite a bit, which might catch mappers on the wrong foot if they had been using that texture in their maps already. Changing the look might have an impact, so it could be better to create a new material out of it, and improve the other one such that it doesn't change the character too much.

 

Ok, got through most of the not-power-of-two dimention textures :

They can be found here : fixed texture rar

Thank you, I'll take care of these when I get a chance to.

Link to comment
Share on other sites

Do I understand correctly that SSBump can be used to make good normalmaps relatively easily and without too much hassle? I toyed around with making new normals for my textures in GIMP, and it was very time-consuming to do it semi-manually (with hand-drawn "masks" to create the main heights).

Come the time of peril, did the ground gape, and did the dead rest unquiet 'gainst us. Our bands of iron and hammers of stone prevailed not, and some did doubt the Builder's plan. But the seals held strong, and the few did triumph, and the doubters were lain into the foundations of the new sanctum. -- Collected letters of the Smith-in-Exile, Civitas Approved

Link to comment
Share on other sites

The second one is too exaggerated I guess, the reduced version you linked is better in my opinion too. Is the link you posted including the less pronounced one?

 

The only thing I'm concerned about is that the new normalmap (while better in quality) changes the character of the texture quite a bit, which might catch mappers on the wrong foot if they had been using that texture in their maps already. Changing the look might have an impact, so it could be better to create a new material out of it, and improve the other one such that it doesn't change the character too much.

Agreed there, it should be an alternate version, not replace the existing version.

Link to comment
Share on other sites

Yes, Melan. You should definitely use crazybump or ssbump for creating normalmaps. Crazybump is simpler to use and has a 3D preview of your normalmap, but it's not free. You can only use the demo for a couple of days. Of course you can also create a heightmap manually in gimp and generate a normalmap from that. I am almost sure there is a plugin for that somewhere, but you'll find lots of ways to convert a heightmap into a normalmap. For example, I wrote a function in Matlab yesterday for this purpose and the less pronounced normalmap I posted earlier was created with that. But as Serpentine said, it's much more effort to go this way.

 

Agreed there, it should be an alternate version, not replace the existing version.

Alright, one extended materialdefinition file with normalmap and probably also a wet version of the texture coming up...

Link to comment
Share on other sites

Do I understand correctly that SSBump can be used to make good normalmaps relatively easily and without too much hassle? I toyed around with making new normals for my textures in GIMP, and it was very time-consuming to do it semi-manually (with hand-drawn "masks" to create the main heights).

 

At the moment, you are using masks to identify the main heights, with ssbump generator you can use gaussian blur to identify the larger components and give them a specific height, from there you can layer on finer and finer details each having their own maximum depth.

 

An easier way to explain it is : You have a wall texture with large bricks with surface details like chips and fine detail specks and hairline cracks.

Using a large filter you will try to give the bricks a height, like 15

Using a medium filter you will try to seperate the more important surface details, giving height of 7

Using a fine filter you will try to get sharp edges and the surface 'texture', rough specks etc and give it a height of 2-3

Blending each of the layers together with overlay, you will get each layer adding to the detail for the first, giving you depth of about 20 something.

 

In pictures :

ssbex2.png

 

That isnt a great example, its using a 256x256 jpeg editor image, but whatever :)

 

It takes a bit of getting used to, but even the basic results are pretty good compared, once you learn to invert layers to cancel out some details and use less blending for details which you feel dont need to be expressed strongly, it also makes adjusting the strength of the normal quite easy, so that you dont get super dark shadows or anything like that and such you can do some pretty fancy stuff without manual editing.

Link to comment
Share on other sites

So here we go. I added red_brick_dull02 to the material file and I also created a specularmap for the wet version of this material. Downloadpackage here! Everything is already in place. You basically just have to extract it to the repository. Specularmap is half the size of the original texture, stored as dds with dxt1 compression. It was generated by multiplying the heightmap with the original texture, so that only the stones are actually shiny, and further tweaking has been done in crazybump and photoshop.

 

And a screenshot of the wet version, just to verify, you people are happy with it:

redbrickdull01afterwet.th.jpg

 

By the way, the diffuse doesn't tile properly. If you hook me up with the uncompressed sourcefile I can fix that as well. I could of course fix it on the dds I have, but I guess dxt1 in no lossless compression, so that wouldn't be so nice...

Edited by STiFU
Link to comment
Share on other sites

Ok, got through most of the not-power-of-two dimention textures :

textures\darkmod\decals\dirt\ long_drip_pattern01

textures\darkmod\stone\flat\ smooth_ceramic_tile_tan02

textures\darkmod\stone\flat\ smooth_ceramic_tile_gold01

models\darkmod\props\textures\ bc_stair01

models\darkmod\props\textures\ bc_stair01_local *fixed the normal a little bit, still might be wrong but looks better in game*

They can be found here : fixed texture rar

These are now committed to SVN, so they will be included in the next update.

 

The following textures do not seem to be referenced by any model or material shader, they were not changed - as they might need to be removed :

models\darkmod\props\textures\ table_medallion

models\darkmod\props\textures\ table_medallion_s

They are in fact used, they are referenced in tdm_models_furniture_tables.mtr.

 

Thanks so far, you two, Serpentine and STiFU, this type of community effort is appreciated indeed. :)

Link to comment
Share on other sites

Ahhhh, much better! The author of the original diffuse probably forgot to finish the vertical border, because he left a couple of bad cuts there while it tiled very well at the horizontal border. Here is the fixed version as dds and tga.

 

Hehe, thanks for the acknowledgement. :) But this is really no big deal. Not comparable to the amount of work I put in the texturepack I made for the team about a year ago!! But that work is being rewarded by every FM I see my textures in... =)

Edited by STiFU
Link to comment
Share on other sites

Just a quick question, is there an easy way to flip the normal map in a graphic program like gimp? Like open image, click "invert colors", then re-save? Or do you need to recreate the normalmap from scratch?

 

Don't know if someone already replied to this but on the normal map the hight is given from the blue component or channel so just invert the blue channel.

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.

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.


  • Recent Status Updates

    • nbohr1more

      Was checking out old translation packs and decided to fire up TDM 1.07. Rightful Property with sub-20 FPS areas yay! ( same areas run at 180FPS with cranked eye candy on 2.12 )
      · 2 replies
    • taffernicus

      i am so euphoric to see new FMs keep coming out and I am keen to try it out in my leisure time, then suddenly my PC is spouting a couple of S.M.A.R.T errors...
      tbf i cannot afford myself to miss my network emulator image file&progress, important ebooks, hyper-v checkpoint & hyper-v export and the precious thief & TDM gamesaves. Don't fall yourself into & lay your hands on crappy SSD
       
      · 5 replies
    • OrbWeaver

      Does anyone actually use the Normalise button in the Surface inspector? Even after looking at the code I'm not quite sure what it's for.
      · 7 replies
    • Ansome

      Turns out my 15th anniversary mission idea has already been done once or twice before! I've been beaten to the punch once again, but I suppose that's to be expected when there's over 170 FMs out there, eh? I'm not complaining though, I love learning new tricks and taking inspiration from past FMs. Best of luck on your own fan missions!
      · 4 replies
    • The Black Arrow

      I wanna play Doom 3, but fhDoom has much better features than dhewm3, yet fhDoom is old, outdated and probably not supported. Damn!
      Makes me think that TDM engine for Doom 3 itself would actually be perfect.
      · 6 replies
×
×
  • Create New...