Home Technical Talk

Correct Triangulation & smoothing artifacts.

Hey guys,

I've looked through this forum quite a bit and haven't found anything answering my current problem.

I'm sure other people have had this problem themselves... so forgive me if there is a thread solving this issue and I haven't looked hard enough :(

So my issue is about proper triangulation on geometry like the one I've provided.

I've always had this problem and haven't ever found a way to solve it besides messing around with smoothing groups but different smoothing groups obviously leave a sharp seam in the bake which isn't the look I'm going after...

Once I've baked the normal map and thrown it on top as well it still has this awkward smoothing artifact...

Does anyone have another thread they can point me to on how to correctly triangulate and bake this kind of geometry without the smoothing artifacts?

As you can see in my screenshot I have tried different types of triangulations and they all have some artifacts.

I could just DIY it but i'd rather know how to fix this than leave it as a blank area everytime I come to it.

My apologies if this is a really basic fix and I've failed to figure it out x___x

Any help is much appreciated!

query01.jpg

-EDIT-
There is one smoothing group over the whole piece of geometry and that's what I intend to stick by as well. unless the only fix requires more than one smoothing group

Replies

  • kurt_hectic
    Offline / Send Message
    kurt_hectic polycounter lvl 10
    One picture is worth more than a thousand words...screenshot please.
  • MeintevdS
    Offline / Send Message
    MeintevdS keyframe
    It's the long triangles that cause the shading issues. One fix would be the smoothing groups you don't wanna change, another option would be more geometry. I'd say make a cut right on the other side of where the curves starts. That way you have a nice big quad (or 2 big triangles really) for biggest problem area. And the rest you can cut up in smaller triangles which shouldn't give you to much issues I think.
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    Options

    1. Split your smoothing groups (to make the faces lay flat) and uv shells at seam, bake with a cage.
    2. Add quite a bit more geometry to make the surfaces lay flat.
    3. Use a synced workflow.
    4. Be a lazy artist and "paint out" the error in Photoshop (and still have errors).

    I combine 2 and 3 personally. It's a compromise between adding a bunch of small chamfers and support edges and relying on your synced workflow to compensate for the harsh low poly angles.

    Take your mesh and add a support edge on each side of the 1 segment chamfer and the faces will lay flat with 1 smoothing group.

    smoothinggroupscrit.jpg
  • AngryMindtricks
    Thanks guys! I actually added support edges before but I was never sure whether that was the way to go. Now I do... Thanks a bunch :D on a side note... Quack, when you say used a synced workflow... What do you mean exactly? Sorry for more noob questions haha xD
  • Quack!
    Offline / Send Message
    Quack! polycounter lvl 17
    Thanks guys! I actually added support edges before but I was never sure whether that was the way to go. Now I do... Thanks a bunch :D on a side note... Quack, when you say used a synced workflow... What do you mean exactly? Sorry for more noob questions haha xD

    A synced workflow just refers to a workflow in which the baker and the viewport calculate normals using the same math.

    In a baker, say xNormal, it may calculate your normal maps from your low poly using Set X of calculations. In a viewport, say CryEngine, it may display using Set Y of calculations. Because they are not the same, your normals can become broken between your baker and your viewport. (my wording can be dum dum broken here, someone correct my wrongness)

    Luckily, more modern viewports and bakers are realizing this and are changing.

    For my current workflow, I export my mesh using Max2015 and FBX. I send my tangents and binormals with my FBX file, and the baker I use, xNormal, reads those tangents and binormals and calculates the normal map. I then use a viewport that can read those tangents and binormals from file, UE4, Toolbag2, Substance Designer, etc and now my workflow is synced because they are all reading the tangents and binormals from the FBX file. This means that those harsh gradients in your low poly are properly compensated for in your normal map and you can get very good results with only minimal amounts of 'adding more geo' or hacks. It is still worth it to make your low poly as smooth as the high, but this workflow doesn't make it explicitly necessary.

    The caveat with this workflow is that it is reliant on the FBX file format, which is maintained by Autodesk, and we all know how well they maintain their software. So when the file format fails, your workflow does.

    The best way would be to have your baker and viewport match up to an open source calculation like MikktSpace, which is something that xNormal can bake to, but some viewport programs aren't synced to.
  • AngryMindtricks
    ah awesome! gotten some good information back xD thanks guys... I guess I've been going in a similar direction but probably not as complex as exporting .fbx files to maintain co-ordinate settings like you guys are... the closest thing I've been keeping in mind is things like xNormal requiring to export at -Y for it to work with 3ds max and also with different engines.

    So would you guys say the best way to go about doing this is first determine what engine I'll be building my level in and then calculating the best pipeline with baking after that? And honestly I know all artists have their own methods of doing things and I do have my own... it's just I'm always open to adopt new methods into my own or at least back up something I've already been doing, It's more of a reassurance on things I've been doing right or wrong this whole time I guess haha.

    The help has been great so far thanks :D
Sign In or Register to comment.