Home Technical Talk

Advice on compiling my textures for use in-game?

Hi All!

I was wondering whether anyone could give me some advice as to how I can compile my textures into one big sheet for use in a game?

I'm working on meshes for an indie strategy game at the moment, so lots and lots of little buildings. They're planned with the same overall modular style, so many different models will be hopefully able to use the same texture elements.

Thing is, this is the first project of this scale that I have had to do (I'm used to working on single objects which have their own unique textures). I've already asked the game designer if he has a way to automatically make one big page texture if I give him several small textures, but he doesn't, and he would prefer one large texture to several smaller ones as its more efficient to load in when you start the game up.

(tho I'm wondering if he'd be OK with a couple of larger textures, not literally just one massive texture for the all of the assets I'm making..)

So, do people plan everything out onto one monster texture sheet from the start with things like this? There are over 50 buildings to make, so that seems a little daunting at the moment :S

Thanks! :)

Replies

  • jonatanl
    Options
    Offline / Send Message
    Nvidia has got a tool for what you are after. Try i out;)

    http://developer.nvidia.com/object/texture_atlas_tools.html
  • Xoliul
    Options
    Offline / Send Message
    Xoliul polycounter lvl 14
    Well, first you sort of need to decide on the resolution needed for the buildings. Is it gonna be simpler, handpainted diffuse only, or will it be more advanced with normalmaps? The latter will probably require slightly higher texture resolution. I'm thinking you'll probably need to do one 2048 sheet, as a 1024 might be on the small side unless you keep things really efficient.

    I'd really consider your modeling approach as a big factor in how you do the textures: personally i would start creating simpler modular blocks (like a tower, a wall, a roof, etc) and unwrap and texture these onto the big sheet, just filling it up gradually. You then build your final buildings with these modules and create new ones when needed. To me that sounds like an efficient and thus fun way to do things.

    I documented and tested this method a little bit for a similar project, but dropped out when the project got put on hold. I do believe it would work in production.
  • Wikivic
    Options
    Offline / Send Message
    jonatanl - thanks for the link, I'll check it out :)

    Xoliul:

    Thank you! Great solid, understandable advice :) The buildings are going to be mainly handpainted diffuse textures only, with some emmissives (for glowing windows etc.) and maybe the odd spec map on some of the more luxurious ones, for added shiny.

    At the moment I'm going through planning all of the buildings so I know exactly what I need to construct. Originally I was going to model them all uniquely and then unwrap and overlay the UVs as needed when texturing, but now I'm wondering whether I should model + texture certain parts (a wall, a section of pipe etc.) like you say, and then contruct the buildings out of those parts? Hmm.. I can't tell which would be more efficient? :S

    I think I'll start with a 2048 sheet, maybe split it into sections for each type of material, and then fill it up gradually. I have 2 major styles for the buildings that will require completely different colours (a normal style and a luxurious style), but I would think they would probably both fit on a 2048. I'm a little worried about wasting space if it turns out I don't need a large area of the texture sheet in the end, but I guess with good planning I should be able to fill it pretty efficiently :)

    I'm very excited about this project - its going to be tons of fun! Its just hard to know where to start with a challenge that you've never really been faced with before ^^; Thanks again!
  • Wikivic
    Options
    Offline / Send Message
    Could anyone give me some advice here as I'm a bit confused :(

    I want to follow Xoliul's advice above and create one big texture sheet for most of the diffuse textures I'll need over 50-60 little strategy-game-type models.

    However, in order to unwrap everything onto one big sheet, keep track of which UV shells are in which area, and overlay bits where needed, wouldn't everything have to be one massive mesh in 3Ds Max?

    Ideally I would like to organise my buildings at one structure per Max layer, and 10 structures to a scene (therefore not overloading Max, or myself, with a million layers at once), but I can't see a way to keep track of my texture sheet as there are going to be elements of models that get re-used throughout so (e.g.) it would be really inefficient to say, have one texture for buildings 1-10, and another one for 11-20, as parts of the structures would be repeated.

    I feel like there's something relatively simple I'm missing here, but in all my net/forum searches I can barely find anyone talking about stuff like this...

    Any help would be very much appreciated! :poly139:
  • Tavor
    Options
    Offline / Send Message
    Tavor polycounter lvl 8
    To edit all of the models' UVs at the same time, you'd just select the ones you want to edit and put a UVW Unwrap modifier on them. You can edit their UVs as one big sheet that way.
  • Wikivic
    Options
    Offline / Send Message
    Tavor - thanks for the tip! I've actually just finished a little group of objects so I'll have a go now :D

    Does that mean that I'd probably want to model everything, unwrap as I go and re-use as many elements as possible, then once everything's pretty much modelled, unhide every single mesh and select them all, then do a final UV layout from that?

    All of my buildings would be intersecting as I'm modelling them all at 0,0,0 - but I guess that wouldn't really matter as I would just be re-arranging UVs? ^^;
  • Tavor
    Options
    Offline / Send Message
    Tavor polycounter lvl 8
    Does that mean that I'd probably want to model everything, unwrap as I go and re-use as many elements as possible, then once everything's pretty much modelled, unhide every single mesh and select them all, then do a final UV layout from that?
    Yep. I'd also pay attention to the texel density for the entire set while doing each asset. Either making it uniform or dependent on which mesh needs more pixels on the texture sheet.
    All of my buildings would be intersecting as I'm modelling them all at 0,0,0 - but I guess that wouldn't really matter as I would just be re-arranging UVs? ^^;
    Yes, UVing-wise it wouldn't matter, but, to make it easier on yourself, you could autokey them in a separate location (other than 0,0,0) so that when you are doing the unwrapping its easier to see the end result. Then, when you need to export that piece, just shift the piece back to the origin with the animation slider.
  • Wikivic
    Options
    Offline / Send Message
    I tend to start by making everything uniform, then tweak some things slightly larger if they need it when producing my final UV layouts, so that shouldn't be too much of a problem.

    That's a brilliant tip to autokey the models to different locations! I feel a bit dense for not thinking of that myself, but I guess its a different mindset you need when moving on from producing single objects or small scenes for portfolio work, to keeping track of large amounts of models for an actual game.

    Thanks again, I feel much more confident about my process now :)
Sign In or Register to comment.