Home Technical Talk

Baking Issue (Again)

polycounter lvl 13
Offline / Send Message
Wesley polycounter lvl 13
Okay, so here's my second n00b thread regarding baking normal maps using RTT.

normalMapPoblem02.jpg

The version on the left is just a regular plane that has been used to bake some detail off my high-poly. The one on the right is a bake from my actual low-poly.

They both use the exact same settings and for the "real" low-poly I've used the Reset XForm and re-UVed (even used automatic unwrapping) which still gives me the same result.

I'm totally lost as to what to try next.

Replies

  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    This is probably the result of your cage setup. Essentially that detail is projecting from a skewed perspective. Post images of your cage setup in that area.
    Quick illustration:

    skew.gif
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    Hey, cheers for the help. I don't think that's the problem because everything is pretty much flat. But here's the a file with the selection that I took the original image with.

    http://dl.dropbox.com/u/21050664/district9Weapon/district9WeaponHelp.max

    I have this sort of problem over a lot of my model.

    Thanks again.
  • MeintevdS
    Options
    Offline / Send Message
    MeintevdS keyframe
    Similar to what AlecMoody said, but could it be that your low poly and high poly aren't properly aligned? Like this:
    (uses the same colors as AlecMoody's)
    wesley_001.jpg

    I tried checking your model, but you seem to have a newer version of Max.
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    I don't think it's that... notice the think part though...

    Here's a 2010 version.

    http://dl.dropbox.com/u/21050664/district9Weapon/district9WeaponHelp2010.max
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    You didn't include a projection modifier in your max file
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    It worked for me, I set smoothing group to Auto 45, and use Raycast distance instead of cage, and it baked out perfectly.

    Max 2012. Maybe you can show us what you're doing exactly with your Cage?

    Please note my bake was extremely flimsy, not sure if it represents your high poly correctly, especially around the ends, since they're bending, but this is what I got with above method: lowpolynormalsmap.jpg
  • EarthQuake
    Options
    Offline / Send Message
    Basic ray projection issue, well not so much an issue with any sort of software, but your mesh itself.

    http://www.polycount.com/forum/showthread.php?t=81154

    What I generally do with this stuff, is just cut in one vert right in the middle of the offending floater/detail, this generally softens up the normals enough there to get an accurate bake. Dont bother tweaking the cage by hand or anything, that is just a waste of your time.
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    I didn't include the projection because simply adding the projection modifier, using the high-poly object and resetting the cage and using the push a small amount (then baking it out) gives me incorrect normals.

    Just trying that method Ace-Angel I get a great bake as well... but for other parts of the model I do need to use the cage though.
  • EarthQuake
    Options
    Offline / Send Message
    Ace-Angel wrote: »
    It worked for me, I set smoothing group to Auto 45, and use Raycast distance instead of cage, and it baked out perfectly.

    Terrible Terrible Awful Awful Awful fucking idea. Jeez, why do people still do this?
  • Ace-Angel
    Options
    Offline / Send Message
    Ace-Angel polycounter lvl 12
    Like I said, it might not be what you want, but unless it's a hero piece...
  • EarthQuake
    Options
    Offline / Send Message
    Why use a method you know will fix one issue but introduce 2 or 3 more, even worse issues?

    Why do it, when the extremely easy solutions have been spelled out for you?

    Why continue to give people advice that its a viable option, when you know the negatives, but yet fail to present the negatives when giving the advice?

    Like i said, just terrible idea all around, regardless if its a hero asset or not.


    People really need to get over the mindset that you complete your lowpoly, and then do your bake, and if your model sucks + you get bad bake, you hack it together later.... Its all a fluid process, your model affects your bake, if you're getting a bad bake, its likely because something is wrong with your model.

    Sure, I get the idea that if its going to take 5x the polycount to fix the problem, its not worth it. Here, it would take 2 or 4 extra triangles, and a little bit of understanding(hey, which is freely available here).

    Not being a hero asset is never and should never be an excuse to use shit workflows or develop bad habits.

    PS: Wesley, this response is mainly meant for Ace, as he's on polycount enough(judging by his join date and post count) to know better. For you, really, just cut in an extra vertex or two and your problem will go away.
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    Hey guys! Thanks for all the help. Although just using raycast-distance worked like a charm I'm going to try and work out why exactly my low-poly doesn't bake all that well.

    After about half an hour fiddling with the high-poly I finally realised you mean the low-poly. I had no idea that the topology could affect the baking to that extent (well... not when it comes to flat surfaces). I'll have a deeper look in that thread and try to understand it better.

    Any other links or advice you could give (especially as to where these verts should be cut based on the high-poly) would be great. I find it a bit confusing, after all it's just two tris covering most of the detail.

    After looking at the straight up raycast bake I've realised how much the rest of the bake is kinda shitty.
  • AlecMoody
    Options
    Offline / Send Message
    AlecMoody ngon master
    yeah so like eq said- don't use offset. You are going to break all your rounded corners.

    In some situations you can do multiple bakes and mask between them in photoshop (flat areas like this make it easy). Or just add some support like EQ mentioned.
  • EarthQuake
    Options
    Offline / Send Message
    Wesley wrote: »
    Hey guys! Thanks for all the help. Although just using raycast-distance worked like a charm I'm going to try and work out why exactly my low-poly doesn't bake all that well.

    After about half an hour fiddling with the high-poly I finally realised you mean the low-poly. I had no idea that the topology could affect the baking to that extent (well... not when it comes to flat surfaces). I'll have a deeper look in that thread and try to understand it better.

    Yeah that waviness thread explains in great detail how your lowpoly mesh normals/topology affect your bake. Feel free to post in that thread if there is anything you're confused about after reading it.

    Any other links or advice you could give (especially as to where these verts should be cut based on the high-poly) would be great. I find it a bit confusing, after all it's just two tris covering most of the detail.

    Post a screenshot of your mesh with normal map applied + wires, and i'll do a quick paintover.

    Or post an obj of the high and low and I can show you what I mean, I only have Max 2009 here so your files don't load for me.
    After looking at the straight up raycast bake I've realised how much the rest of the bake is kinda shitty.

    Yeah, doing that introduces some really bad problems.
    AlecMoody wrote: »
    In some situations you can do multiple bakes and mask between them in photoshop (flat areas like this make it easy).

    I used to do this and I would very highly recommend everyone to not do this. I've outlined my reasons in that waviness thread there as well, but really, unless you need a ridiculously low tricount, adding the 10% more geometry to fix your ray cast issues is always going to be a better solution. Plus, learning how your geometry affects your bake and where and how to fix it with geometry is very good skill/knowledge to have.
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    Hey here's a screenshot of the area that was included in the files.

    normalMapPoblem04.JPG

    Also here's the actual objs that was in the files.

    http://dl.dropbox.com/u/21050664/district9Weapon/district9WeaponProblem.obj

    (I've obviously removed the TurboSmooth.)

    I'll have a good thorough read of that thread. I agree that learning why this is actually happening and not relying on Photoshopping and other methods is best.

    Here's an example of another area in my model where it's clearly gone south.

    normalMapPoblem05.JPG

    I'm glad I've ran into this problem now rather than later.
  • EarthQuake
    Options
    Offline / Send Message
    Alright, so two things:

    A. This is the bare min. amount of geometry you can add to fix the issue. There is still a slight amount of waviness here, but really it shouldn't ever be a problem.

    testbit01.jpg

    B. You can actually do a lot with your highpoly mesh to help the issue too. For this section of your mesh, there really isn't any reason for your details to be so deep(and they actually create some funky geometry on the sides modeled this way). Because the baker just looks out to find the direction(not depth) you can get essentially the same data without modeling it in so deep.

    The problem with modeling it deep is, when your rays are skewed, the deeper the detail(or taller, sticking out from the mesh) the more apparent the "skewed-ness" of it is going to appear. This was really clear on the smaller round indent, and the two small rectangle indents.

    testbit02.jpg

    ^^
    Left: orig mesh, Center tweaked mesh, Right: comparison of old and new, from the baker's perspective, its essentially the same data(Baked AO will be "weaker" though).

    I used this tweaked highpoly in for the bake in the first image, without it, that circular indent still looks pretty bad, you could go in and add even more corrective geometry, but its probably better just to fix the highpoly there, and remember the depth thing for the future. I see you have a lot of these small indents throughout your mesh too, so that might take up a lot of geometry if you've gotta add verts in your low to account for them all.

    Softening the edges on your highpoly can also help reduce the appearance of skewed details, in some situations. If you have an indented section, and the edges are just soft enough to show with the available pixels, but its slightly skewed, one side is going to appear sharper - because you've ran out of resolution. You can sort of see this in the top line of the larger rectangle indent up top.

    One last image to show the difference between the original, and tweaked highpoly meshes:
    testbit03.jpg
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    Huge thanks EQ, that was super helpful. I've just followed your example with that piece and got a great bake out of it. I'm going to be spending a lot of time today changing my high-poly, editting my low and baking. :D

    One final thought though. Seeing as these changes to the low-poly are needed for getting a decent bake; is there any reason why I shouldn't just use the normal map on the old model? I know it's not a huge amount of polys saved, but having a toggable editable poly for baking purposes seems... okay?

    Thanks again man, this was beyond helpful.
  • passerby
    Options
    Offline / Send Message
    passerby polycounter lvl 12
    ya use the same LP as you used to bake with, some of what is baked in is counter shading.

    also why would you want to change back to the old LP, it wont really do anything useful expect save you a few tris which wont matter in the end since your material on the prop is going to most likely be the expensive part of the asset anyways.

    the idea isn't to over optimize but to use just enough to have things display how they should.


    also a other thing to help with problems, and for finding and fixing them sooner is to work on your LP and HP at the same time, i always start with a mid poly mesh, and add support loops to make my HP and optimize a bit to make my lowpoly. When i get my basic shapes down and support edges in, is when i do my first test bake to see how my baked edges look on the LP. instead of waiting till i got the HP detailed.

    and in the case of a model where i want normal detail on some flat planar surfaces, i will work the HP, LP, and the normal texture in PS at once, using nDO to create a lot of my details for flat surfaces on the model. for example in your model i wouldn't even bother modeling the round shapes into the HP, since those can easily and more quickly be created in nDO in PS, i would pretty much just use the HP for getting nice edges and for details that are on edges or cross the edges, and maybe some larger forms on flat surfaces.
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    After going through this I may start using nDO instead like you've suggested. I wanted to go through one piece detailing everything in 3DS Max and just see what it was like in all honesty. I often see fantastic high-polys on here that contain all the detail, down to screws.

    With my next project I'm going to try what you've suggested though, using a HP for edges and larger details, and then nDO for the smaller stuff.

    Also, as for using the original low-poly. I was just thinking that if EQ's estimate of 10% held out, then I'd be looking at my model going from 10,000 tris to 11,000. I thought saving those would be useful. In all honesty I don't know. I'm still a student and often we get told to optimise as much as possible, but then you see great pieces that don't limit the quality based on tri count.
  • passerby
    Options
    Offline / Send Message
    passerby polycounter lvl 12
    really as a student, and learning just try a few things out. the Technical bits like getting rid of the artifacts you should follow to the letter but when people explain workflows they use, it should be taken with a grain a salt, since everyone thinks and works differently, and is prolly looking for different outcomes.

    but you already seen that, some people like to model everything right into the model and other like me prefer to use floaters and tools like ndo where ever possible.
    The reason why i like my approach is that it is fast, and you don't get too commited to details since things can easily be removed or moved, and a big problem i had when i modeled everything in the HP was having details that are 2 small and wont get enough res in the texture maps, if your making small detail in PS or baking and testing often you will know exactly what scale things need to be to be displayed well with your available texture resolution.

    also a other suggestion since your doing this on your time and not your employers time take the time to figure out what works best for you and try out as many things as possible.
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    Cheers for the advice passerby. Looking at it a bit more I see there's quite a few ways I could use "tricks" to speed up this process. For instance, if I was to just use the Tessellate modifier it adds in a bunch of geo and retains the UVs. I can then bake out a decent-ish map and apple to the original model. The results are very similar to the method outlined by EQ.

    With a bit of smoothing in Photoshop some of the tattered edges would look fine.

    Here's a comparison:

    normalMapPoblem06.JPG

    This is without smoothing the normals in Photoshop. Left is using EQs method and right is using the quick and dirty trick.

    Right now EQs probably pulling his hair out after outlining what is actually the problem. I'm not saying I'm going to use this quicker method, it's just interesting to see how I could approach this.

    Like you said, it's great to know the different methods.
  • passerby
    Options
    Offline / Send Message
    passerby polycounter lvl 12
    i wouldn't recommend smoothing things in PS it will cause the math to not come out right since all the tangents need to be normalized and all add up properly.
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    Yeah I tried this on a larger scale and, like most quick tricks, really isn't great. The model has to be split apart a whole bunch (so Max doesn't have a fit) and then with all the smoothing and combining... yeah, the math gets messed.

    I'll just continue to do it the EQ way!
  • EarthQuake
    Options
    Offline / Send Message
    10K or 11K isn't really an issue at all. Really, as long as you're under budget, its all good. And you will have a target budget for any professional project you're on.

    Learning how to model your high and your lows to use your poly budget is very important too, and its something that comes with experience. Not only how to model, but where to simplify a concept to use a more reasonable amount of geometry, or where to merge or line some shapes up in the high to simplify the low.

    You should post screenshots of your full mesh here, high, low + wires.


    Don't bother trying to hack stuff together, its just a waste of time in the end, and you'll find you may get a solution for X specific mesh chunk that wont work for the rest of your model. Just learning how to solve ray projection issues with your geometry is really the best route.

    I'll quote something from that big thread:
    EarthQuake wrote: »
    So, the next time you go looking for a "software fix" or a "workaround" to these problems, first stop and think: Is my geometry to blame? Am I able to simply match the low to the high more accurately? Can I simplify the design to work in a more reliable manner?

    Because every software hack that we do, cage tweak, every time we paint the "errors" out in photoshop, every time we do a bunch of different bakes and combine them, we must remember that:

    A. The work must be redone every time we change the mesh.
    B. The work must be redone every time your boss requests you to change the mesh.
    C. The work must be redone by some other poor slob, when you're unable to do it and they're forced to, requiring them to entirely debug/rework your model back to an acceptable state, or attempt to preform the same magic voodoo dance you had to perform to get a good bake. - This one here is key, you owe it to your fellow man to properly understand this stuff.


    As far as NDO goes, yeah that is an option, but you need to remember a few things:
    A. If your UVs need to be changed(common change request in a professional environment) you need to redo all of the work.
    B. When you accurate model the detail, the baker actually accounts for any UV distortions, on more complex assets with complex UV layouts, this is key, you simply won't be able to just paint straight lines in a lot of cases.
    C. With a proper baked geometry, you get free AO etc.
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    Okay it's good to see that there is some solid reasoning behind going to the effort of making a high-poly with those details.

    Here's how it looks at the moment.

    highPoly17.jpg

    highPoly18.JPG

    lowPoly06.JPG

    lowPoly07.JPG
  • EarthQuake
    Options
    Offline / Send Message
    This isn't something that you will want to fix for this asset, but you have a major problem going on here.

    Simply put, you've modeled everything much too litterally, and you're not letting the normal map do much work here. Almost all of your shapes are actually modeled out in the lowpoly, which means you're using much more geometry than you need to, and you're using too little where it would really help.

    You've also got an extremely high amount of seperate individual meshes intersecting. This can save some polies, but it makes baking needlessly complex, and can really waste a lot of texture space(which is more important than saving polies). In addition to that, every place where you split up your model into separate mesh chunks means that you're going to create a hard, aliased edge. The more "watertight" your mesh is, the more seamless it is going to look. Generally, I only separate only areas that need to move/animate, or sometimes parts that would make baking unnecessarily complex or produce overlapping/intersecting problems when baking.

    It also looks like your edges are generally too hard in your highpoly. I think you have a long way to go towards learning how to make a mesh that is designed to produce a nice bake.

    Here are some shots of a low+wires+bakes that I did for brink. I know the design is very much different than what you're trying to do here, but I just want to show you this as an example of how I would go about constructing a mesh.

    3PointStudios_Brink_Maya_ar02_03.jpg
    3PointStudios_Brink_Maya_ar02_04.jpg

    You'll notice that a lot of geometry is spend on silhouette and main forms, and very little is spent on tiny greeble type detail, as that is really what the normalmap is for.

    And the high: http://dl.dropbox.com/u/499159/3PointStudios_Brink_High_ar02.jpg

    Whenever I'm doing my high poly models, I'm always thinking about how everything is going to affect the low, how much geometry i'm going to need to use to represent X shape or Z detail. Its something you've always gotta be thinking about.
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    Once again EQ, thanks for the awesome advice. I do actually think I'll try and fix it for this asset though. So I'm going to have another crack at the low-poly, and before unwrapping and trying to bake again, I'll get some more feedback on it.

    Thanks again, man.
  • EarthQuake
    Options
    Offline / Send Message
    If you would like, you can upload your full high + low(in separate objs, rared/zipped) and post here or PM me the link, and I'll just pick out a section and make some changes to give you a better idea how I would go about doing it.
  • r_fletch_r
    Options
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    Cheers for posting those wires EQ.
  • Wesley
    Options
    Offline / Send Message
    Wesley polycounter lvl 13
    I'd post the link here, but seeing as it's my final year work probably best not to? So PM sent, thanks man!
Sign In or Register to comment.