Home Technical Talk

Seams on Curved surfaces./ Properly Scaled Uvs

ZenDavis
polycounter lvl 6
Offline / Send Message
ZenDavis polycounter lvl 6
EgLECSv.jpg
ABxYng0.jpg
lJiDyvv.jpg

So my partner and I are working on an Unreal scene together. He models and unwraps and I texture. On this particular model the UVs aren't properly scaled and there are way too many seams. When I brought this up to him he says:
That's a common problem with very curved surfaces like the couch. There is no way to weld the uvs because it will severely stretch the texture. But that's why we have substance painter. The pattern won't work well with substance painter though. A really firm normal black leather would have probably been a better route to go in so the seams could be painted over. Basically there's no "fixing" the uvs on the couch. Painting over them is the solution imo.

Is he correct? Please help me. I don't want my textures looking like the mess they currently look like. He can't be rightbecause I've seen way more complex couches here on Polycount where there weren't any seams showing. As an example:

HlcxJzm.jpg

Replies

  • Zubnero
    Offline / Send Message
    Zubnero polycounter lvl 11
    It is not uncommon to have seams on a curved surface he is right about that,but then again it is not uncommon to have seams on any object ( every object will ALWAYS have at least 1 seam) anyways he can definetely stitch some edges and make the seams appear on a place where they are much less visible, after he stitched them togheter he could use the relax tool to average out any stretches.

    Also the way these uv's are layed out is not really optimal, you should always try to avoid the really small uv islands because these probably wont be bigger then 1 or 2 pixels and it is impossible to texture that way.

    I think the way this model is unwrapped shows your friend has some experience in UV editing but does not know exactly what he is doing , I suggest having another look at the unwrap or for an easier solution use a tiling pattern for the holes and use the UV map modifier in max instead of the UVW unwrap.

    Hope this helps and good luck :)
  • ZenDavis
    Offline / Send Message
    ZenDavis polycounter lvl 6
    Thank you thank you for the quick response!

    Would you know any references that might be good for him to look into?
  • ZacD
    Online / Send Message
    ZacD ngon master
    Couches and furniture is great real world example when it comes to unwrapping and UV seams. Couches are made up big flat pieces of fabric or leather, kinda similar to how textures are flat deconstructions of 3d models. Couches will have fabric seams, and you can get away with putting your UV seams where seams are on couches and furniture in real life. Look at some couches in real life and in phones.

    Also how you need to handle seams depends on if you are using tiling textures, or if you are able to bake a high poly model. That chair you posted is obviously baked down from a high poly model, and if it's done correctly, you can easily hide any seams. You don't have that luxury if you are texturing by hand or using tiling textures.
  • ZenDavis
    Offline / Send Message
    ZenDavis polycounter lvl 6
    Thanks for the feedback ZacD. Here is the conversation that ensued after I showed him your feedback. Thoughts guys? Is he wrong? I want to avoid any misinformation passing through so any guidance would be preferable from the community here.
    Jack wrote:
    Look at the curves and creases throughout the couch. There are tons of options regarding the uv seam placement where they wouldn't be visible. The couch in the reference however doesn't really have that. There are very few options to weld/stop texture stretching on a mesh like this. In the future I need to consider UV'ing more when modeling a mesh from reference to consider if it will translate well to 3d.

    Ultimately I can make changes to the uv islands to make the seams a little less visible, but it will increase texture stretching (even with relax) and likely won't change things regarding needing to paint over the seams in substance painter. If you look at the mesh... there is very few areas of indentation, as it is in the reference, however it doesn't change technical limitations. Don't get me wrong I can make the seams quite a bit better, but for a couch like this they won't be gone unless we paint over them or create a different couch (which is an option). Another option is to put literal couch seams along the uv borders of the couchs. This will cover the seams and provide for a good realistic look.

    BOFlAF2.jpg
    5Z5hFQH.jpg

    Regarding the seams on the turnstyle. You WANT seams on hard edges. This allows more texture space to be used. This also allows a proper bake from a high to low poly if that's needed in the future. Connecting those islands up would be a VERY BAD IDEA as you wouldn't be able to capitalize on as much of the 0-1 space. Plus the normals would bake incorrectly.

    Regarding Zubnero he's definitely right. The small uv islands is very bad for texturing. For some reason max 2015 has not been normalizing my UV's to give equal texel density throughout the mesh like 2012 did. Not sure why that is, but it's an easy fix... reset xform, reapply uv's, and repack (this will set the texel density to a correct setting).
  • ZenDavis
    Offline / Send Message
    ZenDavis polycounter lvl 6
    Here is a further conversation between us regarding this subject. My friend read through both of your posts and had his own interpretation of how to deal with this issue. Could you please offer us your guidance for if we're on the right track or if there's something we ought to be looking into changing?
    Zen wrote:
    EgLECSv.jpg

    Hi Jack. Thats the uv for wooden frame of the alley. It's in hundred pieces like you didn't stitch any of them. It's the same with other models which causes too many seams. The textures I make should either be too flat and constant so at at the seams you don't notice anything, or be like real wood but you'll see hard transition from one side to the other.

    It's like you applied a UV modifier, flatten mapping, and didn't stitch any of these. :/ The other thing is for the desk for the unreal scene for example, I had to make parts marble, parts white, parts meta. when its in lot of pieces I have to select them one by one in Photoshop to mask them. But if for example sides of the cube are stiched together I click once + no seams. Or less seams actually..
    Jack wrote:
    The reason why you don't want to stitch those uv's extends beyond baking down from a high poly too. The way smoothing groups work is they should be used in combination with how the uv's are layed out. What I mean by that is for each uv island there should be a smoothing group and vice versa. The reason for this is because it provides a more consistent look and allows smoothing groups to work correctly (You're supposed to use a smoother group per island. It helps prevent artifacts and incorrect smoothing errors). I also won't be able to utilize nearly as much uv space... which is a lot more important than having less uv islands (with baked out textures only (tiled texture meshes don't matter)).

    Some of the uv's had to be changed in order to accomodate baking and utilizing more texture space. So I intentionally did some minor stretching on some of the bowling alley assets to utilize more space. Just recognize you may have to adjust the texture height/width on one island and not another.

    To aid your texturing as much as possible although the 2x4's look kind of crazy they're actually layed out to have all the work done for you. I updated them to better handle the bakes and texturing. Literally all you will have to do is lie down a wood texture with wood grains going horizontally and you'll already be half way done.

    One thing that's keeping the texture quality a little low is for example the walls, or floor have little place on 0-1 space. so if I used a 2k texture it' only take that little space where the uv is. I understand u cant scale them upper since they go off the 0-1. but can't we use a tiled uv for those? box ?
    Zen wrote:
    One thing that's keeping the texture quality low is, for example the walls, have little place on 0-1 space. So if I use a 2k texture it will only take that little space where the UV is. I understand you can't scale them up since they go off the 0-1, but can't we use a tiled uv for those? box ?
    Jack wrote:
    I had to rework the uv's to accodate baking out ao maps. Hypothetically if we were just using tileable textures it wouldn't really matter but since we decided to go with baking out some AO maps I had to rework them. They are intentionally stretched to fill the 0-1 space. So the maps baked very well and provides tons of texture space.

    However it will require a tad bit of experimentation though to nail down the textures proportions. But that's why marmoset is awesome... quick feedback on textures
    Zen wrote:
    D_Bake.jpg

    See this floor piece for example, If you consider whole the black square as 0-1 space, th grey area is the uv for the floor meaning all the other space of the 2k texture is waste and texture would look very low res on the model. So what im saying is why not using a tiled uv instead? since the surface is flat, I think the AO map would look constant white (no AO). That's the same for walls and roof_left and right pieces as well as BackWall.
    Jack wrote:
    I understand what you're saying, but after looking at the bakes you'll realize the AO maps actually contain a lot of useful information. The uv's were stretched in order to utilize the uv space. Even though the surface is flat doesn't mean the surrounding objects won't affect the AO maps of each of the other objects.

    Like I said before the floor mesh is different. The uv's were changed in order to use all of the 0-1 space and get a nice bake.

    We could tile the uv's as you said but we wouldn't be able to use any baked maps which is not really a good thing for unity.
  • EarthQuake
    Some of what your friend says makes sense, however, the original uv map in question isn't really a good example to point to and say this is how things should be done. It has a number of issues, including uneven texal density (which means different uv islands will get different resolution which tends to look bad if you have a detailed texture), stretching on one axis or the other, what looks to be too many uv seams, bendy shapes that could be straightened out to make a more efficient layout, and a poor overall use of the uv space (looks like a good 40% wasted space, unless there is something else packed into that space which you're not showing).

    Generally, more uv seams means less distortion, that is correct, but I'm not sure that really applies to the mesh in question. Its hard to say without seeing the mesh myself.

    Also, while you do need a uv split everywhere you use hard edges, the reverse is not true. It can sometimes be beneficial to do so, but this couch has some softer shapes that would not benefit from many different smoothing groups. If you're not baking a normal map from a high poly source, this is essentially moot as well. This isn't really something you come back and do later, so if you're going to do it, create the highpoly now and go full force. You can do it later, but its not really typical and would be a waste of time, plus the lowpoly mesh's construction usually has a lot to do with how the highpoly is built.

    Also, its a bit weird having you relay his comments, he should probably just post himself.

    If you want to post an OBJ of the original chair mesh, I (or someone else) could probably post some alternative uv layouts.
  • Jack M.
    Offline / Send Message
    Jack M. interpolator
    Here's an update with a much better pack, better uv islands, and a more leveled texel density. Any additional advice on how to push the uv's more is certainly welcome as well.

    Dmjy3j2.jpg

    ZmYVBvc.jpg
  • Bartalon
    Offline / Send Message
    Bartalon polycounter lvl 12
    Looks like the frame has 3-4 times as much texel density as the cushions. You could probably save some space by scaling those islands down. That top island, I'm assuming that's the back of the sofa, could be straightened out to a perfect rectangle. There will be some minor warping to your UVs but it will be much easier to texture in Photoshop.

    Lots of your long thin islands are slightly crooked which could cause problems compared to perfectly straight UV borders.

    Depending on what this prop will be used for, you could mirror the cushions so they occupy the same UV area which would free up a considerable amount of space, but it would be sacrificing the ability to apply any obvious unique marks on your texture map like tears, stains, missing buttons, etc.

    On an unrelated note, the polygon density of this mesh is very high for what it is, especially considering many of your surfaces are totally flat, like the cushions, frame, etc. The model itself could stand to be optimized which would make UV mapping easier and faster.
  • Jack M.
    Offline / Send Message
    Jack M. interpolator
    Thank you all for your direction and guidance.

    The couch cushions and the other parts of the couch made of leather have equal texel density throughout. I thought it would be better to maintain that even texel density of the cushions and back rest of the couch rather than resizing the cushions and not being able to resize the back rest. Should I go back and fix it?

    Then I had the dilemma of either splitting the uv's of the couch backing to uniformly scale up the cushions and backing or leaving them with little total uv space. I chose to leave them with less total uv space and to fill that space I increased the frames size. Is this the right way to go about it?

    If there are better ways of handling the split uv's/give uv's less space dilemma I am urgently looking to learn more about it.

    Regarding your advice Bartelon, you're right. I should have optimized the mesh if not to just making the uv'ing easier on myself. It's for architecture visualization so I went a little high on the polycount. Really unnecessarily high in my opinion. I really want to make this the best prop that I can. How important is optimization for visualizations?

    Thank you all for your help.
  • Jack M.
    Offline / Send Message
    Jack M. interpolator
    Bump. Still looking for answers on the previous questions I asked in the previous post. Thank you!
  • wirrexx
    Offline / Send Message
    wirrexx quad damage
    you can scale your smaller uv, outside the UV island. And fit them that way.
Sign In or Register to comment.