Home Technical Talk

Need opinions on round edge normal baking workflow

llb
llb
polycounter lvl 7
Offline / Send Message
llb polycounter lvl 7
Hi all,

I have been following quite tiring workflow to get a nice round edge look on low poll meshes for game assets but not sure if this can be improved or if I'm doing some unnecessary work.

Well, to get a seamless baking, I separate all hard edges on lowpoly model on Maya and then bake high poly model into lowpoly in substance painter but UV mapping process takes too much time if there are model gets too complex.

Usually I create initial UV maps even hard edges ae stitched together to get a compact layout, then select all hard edges and separate them. Later decrease the texel density just a bit to get some padding around separated UVs. With that I get what I need but I have to add padding to all UVs manually to prevent seams and it is time killer. I'm hoping to get some advices how to add automatic padding without changing the layout entirely.

Thanks in advance.

Replies

  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Unfortunately there aren't any other ways outside of what you are describing (regular UVs first, then slash and pad). It is tedious for sure but in the grand scheme of things it's still pretty efficient.

    For context and for those unaware, this is what is being discussed here : 



    My assumption is that the lack of tools for this might simply come from the fact that many artists (and furthermore tech artists) are simply not aware of this scenario - even though it is so fundamental for clean, lightweight game art. Or rather, many know about it in theory, but don't realize that the padding requires quite a bit of manual attention for anything more complex than a cube, and even more so when one wants to keep a sensical UV layout with islands oriented and grouped properly like a regular unwrap.

    Sure enough this "split and pad" step could be automated if enough resources were put into it.
  • Noors
    Offline / Send Message
    Noors greentooth
    One could argue your layout isn't optimized here. What are the benefits to have a "readable" layout and not some efficient auto packing when using projection tools like Painter ?
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Well, as stated above that would be an argument from thinking of the issue in theory only ("why do you care, just autopack"). But in practice that's not how things work : having a human-readable layout speeds things up immensely when texturing, because not everything game art-related is done UV-agnostingly in Substance painter. As soon as one is dealing with real assets, randomly arranging all the sub-parts would result in an unmanageable layout, and ID masks prone to a lot of bleeding.

    The following layout is far from unoptimized - quite the opposite really ... :D
    Detail : 



    Full :


    And furthermore, the OP specifically mentioned that he doesn't want an automatically arranged layout, and is looking for a solution that respects the initial continuous unwrap.
  • llb
    Offline / Send Message
    llb polycounter lvl 7
    pior said:
    Unfortunately there aren't any other ways outside of what you are describing (regular UVs first, then slash and pad). It is tedious for sure but in the grand scheme of things it's still pretty efficient.

    For context and for those unaware, this is what is being discussed here : 



    My assumption is that the lack of tools for this might simply come from the fact that many artists (and furthermore tech artists) are simply not aware of this scenario - even though it is so fundamental for clean, lightweight game art. Or rather, many know about it in theory, but don't realize that the padding requires quite a bit of manual attention for anything more complex than a cube, and even more so when one wants to keep a sensical UV layout with islands oriented and grouped properly like a regular unwrap.

    Sure enough this "split and pad" step could be automated if enough resources were put into it.
    @pior I highly appreciate your response. It is good and bad news. I'm a self taught 3d game artist (still not sure about the title) :) and I came up with above method after tons of try and fails. It is nice to hear that I was practicing correct methodology but it is also bad after all those time still there is not an efficient way to do it.
  • Eric Chadwick
    Some UV editing tools allow you to convert the UV into mesh space, where you can edit with the full set of mesh editing tools. Using this, you could try a Push or Relax style tool, which would scale the elements away from each other. Then convert back out of mesh space into UV space again.
  • Neox
    Online / Send Message
    Neox high dynamic range
    Noors said:
    One could argue your layout isn't optimized here. What are the benefits to have a "readable" layout and not some efficient auto packing when using projection tools like Painter ?

    being able to work in 2d space is one and a pretty big one if you ask me. projection is limited in what it can do. try adding a seamline around a wristband in 3d space. super annoying, with the right UVs, super simple

    lodding is another thing. stuff that is just exploded all over the place for "optimal" space usage, is just not efficient at all

    mipmapping is another. if everything is scatterred around, you will need bigger padding around islands for mipping to work. and not bleed the hell out of one material into the next polygon.

    to make this point, while i would argue this is incredibly tight. it might not be an issue as the materials are so alike. if a more optimal placed polygon with a different material was used here. this would bleed into each other at distance



  • pior
    Offline / Send Message
    pior grand marshal polycounter
    @Neox Hehe yeah, this bit was unfortunately a slip up coming from combining parts - but luckily enough in this specific instance there was no negative consequence on the asset. Mistakes do happen :)

    @Eric Chadwick : using mesh to UV could indeed be an interesting workaround - although I am not sure if a push doing the kind of desired padding on a flat surface is actually available. One viable option would be to give the UV mesh some thickness, and then move everything along the normals. Unlike regular island scaling it would produce an even padding throughout.

    https://www.youtube.com/watch?v=3H44FJIwOSw
  • Shrike
    Offline / Send Message
    Shrike interpolator
    maybe you could make an extrude from every boundary edge, which is basically the padding, (save the selection of the extrude) unwrap, and then delete the extrude maybe

    Wait, isnt this just normal baking workflow? Why is this made so complicated - Unwrap, split hard edges by UV islands, done? am I missing something?
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    @Shrike : the delicate part is that it is the opposite : UV islands need to be separated according to hard edges, not the other way around. Meaning that for a part like the one shown in my video (relying on hard edges as a design tool, themselves used to define bevels on a corresponding highpoly version), you have to have "sub-padding" like shown at the end.

    And for the workflow to be fully viable, this "split and pad" step needs to be done after a regular, human readable unwrap has been laid out. As far as I am concerned i've always done the spreading by hand (like the OP does), but after trying the technique shown in the video about 3 time now I can confirm that it fully works. The lengthy UV to mesh > extrude > push along normals > unwrap from top view > morph back process is obviously only a proof of concept though - ideally this should all be a single operation done at the UV level. But as far as I am aware, not a single 3d software has it (the closest would be a uniform scale applied to all parts, but this doesn't work at all on real practical cases as it creates overlaps). In a way this really goes to show how misunderstood this technique is ...
Sign In or Register to comment.