Home Technical Talk

UV map stretching question

Hello Polycount!
I’m learning Game Art and I have a few questions that I would like to ask you :)
I decided to start my first topic because I want to learn how to create models in proper way.
p.s. English is my second language so forgive me the mistakes ;)
__________________

In this case I’ll be asking you about stretching the UV.
Suppose I have the UV like this:
7KoXSZQ.jpg

(In the picture head is 1.5x bigger than it should be, which is my last question on the bottom)

I unfolded the entire wireframe of my model and on the top(side, whatever) remained a big chunk of free space and I do not have anything to fill it.
Suppose no matter how I rearrange elements there will always be a big chunk of free space, somewhere.

Here is the question. What to do with it?
E8VCvdD.jpg

Make bigger the gaps between the elements?
RpN6xQs.jpg
I think it’s pointless. I’m wasting a lot of space this way.

And here we go, the main question:
Can I stretch the wireframe like this?
jS94f5Q.jpg

UV will stretch, I am aware that and it could be problem while texturing (e.g. symbols, logos which has to be stretched too then). But otherwise there is no space wasting.

Some people don’t like wasting UV map space.
The people with whom I create models suggested me to do some stretching to avoid wasting space on the UV map. I was taught that place UV map is sacred and should not be wasted :D
so I should cram elements as tightest and then stretch the UV map to the entire square.
No free space left? = success!

What do you think about it? It's bad/good thing to do? Or what else can I do instead?

And another little question.What about enlarging elements which contain e.g. head (just important part of model) for better detail. It’s OK?
XpGnCPd.jpg

Thank you in advance for your answers!

Replies

  • Joost
    Offline / Send Message
    Joost polycount sponsor
    I don't think you'd ever want to stretch your UVS like that. Just scale up uniformly to fill the gaps? sometimes you'll want to scale up certain elements like a character's head in case it's for a cinematic or if there's close-up shots. But generally you'll want things to be relatively uniform if they're being viewed from the same distance.
  • skankerzero
    The only time I nonuniform scale any parts of my uvs are when they're cylindrical or un-important.

    This is what I did with your uvs. The only thing I scaled was the head. I only scaled it down a tiny bit to give it some padding. I just rotated everything else by increments of 90 degrees and flipped horizontally and vertically until it all fit.
    That hair piece is really difficult to pack around.
  • remotecrab131
    Offline / Send Message
    remotecrab131 polycounter lvl 9
    Don't stretch your UV if you don't know what you are doing. If you understand what stretching a UV does, then go ahead and feel free.

    You don't use it, save it for the future. Maybe you will find some small piece of geometry that is a waste to have an entire new texture for it, so you put that UV inside this old UV with chunks of space. Also saves memory consumption if it is a game.

    my example:
    brent-teacrab-liu-final.jpg?1439406074

    Models will have funny shapes of UVs, and dont even try to fill it up all the UV space. As long as those parts you want to have a higher detail res, you keep them as big as possible and to scale. For the ones that aren't so visible, you can shrink them down to a smaller ratio and so they cover less resolution. The space you didn't use will never be a problem for you because, if it's not used, it's not used. What can happen to it? nothing. But it's a waste, well you can always fill them up later with something else. (Black space in a texture in game engine is usually compressed to use 0 byte)
  • Mark Dygert
    Introducing stretching is a bad idea, sure you might pick up a few more pixels but it's going to make it hell to paint on and or bake oddly.

    I like what jesse did, but on the flip side, you could take the opportunity to make some of the mirrored bits unique. If this is a quadruped, there is a high probability you'll see all 4 legs at the same time, so you might want to un-mirror them. Since there will be a seam running down the back, maybe un-mirror the body.
  • skankerzero
    Ah yeah, if having non mirrored uvs helps you out, then totally do that. Depending on the cow, kyou can get some nice, asymmetrical prints on it.
  • Repettated
    Thank you for all your replies :)
    It turns out that I had been taught incorrectly concerning unfolding UV maps.

    Question to remotecrab. Could you explain the thing about understanding what gives stretching UV?
    Don't stretch your UV if you don't know what you are doing. If you understand what stretching a UV does, then go ahead and feel free.

    Also one more question. It's a good practice to place near the elements that are "made" of the same material? Skin near to the skin, metal next to the metal, bone near to the bone?
    MkZ9Hdn.jpg
    If it means a lot?
    Thanks!
  • skankerzero
  • Deadly Nightshade
    Offline / Send Message
    Deadly Nightshade polycounter lvl 10
    People seem to forget that it all depends on what you are creating.
    For example, when it comes to lowpoly graphics, it's perfectly fine to stretch and pinch UV's. Hell, sometimes I even turn shells into a single line (1D is all you need for a gradient) or even a point (0D is all you need for a single color).

    But yes, for high-res assets, scaling in one direction is usually a bad idea. Scale all shells - or the ones which requires a higher texel density.
  • remotecrab131
    Offline / Send Message
    remotecrab131 polycounter lvl 9
    Repettated wrote: »
    Question to remotecrab. Could you explain the thing about understanding what gives stretching UV?
    Also one more question. It's a good practice to place near the elements that are "made" of the same material? Skin near to the skin, metal next to the metal, bone near to the bone?


    What I meant by understanging UV, is that you need to see what it does and determine yourself. Sometimes it's hard to learn just by reading.

    And, the reason for same material to be placed close together is that:
    Game engine usually use Mip-map, and something like Level of Detail. Anistropic filtering, etc. Those things will down size your texture at distance. And if your texture got down-sized, it means the UV-island gets closer. It may come to a point where UV-islands are so close to each other that they start to share same pixel from your texture,(because it only has 4 pixel now)

    So you know, the edge of the mesh where the UV is sharing pixel will display the pixel of the other material. Texture Bake padding also can cause such issue. And it's not wanted. Putting same material pieces together can avoid it to some degree. But it's not necessary.

    Also, credit to skankerzero, for organizational purpose.
Sign In or Register to comment.