Home Technical Talk

Texture Size Question

polycounter lvl 10
Offline / Send Message
Heorogar polycounter lvl 10
Hey everyone! I had a quick question for you all. I am working on a character that will be going in engine, and right now I have all my normal maps and AO maps baked out and I wanna test this out. All my maps are baked at 2048. So that means for just the head theres a 2048 NM and a 2048 AO, body is the same. This seems really.....high. Should I shrink it down to 2 1024 maps for the head and body? or is that still to high?

Also The character is one mesh is it ok to make 2 different shaders one for the head and the other for body and just apply those in the Mesh LODInfo ? (Im using UDK btw) I just want to make sure this is as optimized as possible while maintaining good texture fidelity. Thank you all for your time!

Replies

  • EarthQuake
    Options
    Offline / Send Message
    2k for the head is pretty excessive, 2K for the entire character may or may not be excessive depending on a variety of factors. 2K for a head is like what, 8 times the texture density as the 2k you're using for the body? Is there a reason you're going with two textures?
  • Heorogar
    Options
    Offline / Send Message
    Heorogar polycounter lvl 10
    Hey man, thanks for the response! So I should just make him 1024 for the body for what would be the diffuse (with AO baked in) and the normal, and same for the head right? That should cut down significantly on texture space. I was thinking that 2k maps were a bit over kill.

    Theres no real reason I have it as two separate Uvs. It just made since to me to make them separate for ease of texturing. I figured the head Would need as much resolution as the body cause thats what people would focus more on. Is it bad that I did that?

    This is just for a portfolio piece, I just wanted to make sure it would look nice :) and be optimized for the UDK.

    Thanks again for the help!

    P.S. He is all one solid piece of geometry except a few little bits and pieces which are all on the body UV space.
  • Permafrost
    Options
    Offline / Send Message
    For a portfolio piece I would keep it as industry standard as possible. Remember employers are gonna want to see that you can do the work set within their guidelines. If this is just personal and not going into a professional portfolio I don't see a problem with it. I would personally keep it to just one texture, just makes it a little easier to deal with.
  • Blaisoid
    Options
    Offline / Send Message
    Blaisoid polycounter lvl 7
    i've certainly seen games that use separate head textures as big as body textures.
    not sure how common a practice is it though.
  • SpeCter
    Options
    Offline / Send Message
    SpeCter polycounter lvl 14
    Many eastern games do that to get more detail in for their heads.
    Oh and as far as i know/remember they did that in mass effect too.
  • Bal
    Options
    Offline / Send Message
    Bal polycounter lvl 17
    Yeah 2048 for a head alone isn't so uncommon, especially for games with cutscenes where characters are gonna be talking, with camera closeups etc.
    The difference in texel density between body and heads are pretty obvious in most recent games, first one that comes to minde is Mass Effect 2 for example (not sure if they were using 2k for the heads though).
  • Heorogar
    Options
    Offline / Send Message
    Heorogar polycounter lvl 10
    Hey everyone! So maybe it can be broken down to this. Main player character and bosses could use 2k maps for head and body, while lower characters like generic enemies and other NPCs cause use 1024 maps depending on how important they are?

    Also another thing i was wondering if I have a diffuse and normal thats in 2k and the character has Alpha for like fur or something does the alpha have to be 2k or can that be lowered to 1024 to save on texture space?

    Sorry for all the noob questions :(
  • Eric Chadwick
    Options
    Offline / Send Message
    Alpha is usually contained in the Diffuse bitmap, so it has to be the same size. It is extremely rare to use a separate bitmap just for alpha.
  • Bal
    Options
    Offline / Send Message
    Bal polycounter lvl 17
    It depends, sometimes other stuff can be stored in the Diffuse alpha channel, like some specular map if you're not using colored specular.
    Often times I prefer to use a separate smaller map for alpha, and if you only have alpha on a small portion of your model, it can be interesting (more optimized + better quality) to create a new UV set giving those areas extra space, that you'll just use for the alpha map.
  • Heorogar
    Options
    Offline / Send Message
    Heorogar polycounter lvl 10
    Awesome, make sense. From what ive gathered is that it all depends on the situation for the texture sizes. Unless im totally misunderstanding what you all have written. So having the head head and body UVs separate is not out of the norm, having a 2k head texture isnt bad depending on the situation but may not be as optimized as it could be.

    Can any of you guys be so kind to give me a run down how your workflows on getting your characters in engine? Or if you can point me to some documentation or something that would be cool too. Thanks again you guys for the help!
  • EarthQuake
    Options
    Offline / Send Message
    Having the head separate is certainly not out of the ordinary, generally though I like to keep everything on one texture, a few reasons why:

    Pros for 1 texture
    A. Simplicity sake
    B. Less materials, less draw calls etc
    C. Easier to get a seamless model when you don't have a texture split with multiple maps, more important when the neckline is visible.

    Cons
    A. If you have swapable heads, outfits, etc
    B. You can cut down the body size but keep detail in the face if needed when optimizing

    Generally its not uncommon to have more detail in the head, personally I don't like to go overboard on this, but i'm not really a character artist. I think unless you know for a fact you're going to have close ups of the face, its probably not worth the effort. There is a lot to be said about having a consistent texal density as well, when you've got a really detailed head, the rest can look really low resolution. This is something that annoys me but not everyone cares.

    If you're going to use more detail on the head, I would't do... lets say more than 2x.

    If we consider that the head takes up roughly 1/8th the mass of the character, a 2K map for the head vs a 2K for the body, that head texture is about 8x as large(just to explain what I was saying earlier).

    So with all that taken into account, I would probably suggest 1 2kx2k map for the entire character, uv the entire thing to be even density, and then scale up the head 150x150%(2x), then pack everything together.


    Generally for anything with fur, you're better off using an additional smaller texture because:
    A. with DXT compression alpha doubles your filesize, so a 32bit diffuse is the same size as 2 24bit diffuse textures.
    B. You only really need to run a material with alpha on the bits that need it, this will save a little performance if you have it isolated to your alpha bits.


    Sorry, I don't know much about UDK specific stuff.
  • Eric Chadwick
    Options
    Offline / Send Message
    In my experience, alpha in a separate texture makes sense on a console, but not on a PC.

    Apparently a state change (when part of a mesh changes from one material to another) doesn't have as big an impact on a console as on a PC, but the cost of rendering alpha is higher on a console. So splitting the alpha makes sense there. My experience is on the Wii, but I've heard the 360 and PS3 have a similar limitation.

    Does this jive with what you guys know?
  • EarthQuake
    Options
    Offline / Send Message
    In my experience, alpha in a separate texture makes sense on a console, but not on a PC.

    Apparently a state change (when part of a mesh changes from one material to another) doesn't have as big an impact on a console as on a PC, but the cost of rendering alpha is higher on a console. So splitting the alpha makes sense there. My experience is on the Wii, but I've heard the 360 and PS3 have a similar limitation.

    Does this jive with what you guys know?

    I'm not sure of the cost in terms of rendering/shader performance, I was talking specifically about VMEM.

    IE: Adding an extra 512x512 diffuse+alpha, 24 bit spec, and normal map is the same memory hit as simply using a 1024 with alpha and 1/4th the VMEM cost of a 2048 with alpha.
  • Brendan
    Options
    Offline / Send Message
    Brendan polycounter lvl 8
    The justification for using a different texture for the head is usually so it can use it's own material as efficiently as possible, right? Naughty Dog is using a cut-down fake SSS shader for their heads, and it sorta makes sense to only pay for the fancy shader for the 256 or 512 head and not the entire 1024 character, right?
  • Bal
    Options
    Offline / Send Message
    Bal polycounter lvl 17
    Yeah, most modern games will use a different material for the skin areas anyways (skin shaders or such), still you could have everything on the same map and 2 different materials using the same maps, you'd save one texture call per map.
    I just feel it's easier to work with head/skin and clothes on separate maps, and later on it makes it easier to re-size or stream differently the 2 maps (for eventual last minute optimization), or even to set different filtering type, like doing some anisotropic filtering on head textures but not on the body, etc.

    Still everything EQ says is very true (as usual), it's always a matter of doing what is best depending on the context, I'm pretty biased currently about characters because of the kind of projects I'm working on.
  • EarthQuake
    Options
    Offline / Send Message
    Yeah I actually meant to write about the seperate head shader bit there, that's very common for the face to have its own shader. Especially if the rest of the body is covered. If you've got flesh showing on other areas of the body it isn't quite as logical to split off the head.
Sign In or Register to comment.