Home Technical Talk

What is UV count?

polycounter lvl 14
Offline / Send Message
Ben_Flex polycounter lvl 14
I am passing a test for a compagny, they give me a limit of "1500 UV" for a model. Is "UV count" a synonyme for triangle count?

Thanks by advance!

Replies

  • Eric Chadwick
    Options
    Offline / Send Message
    Ask them for clarification, they won't mind, and it will show you are paying attention.

    UV almost always means texture coordinates. But setting a 1500 limit for texture coordinates seems really odd to me (and I've been doing this for >16 years). Anyhow people usually use "TV" to mean texture coordinate vertices.

    They might be using UV to mean something like "ultimate vertices", which would be the # of vertices that the model is split into by the game code. See this article for an explanation. Really difficult to calculate this number though.
  • Mark Dygert
    Options
    Offline / Send Message
    Yep, you should ask. It's probably a test, ask and you pass one tiny hurdle!

    Or the person who wrote up the instructions didn't quite understand what they where given... Or they could know exactly and its some weird engine requirement. It would be interesting to see what they have to say.
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    I too never heard of it before, this reminds me of a similar thread (several month`s ago) where someone else had a test as well at a big studio and he asked also a odd term.

    Turned out after googling, some person at that studio did not knew his vocabulary and used it all over the website. Maybe it was a internal term the studio used (like id software not referring to normal mapping internally) because they did not knew better the first time they were confronted with it.

    anyway the number 1500 is a odd number because in most cases you would refer to something that is the result of powers of 2, e.g 2^8 = 256; Having the limit of tetxure faces sperated from the object model makes no sense either because you would rather define the limit by the object triangle count it self.
    I have a vague assumption that they mean texture size (and mix it up with 'UV'), lets see how it turns out
  • lefix
    Options
    Offline / Send Message
    lefix polycounter lvl 11
    if i had to guess, i'd say 1500 uv count probably means 500tris if using diffuse, spec, normal. or 1500 tris with just a diffuse, etc?
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    usually only lightmaps have a different UV channel but everything else is usually on UVchannel #1 (difuse, normal, spec,...). SO that would not make sense
  • Mark Dygert
    Options
    Offline / Send Message
    If they meant texture size, 1500 isn't a power of 2. I guess some studios use textures that are off the power of 2 grid, like Bungie, but its kind of rare isn't it?
  • Ben_Flex
    Options
    Offline / Send Message
    Ben_Flex polycounter lvl 14
    Thanks eric for the link. It makes me think that "1500" mean the total number of vertex in the uv editor. What i have to find out is how to count them in blender.
  • JohnnyRaptor
    Options
    Offline / Send Message
    JohnnyRaptor polycounter lvl 15
    ask em what they mean to know for sure
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    yeah because the words "1500 UV" are very odd - almost incomplete without clarification
  • Ghostscape
    Options
    Offline / Send Message
    Ghostscape polycounter lvl 13
    Maybe part of the test is figuring out how comfortable you are asking people directly for clarification rather than just nodding your head and trying to figure it out on your own :)

    Maybe its just me but I think that'd be a damn good part of a test - people who don't ask questions and just nod their head without really knowing what you meant are hard to work with.
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    or people taking not their time writing a propper task description ;)
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Well, I dunno, by default if you have the statistics up in Maya, it gives you vert count, edge count, tri count, quad count and UV count.

    In this case UV count is the number of unique UV vertices... so it's probably a more accurate number for performance reasons than just a straight-up triangle count or vertex count.
    If your object is all one material and has no split vertex normals then the UV count should be your final in-game vertex count.

    Kinda makes sense to me, although I haven't ever heard anyone describe a budget in terms of UV count before.
  • Jasp
    Options
    Offline / Send Message
    Jasp polycounter lvl 12
    i think i know what studio you're talking about : )


    as MoP said, you can see the UV count along with the usual stats in Maya viewport, but i don't remember seeing a UV count in any other app...
  • man_o_mule
    Options
    Offline / Send Message
    man_o_mule polycounter lvl 18
    so it's a test to see if you use maya. tricky..........
  • danr
    Options
    Offline / Send Message
    danr interpolator
    if the term is correct, it sounds a bit like a tri or quad stripping test. The better the strip, the lower the "uv count" in the way that MoP describes. But that's an arsehole of the most vinegary stinging kind, you should definitely ask
  • Mark Dygert
    Options
    Offline / Send Message
    Ghostscape wrote: »
    ...people who don't ask questions and just nod their head without really knowing what you meant are hard to work with.
    Agreed and agreed. It's like a bad sitcom. Only 2 weeks later you're stuck fixing whatever it was they just finished muddling through.

    If you don't get all the info you need up front, its not the persons fault for not giving it to you. If you ask and they fail to provide the info, at least you have it on the books that you asked and they dropped the ball.

    I think MoP's onto something. It's probably another way to gauge how effective applicants are at unwrapping. Counting UV verts would be closer to the final vert count that goes in the game. I think every map that gets applied gets its own set of verts? So if there is a normal map it doubles, a light map it triples? Don't quote me on that I can't remember where I read it...

    If you're using 3dsmax you have to do it more manually by breaking the actual model at the uv seams then checking the vert count. I think the obj exporter can be set to break models along UV's, just reimport it and check the vert count? Or is there an easier way?
  • SHEPEIRO
    Options
    Offline / Send Message
    SHEPEIRO polycounter lvl 17
    dont you also need to break any hard edges
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Yes indeed, which is why I said "If your object is all one material and has no split vertex normals then the UV count should be your final in-game vertex count."
    Since the only thing splitting verts will be UV seams. No hard edges.
  • Mark Dygert
    Options
    Offline / Send Message
    SHEPEIRO wrote: »
    dont you also need to break any hard edges
    byf2_figure2.jpgTaken from Eric Chadwick's site

    Games break meshes at material breaks (multiple materials applied to the same mesh), smoothing breaks (hard edges), and UV seams, I think that's it. Then you have the final vert count that will be in game. BUT Technically they didn't ask for all that just UV vert count, so technically no not to meet their requirement.
  • SHEPEIRO
    Options
    Offline / Send Message
    SHEPEIRO polycounter lvl 17
    aye, sounds like theres a good script idea here ;-)
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Pretty sure Monster (Juan Martinez) wrote one a while back. Or I may be confusing him with someone else - either way, someone definitely wrote a maxscript for "ultimate vertex count" calculation.
  • renderhjs
    Options
    Offline / Send Message
    renderhjs sublime tool
    erm this perhaps?
    selection[1].modifiers[ #unwrap_uvw ].NumberVertices();
    
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Heh, no, one which counts up all material splits, hard edges (smoothing group) splits, AND uv splits, and displays a total vertex count. Not just UV count ;)
  • EarthQuake
    Options
    Offline / Send Message
    Vig wrote: »
    byf2_figure2.jpgTaken from Eric Chadwick's site

    Games break meshes at material breaks (multiple materials applied to the same mesh), smoothing breaks (hard edges), and UV seams, I think that's it. Then you have the final vert count that will be in game. BUT Technically they didn't ask for all that just UV vert count, so technically no not to meet their requirement.

    One thing to note here, if your hard edge, uv seam, and material split all happens to be along the same edge, you're only doubling, not quadrupling the vertex count there.
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    Yep. Which is why a lot of the time if I'm baking a mechanical normal-mapped model, I'll make some of the UV seams into hard edges, so that you get a cleaner bake without having to add any extra overhead at all.
  • Eric Chadwick
    Options
    Offline / Send Message
    James Haywood wrote that ubervert script, I don't see it on his site though.
  • Ghostscape
    Options
    Offline / Send Message
    Ghostscape polycounter lvl 13
    MoP wrote: »
    Yep. Which is why a lot of the time if I'm baking a mechanical normal-mapped model, I'll make some of the UV seams into hard edges, so that you get a cleaner bake without having to add any extra overhead at all.

    Is there a script that will automatically do this in Max? it seems like one should exist.
  • MoP
    Options
    Offline / Send Message
    MoP polycounter lvl 18
    I did one for Maya, it's slightly harder in Max because smoothing groups are horrible - for example if you have a mesh with more than 32 unique UV shells, you're going to run out of smoothing groups unless you start doing stuff like comparing UV shells to see which ones aren't geometrically "touching" at all in order to assign a "safe" smoothing group to them. If you don't do that then you will likely end up with some parts not being separated correctly.

    The nice thing about Maya's hard/soft edges is that you can literally just go "get all UV border edges, make them hard edges", it's pretty much a 2-3 line script. Doing the same thing in Max and making it foolproof would be a lot more tricky.

    Plus this solution isn't an ideal fix in some cases - for example you might have a UV seam in a place where it makes more sense to have a "soft" edge - in many cases this will result in a cleaner bake and less chance of a seam than if it was a hard edge. Still, for mechanical models with lots of 90-degree corners it can be quite handy especially if you UV seams are in fairly well-hidden places (which they should be anyway tbh!) :)
  • Xoliul
    Options
    Offline / Send Message
    Xoliul polycounter lvl 14
    MoP wrote: »
    The nice thing about Maya's hard/soft edges is that you can literally just go "get all UV border edges, make them hard edges", it's pretty much a 2-3 line script. Doing the same thing in Max and making it foolproof would be a lot more tricky.

    I thought exporting to .3DS did that in Max? I could be wrong, been a long time since I got frustrated about that damn 3DS format and decided never to use it again.
  • warby
    Options
    Offline / Send Message
    warby polycounter lvl 18
    MoP wrote: »
    I did one for Maya, ...

    any chance you are gonna share this with the world ?!
    because i am looking all over for a script that calculates the inevitable in game vert count and i cant find anything !

    ( when it comes to squeezing everylast vert out of a drawcalls vertexbuffer knowing the precise number in maya while building is KEY )
  • mdeforge
    Options
    Offline / Send Message
    mdeforge polycounter lvl 14
    This thread is amazing. Just wanted to say thanks to the vets here for sharing the info. I had no idea about any of this stuff before.
  • Eric Chadwick
    Options
    Offline / Send Message
    I found a copy of James Haywood's ubervert script for 3ds Max. It was pretty slow to run, but it did give an accurate count. Might give you some ideas.
    http://www.ericchadwick.com/examples/files/HaywoodTools-UberVertCount.mcr
  • Mark Dygert
    Options
    Offline / Send Message
    MoP wrote: »
    The nice thing about Maya's hard/soft edges is that you can literally just go "get all UV border edges, make them hard edges", it's pretty much a 2-3 line script. Doing the same thing in Max and making it foolproof would be a lot more tricky.
    Yea I was looking into this a few weeks ago when I needed to break the edges on a bunch of models along UV boarders. Its nearly impossible because max doesn't transfer edge or vert selection out of the UVW Unwrap modifier like it does poly, it's totally retarded and broken. Actually, according to renderhjs it is more or less designed to work but the maxscript has been broken since max9.

    excellent autodesk... simply marvelous

    renderhjs created a script that works in max9 and lower that transfers the uv open boarders to edit poly like it should. It's a bit of a pain using max9 but luckily for me I had it installed.

    Sadly they have an unmapped function in the customize menu, to select the UV boarders (or open edges as they call it) per shell or all at once, which is similar to Maya but you can't transfer it to edit poly so its useless... HOPEFULLY they work out the kinks in 2012... Not going to hold my breath tho.

    I don't think forcefully breaking UV edges will give you an accurate UV/material, but it might get someone closer to an accurate number.
Sign In or Register to comment.