Home Technical Talk

Texture Sheet Efficiency feature

I was wondering are there any standalone programs that can calculate how efficient a texture or uv sheet is in terms of pixel space?.

So for example you could make your uv sheet and click a button and it could tell you how much pixel space you are wasting or something.

It would be pretty cool if there was one as that way it would be alot easier and quicker to make a very efficient texture map. I know alot of people can easily do it without one but I think it could be a handy feature.

What does everyone else think about the concept?

Replies

  • ZacD
    Offline / Send Message
    ZacD ngon master
    There's auto-packing plug-ins/scripts that can help you make best use of the space.
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Can't you just look at the UV layout and know whether it's efficient or not? Usually it's pretty obvious if you're wasting space...

    Once you start getting down into saving an extra 1% of space then you're hitting diminishing returns and would be better off spending your time making the texture look better than trying to pack stuff as super-tight as possible.
  • DarthNater
    Offline / Send Message
    DarthNater polycounter lvl 10
    I agree with what's already been said...

    Also, Max (I'm sure all the other software packages do too, but I'm talking from experience) does a great job at packing UV's itself. I think I have only changed my UV's, after letting Max do the work, 2 or 3 times...
  • amotaf
    @ Mop - I just thought it would be a nice feature...tis all :(
  • Axios
    Offline / Send Message
    Axios polycounter lvl 10
    Yeah, I've wanted to see my texture space usage by percentage on some maps. Just for funsies though, not real workflow
  • chronic
    Offline / Send Message
    chronic polycounter lvl 10
    maya has a built in packing function and so does UVLayout - they dont exactly tell you how much space you are wasting but they will pack the UV's together as efficiently as possible.
  • Eric Chadwick
    Martinez's old MAXScript TextureArea tells you what % UV space is being wasted. I'm with MoP though, never use it.
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    I wrote something like that for TexTools once, but its useless so I removed it. You just have to use your eyes because stats do not always tell you useful things. In TexTools you can quickly render a mask of your UV shells as black and white mask to your clipboard, open it in PS and compare how much black pixels are left as to the used white ones.
    UV-packer from the flatiron people does a very impressive job and automatically compressing and placing your UV shells in a very compact way, though I believe manually packing stuff is still key to a controlled result (i.e non rotated clusters when you need them like that).
  • MoP
    Offline / Send Message
    MoP polycounter lvl 18
    Sorry amotaf, I didn't mean to be harsh! :(

    I actually used to think the same as you, in fact I used to check it out by looking at the Histogram in Photoshop after exporting a UV layout where the UVs are filled in white and the background is black - the Histogram could show you a ratio of white to black.

    But it actually ended up just wasting time doing all this stuff, it doesn't really tell you anything you didn't already know. Really if you just learn to tell a good UV layout at a glance this will be way more useful in the long term :)
  • Ghostscape
    Offline / Send Message
    Ghostscape polycounter lvl 13
    renderhjs wrote: »
    In TexTools you can quickly render a mask of your UV shells as black and white mask to your clipboard, open it in PS and compare how much black pixels are left as to the used white ones.

    Specifically, run the blur->average filter and then eyedropper it and check the V amount.

    I used to do this when I was first starting out professionally but I've long since realized that being slightly less space-efficient but making a readable, usable unwrap is much more beneficial. It's easier to texture when I keep different elements near each other and maintain certain spacial relationships.
  • renderhjs
    Offline / Send Message
    renderhjs sublime tool
    well exactly for those reasons (like relationships, pixel rotations,...) I am not a fan of automated solutions either.
  • throttlekitty
    Offline / Send Message
    throttlekitty ngon master
    I really forget which one it was, but I remember a script for Maya that would scan your UVs and give you a usage percentage.
  • CheeseOnToast
    Offline / Send Message
    CheeseOnToast greentooth
    maya has a built in packing function and so does UVLayout - they dont exactly tell you how much space you are wasting but they will pack the UV's together as efficiently as possible.

    Yeah, but Maya's one sucks, and leaves loads of wasted space. UVLayout does actually give you a percentage, and has some nice features like keeping certain UV shells together/near each other so you don't end up with teeth/rivets/greebles scattered all over the map.
  • ivars
    Offline / Send Message
    ivars polycounter lvl 17
    I would like a script that scales my UV-shells to as close to 100% UV-coverage as possible.
    Because I usually don't bother with stacking before I have all shells unfolded first. But I hate when you've stacked them neatly just to discover that your shells are slightly too big or too small, and you'll have to rescale and do it again.... It would give a nice starting point, just scaling them down a notch and start stacking :)

    Or maybe it's just my workflow that's retarded....
  • Mark Dygert
    I normally unwrap everything either planar map or a quick flatten (so everything has UV's), if I flatten I'll normally do it in groups so things are a little organized.

    - Then I run MoP's normalize script which makes sure the scale between the pieces is consistent, it was included in Renderhjs's TexTools too.

    - Then I relax, stitch and pack it into a square shape not carring if it hangs over or outside the space and then just scale it to fit. If I see early on that everything is not really going to fit then I scale it all together so it maintains a consistent pixel density.

    - To check for wasted space I do what others have suggested and just take a look at the layout. I'll normally go into face mode and select all which gives me a good idea, or I'll catch wide open areas when I render out the high contrast template that I normally save out for a wire overlay in photoshop.
  • ivars
    Offline / Send Message
    ivars polycounter lvl 17
    Sounds like the way I do it too. I guess I just suck at eyeballing a perfect square :) Which is why I would like to use the 0-1 space from the start
  • EarthQuake
    One thing to note, is that it can be GOOD to have some excess space. You want to leave room for plenty of padding, so you never want ultra-tight 99% used uvs or whatever, its just counter productive. Its going to mip to hell when its put in game.
  • Mark Dygert
    Yep, good point EQ.

    It also makes sense to have the background be a common color and to pack together things of similar edge color in case they bleed. No need for padding if the area it's going to bleed on, is the same color. This doesn't mean you can pack it all together tightly but grouping becomes a little more important.

    It can also help to snap your UV's to a pixel grid that way they don't start off straddling the fence. Of course that becomes a bit problematic with organic shapes and diagonals but there are always exceptions to every rule.
  • r_fletch_r
    Offline / Send Message
    r_fletch_r polycounter lvl 9
    I usually use Headus UVlayout. It lets you specify bleed spacing and does a much much better job of packing than max. I've sometimes got as much as 40% better coverage than max's packing.

    One of the best things about it is it lets you pack your shells in groups, which is really handy for hands with detached fingers and so on.

    chronic: Uvlayout gives you a percentage of covered space. its under pack->show tile coverage
Sign In or Register to comment.