Home Technical Talk

Need opinions on round edge normal baking workflow

llb
llb
polycounter lvl 9
Offline / Send Message
llb polycounter lvl 9
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 9
    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
    Offline / Send Message
    Neox godlike master sticky
    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 : well, 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 ...
  • iam717
    Offline / Send Message
    iam717 interpolator
    Just a quick question, so the increase in vertices(vertexes) no longer an issue for engines then? or is it just for baking and there is an alt/actual uv map for final, so bake the split, keep that map, return to original u's?  That morph video was something i had thought of once cool to see someone show it off in practice.  sry if its said and answered in thread. I think i get why this would be done and its neat.

  • pior
    Offline / Send Message
    pior grand marshal polycounter
    For this technique, the final low is exactly as shown in the video (hard edges driven by the design), and the final UVs have inner split spacing in all the corresponding places.
    The increase in verts (geo or UVs) compared to a smooth model and/or compared to continuous UVs has never been an issue in any engine. This is a myth based only on theoretical numbers ("more verts = bad") but with no root in the practical reality of producing assets.
  • llb
    Offline / Send Message
    llb polycounter lvl 9
    just to simplify my requirement or at least what needs the job done is after splitting all the hard edges, shrink all the uv shells respectful to their center without moving or rotating them. this sounds easy for some kind of a script but couldnt find it anywhere and my scripting knowledge is too crappy for this job :)
  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Heya - well, FWIW this simple approach (simply scaling according to the individual centers) is doable in Blender by default. So perhaps this could be a viable workaround in your case.
  • kio
    Offline / Send Message
    kio polycounter lvl 16
    with 3.5 and geometry nodes it should be possible to have this entirely procedural. Did a bit of noodling around..and came up with this.
    Basically this just insets the uv shells based on sharp edges. Guess one could make it behave nicer with a bit more time.

    UV editor shows the initial uv layout
    Viewport shows the mesh with sharp edges, and also the modified uv layout in worlspace.




  • pior
    Offline / Send Message
    pior grand marshal polycounter
    Well that's looking fantastic already ! I feel like the availability of such a tool (as opposed to having to do the split-and-spread operation by hand, which is straightforward but tedious and error-prone) might be a good incentive for some artists to embrace this workflow.
  • poopipe
    Offline / Send Message
    poopipe grand marshal polycounter
    yep, that's pretty sweet - potentially lots of time saved

    It will fall down a bit on shells with a non-convex outer border and there will be some distortion where there are uv verts inside the shells but it's not introducing any problems associated with doing the same thing manually. 

    if the user is able to select the shells to affect this is very useful.  
Sign In or Register to comment.