Erm, the problem is less your material and more your geo. I cant believe you didn't use a high poly model for this? Just because its a simple hex shape doesnt mean it wont need a nice high poly. Sort that out and it will look 10x better.
Don't run your diffuse through crazybump - the color change obviously shouldn't change the normal info, but Crazybump doesn't know that. it isn't a magic "make good normals" button. It's fucking awesome, but if you feed it garbage it's going to give you garbage.
Your unwrap looks pretty weak.
Have you used metalbump before? it sucks as a shader, but if you haven't used any DX shaders before, make sure you're rendering the viewport with D3D?
Anyway, as others have mentioned, a highpoly could be useful here, and if you're absolutely certain that would take you too long, then (obviously, practice highpoly modeling more, firstly ) at least learn to understand what Ghostscape said, and put some work into your heightmap.
First off, you need to understand that the nvidia filter and Crazybump look at the texture you want to convert as if it were greyscale (as far as I know), so you might as well convert it to greyscale before you make a normalmap out of it, so you can see what that looks like. Likely there won't be any big surpises, but now you have a greyscale heightmap to work with.
The way I'd do it is to have three groups in Photoshop, one called ~Normal~, one called ~Diffuse, and one called ~Specular (the tildes are for a script, and therefor not really important now, but check out Vtools: http://home.insightbb.com/~jamestaylor/), and just have each texture in those. Then I'd use the greyscaled diffuse as a base for the heightmap, and you can start selectively making things darker and lighter untill it looks right (in this case, black would be a recess, such as scratches, white would be something that sticks out, like rivets, and mid-grey would be neutral). Make sure that scratches are darker, and that -for instance- the grout between bricks doesn't end up looking like it sticks out an inch further than the bricks themselves. This is something that you regularly see, because the bricks'll likely be darker than the grout on the texture.
That's all assuming you're not starting from a highpoly, but even then you'd probably be adding scratches the way I just explained.
The reason I'd (well, we) suggest you start from a highpoly is because there are some subtle details you're missing that are hard to just paint in, much harder than just modelling it quickly. Here's a picture that shows the subtle detail I'm talking about:
Thanks to halflife, there are now more 3d crowbars on google image search than actual photographs. Thanks, Gordon.
Anyway, see how on every edge there's a slight bevel? And how those edges taper down towards the unpainted metal bit and gradually become sharp edges?? You'll never get that right without baking out a normalmap from geometry. The noisy texture , however, is piss easy to do with the nvidia filter.
Spec is really weak. Remember, this is metal, and yet 90% of your specular is too dark to make a dent?
That high contrast bright scratchy stuff is good, sure, but you need a solid base of shininess under it too. Think in layers. Base specular, maybe a mid-darkish grey, with some wear and tear on it, and then the really bright stuff over that, instead of just this high contrast randomness.
What engine/specs is this for? If its present gen you could increase the polys, especially on the curved areas. It would be good if you can post the reference image.
I would just like to say that sometimes the Direct X realtime display thing sometimes will not work, and sort of has a mind of its own, I notice that if it doesnt display sometimes, it will be because my specular is too high....so try lowering that and see if it works.
Also, your low poly could benefit from a few more polygons I'd say. I mean if this is going to be a fps type of weapon like Half Life then you go as high a few thousand triangles I'd say. You probably wouldn't need that much more, but just something to keep in mind. Round the shit outta that baby, just look at the weapons in TF2, they did a great job at really making it hard to notice the polygons in their weapon models
edit...oops look like u beat me to it, already rounded it out a little
Why not try desaturating the color map and start overlaying white and black over with a grunge brush as a start and see how it looks. Spend a little more time on it and it'll come out nicer.
Err, are you sure you made a highpoly? It's only, that normalmap doesn't look like it. Can we see it, so we can better help you?
edit: also, the light backgrounds aren't helping with showing off your work very well? If you're still having trouble with displaying your stuff, I suggest trying out Xnormal, and previewing your work in there. It's great!
it looks like whatever you did in crazybump, you had the shape recognition set wayyyyy too high, and its totally screwing up your normals. Try turning that off entirely. Also post your highres.
also if you did make a highpoly, a bit problem could be that you're seperating each side as its own smoothing group, basicly rendering the normals from the high totally useless.
I'm confused as to why he was told to make a high poly for his crowbar? Is that REALLY needed? From what I can see, it didn't improve upon the normal map he had created before. If anything, his reworked spec map has made it look better but does a "next gen" crowbar REALLY need to be higher poly? Why can't low poly models from past gen, still be low poly for next gen. I just don't see why you would want to add more polys onto something so small, when you could add them elsewhere. Not everything you model needs a high poly. Sometimes I get better normal maps just from the PS Nvidia plugin.
Cyph3r, you made your crowbar better than I made mine so.. it's all good.
It's a simple prop, so I'm not going to say much...BUT...
From your first normal map image, it shows that you are still taking parts of your diffuse, and allowing them to affect the normal map in ways they shouldn't.
The scratches on the corners of the object, in the color image, are a lighter color than the surrounding material. When you use this image to create your normal map, it's telling whatever program you use, to take these lighter areas, and create a raised bump, where a scratch is suppose to be digging into the object. This is why Pea explained, scratches need to be dark when creating normals.
I don't know if you followed this for the second normal map, I can't tell, and it doesn't read well on the object with your lighting. I don't think a prop this small needs as much attention into the spec and normal as you're putting into it. I just think it's important that you understand this for all your projects. It something that should have been learned from your Oil Drum. Keep improving.
gobee: I think you misunderstand what is meant by 'highpoly'. It doesn't mean to give your lowpoly ingame object more polygons, it means using a highly detailed, meshsmoothed/turbosmoothed/subdivided (whichever term sounds familiar to you) model to bake the normals from. It doesn't increase the ingame polycount, it only makes the normal-map so much more believable, while not costing a lot of effort. Certainly not in this case... A few bevels on a copy of the lowpoly, and he'd be finished.
That in turn also gives you a good base for your other maps, in giving you a more believable Ambient Occlusion etc...
I'm gonna say; do the spec map by hand. Never had too nice a result from crazybump unless it was for concrete or the like.
All you need to do is paint scratches on a seperate layer for your diff, put them in your spec (think you did this earlier) and boost them up (its shinier, livelier metal being exposed.)
A nice contrast would be have the painted part a little thicker in paint (maybe exagerate this, sometimes things need to be exagerated for games, I find.) and have that quite high spec so it has a nice contrast between the paint, and dulled metal.
MightyPea- No I understood what you guys were talking about, I guess I kinda went off course and was talking about two different things at the same time. Either way though, making a high poly in order to generate a normal map from ZBrush/MudBox.. and also just adding more polys in general to an object.. I just don't see it being necessary with this crow bar deal. Just my two cents. I am unaware of what is TOO high poly and TOO low poly for an in game prop/object so.. that's where my confusion comes in. Being that his texture size is so small as well, will the normal map created from MudBox look better than the one generated from PS? Maybe if it was a 1K or 2K texture size yea, but it's going to be so blurry anyway right?
he's probably not gonna use mudbox/zbrush for something like this. just a highpoly in 3dmax would be fine. Even though he's not gonna sculpt stuff on, a simple highpoly crowbar will help, especially in the edge areas. And then he can just overlay some finer details ontop in PS. He can even use the highpoly to bake out an AO, so I agree with making a highpoly for this, will be great for learning
MightyPea- No I understood what you guys were talking about, I guess I kinda went off course and was talking about two different things at the same time. Either way though, making a high poly in order to generate a normal map from ZBrush/MudBox.. and also just adding more polys in general to an object.. I just don't see it being necessary with this crow bar deal. Just my two cents. I am unaware of what is TOO high poly and TOO low poly for an in game prop/object so.. that's where my confusion comes in. Being that his texture size is so small as well, will the normal map created from MudBox look better than the one generated from PS? Maybe if it was a 1K or 2K texture size yea, but it's going to be so blurry anyway right?
Something i think gets too easily misunderstood here is this:
The point of modeling a highres to bake out your normals isnt so you can go in and sculpt little rust stains in mudbox, infact that sort of fine detail stuff is generally pretty counter productive to do in a sculpting app, you can do it easier and with more control in photoshop for something like this. The REAL point of creativing a highpoly mesh is to get a quality sub-d source model so you can actually mimick the look of a high-resolution mesh. And by that i mean you want the SHAPE and smoothness of the model to be baked down from a highres, getting rid of the very nasty smoothing groups that make it look like any crappy lowpoly mesh, and make it actually look like a highpoly model. That should always be the goal. Make it look like a high poly model where you cannot easily tell where the lowpoly geometry is. This *does not* mean spending 2 days making a sub-d model and sculpting out useless detail you will never see, this is simplly a matter of spending a very short amount of time on a proper sub-d mesh to bake down the surface normals, and get rid of that ugly low-poly-smoothing-group look.
If you're going to uniquely unwrap the mesh in the first place, there is absolutely no excuse not to have a simple, but good highres mesh to bake normals from. If you're using tiling textures then fine, dont bother creating a highres. But the time it takes to create a nice little highres for an object like this is VERY short, and will make it look twice as good when applied correctly.
Normal maps arent simply for faking geometry that isnt there, but improving the overall quality on even the simplist of meshes like this one here.
Resolution doesn't really factor in here, there isn't some magical resolution where normal maps suddenly turn useless, yeah maybe if this was a 32x8 texture you could make an argument there, but the actual low and medium frequency details projected from a sub-d mesh will hold up excellently, even in quite low resolution.
So in summery, a normal map isn't just small scale surface noise detail, but more importantly its good low/medium frequency detail maked from an accurate highpoly mesh. And the trick to making quality assets its generally focusing on those low/mid levels and not so much the high, or at the very least making sure those low/mid levels are great before getting into any detail work. This doesnt just apply here by any means, these are more general statements about current-gen workflows.
Replies
I don't think i've ever seen 512 x 128 before :P
The texturing is nice though, maybe add some blood on the end.
But thanks =]
guestimated texutre usage is like 500x72 px - so just strecht it to 64px and look how it goes?
for max - just use the normal map shader from ben cloward instead?
http://www.bencloward.com/shaders_NormalMapSpecular3lights.shtml
Your unwrap looks pretty weak.
Have you used metalbump before? it sucks as a shader, but if you haven't used any DX shaders before, make sure you're rendering the viewport with D3D?
Anyway, as others have mentioned, a highpoly could be useful here, and if you're absolutely certain that would take you too long, then (obviously, practice highpoly modeling more, firstly ) at least learn to understand what Ghostscape said, and put some work into your heightmap.
First off, you need to understand that the nvidia filter and Crazybump look at the texture you want to convert as if it were greyscale (as far as I know), so you might as well convert it to greyscale before you make a normalmap out of it, so you can see what that looks like. Likely there won't be any big surpises, but now you have a greyscale heightmap to work with.
The way I'd do it is to have three groups in Photoshop, one called ~Normal~, one called ~Diffuse, and one called ~Specular (the tildes are for a script, and therefor not really important now, but check out Vtools: http://home.insightbb.com/~jamestaylor/), and just have each texture in those. Then I'd use the greyscaled diffuse as a base for the heightmap, and you can start selectively making things darker and lighter untill it looks right (in this case, black would be a recess, such as scratches, white would be something that sticks out, like rivets, and mid-grey would be neutral). Make sure that scratches are darker, and that -for instance- the grout between bricks doesn't end up looking like it sticks out an inch further than the bricks themselves. This is something that you regularly see, because the bricks'll likely be darker than the grout on the texture.
That's all assuming you're not starting from a highpoly, but even then you'd probably be adding scratches the way I just explained.
The reason I'd (well, we) suggest you start from a highpoly is because there are some subtle details you're missing that are hard to just paint in, much harder than just modelling it quickly. Here's a picture that shows the subtle detail I'm talking about:
Thanks to halflife, there are now more 3d crowbars on google image search than actual photographs. Thanks, Gordon.
Anyway, see how on every edge there's a slight bevel? And how those edges taper down towards the unpainted metal bit and gradually become sharp edges?? You'll never get that right without baking out a normalmap from geometry. The noisy texture , however, is piss easy to do with the nvidia filter.
I would say definitely make a highres for this, its very simple and would be good practice.
That high contrast bright scratchy stuff is good, sure, but you need a solid base of shininess under it too. Think in layers. Base specular, maybe a mid-darkish grey, with some wear and tear on it, and then the really bright stuff over that, instead of just this high contrast randomness.
Havent started on a high poly yet, but i will do, here is a small update though
Also, your low poly could benefit from a few more polygons I'd say. I mean if this is going to be a fps type of weapon like Half Life then you go as high a few thousand triangles I'd say. You probably wouldn't need that much more, but just something to keep in mind. Round the shit outta that baby, just look at the weapons in TF2, they did a great job at really making it hard to notice the polygons in their weapon models
edit...oops look like u beat me to it, already rounded it out a little
What do you guys think now? Better?
Why not try desaturating the color map and start overlaying white and black over with a grunge brush as a start and see how it looks. Spend a little more time on it and it'll come out nicer.
Looks better with the updated spec anyway.
for the lolz? and thanks =]
edit: also, the light backgrounds aren't helping with showing off your work very well? If you're still having trouble with displaying your stuff, I suggest trying out Xnormal, and previewing your work in there. It's great!
also if you did make a highpoly, a bit problem could be that you're seperating each side as its own smoothing group, basicly rendering the normals from the high totally useless.
Cyph3r, you made your crowbar better than I made mine so.. it's all good.
From your first normal map image, it shows that you are still taking parts of your diffuse, and allowing them to affect the normal map in ways they shouldn't.
The scratches on the corners of the object, in the color image, are a lighter color than the surrounding material. When you use this image to create your normal map, it's telling whatever program you use, to take these lighter areas, and create a raised bump, where a scratch is suppose to be digging into the object. This is why Pea explained, scratches need to be dark when creating normals.
I don't know if you followed this for the second normal map, I can't tell, and it doesn't read well on the object with your lighting. I don't think a prop this small needs as much attention into the spec and normal as you're putting into it. I just think it's important that you understand this for all your projects. It something that should have been learned from your Oil Drum. Keep improving.
That in turn also gives you a good base for your other maps, in giving you a more believable Ambient Occlusion etc...
All you need to do is paint scratches on a seperate layer for your diff, put them in your spec (think you did this earlier) and boost them up (its shinier, livelier metal being exposed.)
A nice contrast would be have the painted part a little thicker in paint (maybe exagerate this, sometimes things need to be exagerated for games, I find.) and have that quite high spec so it has a nice contrast between the paint, and dulled metal.
Something i think gets too easily misunderstood here is this:
The point of modeling a highres to bake out your normals isnt so you can go in and sculpt little rust stains in mudbox, infact that sort of fine detail stuff is generally pretty counter productive to do in a sculpting app, you can do it easier and with more control in photoshop for something like this. The REAL point of creativing a highpoly mesh is to get a quality sub-d source model so you can actually mimick the look of a high-resolution mesh. And by that i mean you want the SHAPE and smoothness of the model to be baked down from a highres, getting rid of the very nasty smoothing groups that make it look like any crappy lowpoly mesh, and make it actually look like a highpoly model. That should always be the goal. Make it look like a high poly model where you cannot easily tell where the lowpoly geometry is. This *does not* mean spending 2 days making a sub-d model and sculpting out useless detail you will never see, this is simplly a matter of spending a very short amount of time on a proper sub-d mesh to bake down the surface normals, and get rid of that ugly low-poly-smoothing-group look.
If you're going to uniquely unwrap the mesh in the first place, there is absolutely no excuse not to have a simple, but good highres mesh to bake normals from. If you're using tiling textures then fine, dont bother creating a highres. But the time it takes to create a nice little highres for an object like this is VERY short, and will make it look twice as good when applied correctly.
Normal maps arent simply for faking geometry that isnt there, but improving the overall quality on even the simplist of meshes like this one here.
Resolution doesn't really factor in here, there isn't some magical resolution where normal maps suddenly turn useless, yeah maybe if this was a 32x8 texture you could make an argument there, but the actual low and medium frequency details projected from a sub-d mesh will hold up excellently, even in quite low resolution.
So in summery, a normal map isn't just small scale surface noise detail, but more importantly its good low/medium frequency detail maked from an accurate highpoly mesh. And the trick to making quality assets its generally focusing on those low/mid levels and not so much the high, or at the very least making sure those low/mid levels are great before getting into any detail work. This doesnt just apply here by any means, these are more general statements about current-gen workflows.