Home Technical Talk

Equal texel density vs filling up the uv sheet

polycounter lvl 9
Offline / Send Message
Chase polycounter lvl 9
I've run into a bit of a snag. I didn't take into account the texel density and as such have forced myself into going back to redo the uvs and bakes. Here's my current state of uneven texel distribution
hdwn.jpg

I'm aware the uneven texel density comes from me trying to take up as much uv space as possible without considering the impact it would have on the texture resolution. I also know that the best thing to do when laying out a texture sheet is to give as much space to the important, more seen areas of a model. No point in give more or equal uv space to something that's either hidden or just not important in size or scope.

Here's my attempt to even this distribution out
jr8s.jpg

I'm in the process of regrouping the components I originally had attached together and repacking their uvs. I originally had 3 separate texture sheets for this carousel. Here's the issue I've run into.
y1s5.jpg

I obviously want to maintain as equal of a distribution as I can, though it's not possible to sustain it 100%. With that said, by scaling the uvs to fit in this space I'm again sacrificing the even texel density. I'm baking everything so I need to also think about the baking and keeping a good uv size for that. This is one of the groups I just attached back together, but you can see what normalizing the uvs has done.
gsgp.jpg

By scaling them to fit the uv sheet I'm in essence undoing what I just did and reverting back to my initial model. I can scale these up to fit, but I can't scale the other uv sheet I showed.
tiuo.jpg

Am I trying to force to much onto one texture sheet? People of Polycount I call upon you once more. Help!

Replies

  • ZacD
    Options
    Offline / Send Message
    ZacD ngon master
    It seems sily to have the roof completely uniquely unwrapped, what type of game is this for? I would just have 1/3rd or 1/4th of the roof unwrapped and just tile it.
  • Chase
    Options
    Offline / Send Message
    Chase polycounter lvl 9
    I originally had the roof unwrapped that way and instanced it around so I only was texturing 1/4 of it. I'm baking a hp for the top so I can have a nice smoothness for the spec map so I can't tile. Plus there's no other model that would use that tiling texture. Anyways, the seams bothered me so I chose to just stitch them together, which lead me to this. I've mirrored a lot of the other elements in this scene resulting in seams on them too so maybe I just live with it. This is for my portfolio. If this were in game, no one would be able to see to the seams anyways so maybe I talked myself out of it for no reason. Any thoughts on the texel issue in regards to scale uv shells?
  • PatJS
    Options
    Offline / Send Message
    PatJS polycounter lvl 9
    What you did originally is correct. As far as seams go, don't have them be instanced in the baking file -- once you've got the UVs the way you want them, merge those puppies in and weld everything together before you bake. That will avoid nasty seams along the UV borders.

    Also, "nobody will notice them" isn't really a good thing to do in practice for a surface that large, and definitely not good for a portfolio piece. I mean sometimes you have to make compromises when there are deadlines, but the largest, cleanest portion of your model is probably not a good place to make those compromises ;)
  • Chase
    Options
    Offline / Send Message
    Chase polycounter lvl 9
    I originally did that and for some reason I had seams then.....now I don't :poly142: Go figure haha. I think the difference was that I baked the one section, THEN instanced it around, and applied the normal map. When I apply the uv unwrap I can cleary see there are seams where the copies are attached. Why don't they appear if bake with the copies attached and welded vs if I bake only the one copy and then instance it around?

    You're right about that last part though haha. I shouldn't think that way. No one wants to play a game or watch a movie knowing the designer hopes you don't see his/her errors.

    I'm a tad closer to getting my texel issue resolved. Instancing the parts has helped uv space significantly. Any other advice? It's been aces so far :thumbup:
  • Nosslak
    Options
    Offline / Send Message
    Nosslak polycounter lvl 12
    The problem is that you're straightening out the cone too much by making it straight in the UVs. This practice isn't bad in itself but if you do this with a cone with radii these different you will get very different texel densities on the top and bottoms like you already have. Tiling the texture won't resolve the different texel densitites, it'll only save some space on the UV sheet.

    What I would do instead would be to just place a single seam along one of the edges and do a conformal unwrap from that (I believe it's called pelt mapping in Max, I use Blender thnough so I might be wrong). The resulting unwrap won't be as easy to pack on the UV sheet but it'll result in more even texels and less stretching. Here's what my attempt looks like:
    cone-UV.PNG
  • Mark Dygert
    Options
    Offline / Send Message
    What if you have a cartoonish game with lots of solid colors? Can a tiny 1px X 1px square cover large sections of your mesh? How does that affect shadow maps and shaders?

    Now consider matching individual object to one another. Ideally all pixels will be the same size on the screen, you don't want an ultra sharp prop sitting next to an ultra blurry one so their textel density needs to match as closely as possible.

    If your game has 4px for every 1unit how big do you make your textures, how do you scale your UV's. at that point you start calculating the surface area of the objects and finding out how many units you have to cover, until your head explodes... and you go back to just making it work the best you can, checking it as often as possible along the process to make sure you aren't screwing yourself over.
  • Chase
    Options
    Offline / Send Message
    Chase polycounter lvl 9
    Definitely Mark - I can't be perfect with this, but I can certainly be closer then what I have haha.

    Nosslak - I found a script that equalizes the texel density which is a time saver. You can pick a the uvs that you've scaled to be the density you want the rest of the meshes to match or just use a default density. It doesn't look like it equalized them 100%. I know the end result won't be 100% anyways.
    jvcp.jpg

    I did redo the uvs the way I had them originally just to make texturing easier, but I also was hoping by having more uv space to work with would allow me to match the texel density better. You're right that it didn't do that at all. Basically I'm in the same spot I was in before since the only thing that's changed is how much uv space I have.
    h8zf.jpg

    Equal yet horrible uv shell sizes.
    vmam.jpg

    This uv size won't work. The normal map resolution will be horrible, and texturing will be a pain. If I scale them up to fill uv space it'll be like how they were in my first post :poly118: The top carousel uv's need to be scaled outside the uv space more if I were to scale these now tiny uvs up to where they should be.
Sign In or Register to comment.