First off if this should be in a different sub forum let me know and I can recreate it over there.
Basic breakdown. If anybody wants to join me and follow along this basic timeline with me that would be awesome. I would love some peers
Learning Normal Mapping in 3 weeks – 3/30/12 to 4/22/12
Why:
I have read a bunch of stuff on the internet about normal maps, and have done a bunch of experimenting on my own but I need your help. I have questions and problems that I cannot find answers for by searching the net. I want to start this thread to learn the technical aspects of normal mapping, and I hope the great community of Polycount can help me.
Goals:
Learn normal map baking workflow
Learn high poly to low poly modeling techniques
Learn how to clean up normals in photoshop
Learn how to trouble shoot baking problems
Be more overally awesomer at normal map baking
Programs to be used:
Maya 2011
Photoshop
xNormal
Possibly zBrush
3 Week Plan:
Week 1 – Simple Shapes
- No low poly modeling, the normal maps will be tested on flat planes only
- Make sure basic work flow is correct
- Make sure normals are being baked and rendered correctly
Week 1 Objects
- Square out -done
- Half sphere in -done
- Cylinder out -done
- Screw and Bolt heads - done
- Simple bathroom style tiles - done
- Rounded cube to a 6 sided cube - done
Week 2 – Simple Objects
- Modeling low poly objects around high poly meshes
- Correctly matching silhouette of high poly with low poly
- Make sure to cut out unneeded geometry from low poly
Week 2 Objects
- Oil Barrel - done
- Mechanical Crate/Box - starting this weekend
- Heavy Door
Week 3 – Simple Objects
- Further develop workflow
- Further develop high/low poly techniques
- Further develop understanding of normal maps
Week 3 Objects
I feel like at the end of the three weeks I will be able to understand normal maps to the point I can move forward with my modeling. Again any help is appreciated and if any users go above and behind with helping me I would be more then happy to buy you a Steam game or amazon credit, or something to show my gratitude.
Replies
I have two questions at this point.
1) What is the best way to test render these normals? Should I use Maya? UDK? Another rendering program? I really have no idea how to check the quality of the normal map.
2) Is there anything I need to do in photoshop to sharpen or make the normal map more powerful?
Normals are a derived data type that requires the matching mesh. Most filtering or post work in photoshop will screw this up. Don't sharpen your normals.
Left is High Poly, the right is the normal map on a flat plane.
They look OK to me, do they look right? lol
Also I am not going to bother putting these in UDK but the later objects I think I will.
High Poly
Normal
Viewport 2.0 Render. High poly on left, normal map on right.
In your last image, the upper left bolt is sunk ENTIRELY into the plane. When you bake this into a normal map, you it will look alright from a straight-on view, but look much worse from an angle.
Something like the screws on the bottom will look better, because they do not protrude too far in or out from the surface you will bake onto.
That makes sense. I will keep that in mind for the future, but I think I am going to move onto the next object today. Thanks for the help.
I checked the website but didn't see any normal map videos, could you link me?
If you have 22 bucks to spend just buy a subscription to 3Dmotive for a month and watch as many of their videos as you can. I highly recommend it.
Anyways good luck on your 3 Week challenge. I really should be doing more exercise things like this from time to time.
http://www.3dmotive.com/training/3ds-max/baking-tips-and-tricks/?follow=true
It's done in 3ds Max, but the principles and ideas are all the same regardless of program.
Oh awesome, before I go drop cash on this right now, how long does it take to do? It says the whole thing is 45 min long, but will I be following along with him doing stuff on my own? or is it more of a lecture type thing to learn some techniques? The reason I ask is because I have to manage my time between this and school lol.
I highly recommend it.
http://cg.tutsplus.com/tutorials/autodesk-3d-studio-max/how-to-bake-a-flawless-normal-map-in-3ds-max/
I finished the bathroom tile setup. I made it simple just to make sure it is working correctly.
Highpoly
Normal
Render in VP 2.0. High on left, low with normal on right.
Does this look alright?
It kind of sucks watching people post all this awesome work, and I am stuck learning boring normal maps lol. Never the less, I am determined to learn!
So I got the rounded cube done.
I rendered in Maya using the hardware settings. Going left to right 1) Low poly with no normal 2) High poly 3) Low poly with normal 4) Low poly with normal smaller.
The normal map looks alright to me, I followed the tips in the 3Dmotive lesson with separating the faces and using edge padding. Am I doing it right? lol, any tips?
I rendered it out using a simple blinn shader but does anybody have any tips to potentially get better renders on your normal maps for testing them in Maya?
Thanks for the help.
Excuse my ignorance but could you show me or link me to something to explain what you mean? I know that the 3Dmotive mentioned it, but done fully understand it. I know you can take a face and offset it by 1 unit, but what does that accomplish?
Am I understanding this correctly?
Always use padding.
Here is the rounded cube with overlapping.
Left to right on render. Low poly w/ no normal, high poly, low poly with normal, smaller low poly with normal. Low poly is just simple 6 sided cube.
I also did a quick high poly barrel.
Its a tad short but it will work more my purposes.
Low Poly with wires. Its a tad over 600 tris because I tried following the silhouette of the object. It is probably to high for a game, but for practice and learning normals I think its fine.
This is the normal map. The bottom right of the map has the bottom of the barrel on it but its mostly flat so nothing really showed up.
High poly on left, low poly with normal on right. Does it look OK? you can kind of see some jaggedness to it but should I worry about it?
This is my only concern. I tried a couple different things but could not get the seam to go away. It doesn't really show up on the render so should I worry about it? Is there anything I can do to avoid something like that?
Any tips and feedback would be much appreciated.
You can either make the lowpoly a simple cylinder and use the details on the hipoly for the normal map or just leave the lowpoly with the details on it and have only small details on the normal map.
Your UV is pretty bad as well, the best way to map barrels is like this:
Hope that helps.
So as a test I just baked my normal onto a simple 20 sided cylinder.
It turned out pretty good with the exception of edge around the top, but I have a few questions.
1) Am I correct in assuming that the dark ring around the top is from the way my highpoly was modeled? If I were to go back and redo the top of it so there is less over lap it would probably turn out better.
2) I always read and learned about normal maps to follow the silhouette of the highpoly object. Would that not apply in this case because the rings in the barrel are not key to the silhouette?
3) Should I add some polygons to the top of my low poly to try to get the shape baked out better from my highpoly? Or should I go back and redo my highpoly with a more bake friendly top?
Thank you again guys, I am learning a lot.
http://www.polycount.com/forum/showthread.php?t=81154
In some cases you might just need to add the extra geometry
it seems like you have the process of making the normals down...now it's just a matter of fixing the errors...best way to learn i think is from knowing how to fix your mistakes gl
I am not sure I understand exactly what you are saying but I think I super disagree with you. Yes, a normal map will not change your silhouette. However, a normal map isn't a way to add surface details- It is a system for replacing lowpoly normals with highpoly normals. In fact, an 8 sided cylinder can be made to shade as smoothly as a 624 sided cylinder and in some cases (many in my experience) having some cylinder cap waviness can fake the contour of a higher tessellation object.
I think the only thing wrong with the OPs 600 tri lowpoly model is the triangle stripping on the top of the barrel.
Bardler:
If you want to do something lower triangle count like the revised barrel you posted you should revise the silhouette of the highpoly to match better.
i just watched racer445's binocular baking tutorial and became an expert.
You appear to have the raw basics down and understand how to get a bake to work. What i suggest now is throwing yourself into the deep end and trying to tackle a more complex shaped object. You (and everyone else) learn from their mistakes, if you arn't doing something difficult enough to cause alot of mistakes, then you won't be learning enough.
By doing something a little more complex you'll have to problem solve alot more and get yourself thinking about why certain things happen and what you could do to correct them. Don't pick anything crazily complex that'll just bog you down. But something with a variety of shapes to it.
haha
just a minor performance optimization thing
Ok thanks, I think i am going to redo the highpoly really quick, and create a better top so it bakes better onto a cylinder.
Well thanks for the help dude, really appreciate it -_- Its 3 weeks because I also have 6 classes at school, and I have been using Maya for less then a year. I am still learning UV mapping, surface topology, and low/high poly techniques. To be honest I am pretty happy with where I am at for how long I have spent using Maya.
Oh thanks, I will redo that on my new low poly. I don't really know much about low poly modeling either.
Like I said above its 3 weeks because I have 6 classes at school. If I did not have school I could get this done in less than a week. I also posted the objects I will be modeling in the OP, they will get more and more complex week after week. I see no point in trying to UV map and bake normal maps for a complex object before I understand the basics. I have been using Maya for less then a year, and all self taught, cut me some slack.
What exactly is Tri stripping? It just seems like you are making the tris more even? Or is just not good for a lot of tries to share the same vertex?
I did that method but from my testing that method only works if your cap is going to have hard normals instead of soft normals. If you set the normals on the caps to soft you get weird stripes along the sides from the two smallest triangles. It could be because I was using a 24 sided cylinder, but it might be ok if you use a 16 or less.
Ok so I reworked my highpoly. I think I got better results, and I tried a few different low polys to see what would happen.
Highpoly
Low polys with wires. I forgot to triangulate the last 2 before I made this, but its not important so whatever.
Render with normal maps applied. The high poly is on the left, and the barrels go in the same order as the picture above.
Personally I think the second to last one is the best looking one, or the 36 sided one if I don't want to follow the silhouette, but let me know what you guys think. Are the tris counts ok? Should I try for a 20 sided or 16 sided cylinder for a lower tris count? any feedback is appreciated.
I was thinking triangle count for your standard UDK level for modern PC and console games.
You mean in the render time? I would be surprised if this was true enough to make any actual difference. Where did you hear this?
I'd like some clarification on this too. In an ideal multithreaded context with every single polygon being handed out to a different GPU core the draw call completing with the last polygon is rasterised it'd take as long as the biggest polygon does to draw. However, I doubt polygons are "truly" multithreaded like this because if you disable depth testing and throw a batch at the GPU it comes out in order which it wouldn't if it was drawing polygons in parallel.