If someone could help me out with this I'd be eternally grateful. Thats right: grateful forever and ever.
I'm doing some normals for this model:
![modelys.jpg](http://img4.imageshack.us/img4/3833/modelys.jpg)
Uploaded with
ImageShack.us
However when I bake the normals on the poles at the bottom I have a problem. it looks good from the top.
![15655623.jpg](http://img692.imageshack.us/img692/7741/15655623.jpg)
But if I look from a lower angle its like this:
![39159039.jpg](http://img442.imageshack.us/img442/4697/39159039.jpg)
heres the low poly and the high side by side.
![17635962.jpg](http://img101.imageshack.us/img101/6681/17635962.jpg)
Anyone know what causes this? I'm using Maya by the way.
Replies
http://wiki.polycount.com/Normal%20Map#Solving_Wavy_Lines
Hope that helps
http://www.poopinmymouth.com/tutorial/normal_workflow_2.htm
Bare in mind that if you don't follow the silhouette of the high poly cylinder closer and are hoping for it to pop out, it is still going to look a little "off" at certain angles. Doing it "correctly" and removing the wavy lines will have it look correct straight on, but when you go back to your top example view, you will see a bit of the waviness at that angle instead.
Example (exaggerated):
SNADER, I just tried what you suggested. I re-baked with the extra line and it got rid of the waves, however the the normalled part itself looks less smooth at the edges, and there's a problem with the seams too.
As i said in that thread, Snader's method is a pretty bad idea generally. It can work with a small amount of very specific geometry types, but isn't something i would recommend doing.
Hayden, the absolute easist/most straight forward thing to do is simply use 8 or 12 sides instead of 6. 12 will probably be enough. The reason this happens is that the projection mesh is averaged around the caps of the cylinder, so when the raytracer "looks" at your highres, it is viewing it from an angle. At an angle the difference between the shape of the high and low is magnified, so you get these wavy lines.
It looks like you're using maya, so Piflik's method would not apply to you, as editing the cage(envelope) in maya only adjusts the ray distance not direction. In general it is much better to simply understand how your mesh normals will behave and adjust them accordingly using geometry, as everyone seems to have a hack or a tweak or a fix for stuff like this, however they become very slow and clunky when you start dealing with more complex geometry, and in some cases simply do not make any sense/work at all.
So, to fix your geometry you have basically two choices, you can increase the number of sides on your cylinder to make the difference between the high or the low less extreme, or you can cut in an edge loop or two to make your projection mesh's normals more accurate to the high. Either way what you need to do is simply have a more accurate mesh, i would probably add more sides as this will also improve the silhouette of your mesh and both methods will eat up the same amount of geometry. This likely will not cure your problem 100%, but it should leave you with an "acceptable" amount of wavyness, and that is fine because it is simply not worth your time to be anal retentive about eliminating wavyness entirely, as it can look worse perfectly straight in some cases.
have you tried my technique with flat shaded sides/every side it's own smoothing group (on the lowpolies). It should fix the seams. Though this (separate smoothing groups) brings some problems of itself I think it will give the best result in this specific instance.
It won't completely fix your problems, because what a normal map only does is change the lighting on a pixel/texel. It won't actually change the geometry. Having straight lines across (as in your last render) will be the most balanced outcome (between upwards and downwards waves) you can get. To get it to look a bit better/rounder you'll still have to add more sides.
The easiest in this case though, would be painting it in. This would get slightly less accurate results, but meh, it's a really plain object anyway. And again, more sides = more betterer.
@EarthQuake:
I agree with you, I hadn't thought about the effect the vertex normals would have. My solution needs all sides to have a flat base color, which of course isn't going to happen with a bake like this.
Though, how would you go about fixing this?
This method looks best from side angles, and looks more "low poly" as you view from a more oblique,top-down angle. This is somewhat alleviated by having more sides to your low poly model though. Please excuse the crappy UV map ; I spent no time fixing it to match the geometry. It still works though.
I tried it your way with just having the whole low poly using smoothed normals and it worked out the same.
You see how the waves look good when viewed from one point but horrid from the other? And how straight lines never look perfect? That's where you'll have to decide how to prioritize.
Edit:MoP, heh. Such a simple solution and it hadn't even crossed my mind once. That's what happens when you're stuck thinking in the box of 'lowpoly' and 'cages'. Thanks.
About the all-soft normals : Maya is pretty good at generating and displaying normal maps even over extreme 90 degree+ angles. A lot of game engines aren't quite so accurate, so hardening the edges and splitting the UVs is likely to get you a better result in a wider variety of game engines.
I usually make sure that the silhouette of the low poly matches the high poly as closely as possible, the rest can be filled in with the normals map. but a normals map is merely a effect, so it can never add to the silhouette itself.
Just be sure to know when you can use it and when you cannot, it's usually great and fast for cylinder wobble post-bake fixing.
In the case of a cylinder, which should end up with the base of the normalmap surface being completely flat, you only need one pixel row for the smudge to give you a proper result.
But as I said, you have to know when it works and when it don't, and how normalmaps work in general
one great tool in a huge toolbox.
Right, it will always have a wave per face, the effect comes from this:
For each face on your low, the edges are pretty close to the high, but the middle of the face is farther away, this is what causes the wavyness. However, if you use more sides, you should get less wavyness on each side as that "middle" of each face is close to the high than compared to using less sides. Like i said it wouldn't fix the problem entirely, however it should be better, within acceptable levels i would hope.