PDA

View Full Version : Basic questions about texturing a game environment.


Gaboon
08-11-2005, 06:52 PM
I am trying to texture a game environment for my portfolio. I want to do it the right way once. It needs to be able to be plugged into the ‘typical’ game engine (if there is one). I am using 3ds Max. So I have some basic questions.


It’s my understanding that something like a castle would be textured in layers and using tiling. I’m assuming that I would make a basic brick texture tile (maybe 256x256?) and that would go on the bottom layer. Then have separate layers with other features like water stains, chips, grime, vines etc.

How big would these textures be?

Would I tile these also?

Is there a way to have a different UV maps for these layers than the bricks?

In the interest of memory budget, why would you have a bunch of textures in the material instead of just one with everything (bricks, grime, chips etc.)?

On something like a castle, one that the player could walk right up to, what would be the typical size for these textures?



I know that I am asking some very general questions that might be difficult to answer simply because of the range of capability among game engines. I am just looking for a sort of standard to base my work off of. I’m hoping that these can be answered and would very much appreciate the time spent doing so. I’ve seen many character textures flattened out to reference, but I’ve never seen any environment textures. It would be great if anyone could refer any tutorials. Thanks J

kaylon
08-11-2005, 07:55 PM
The quick answer is...


256x256 is about norm. Tiled .
512x512 for larger detail areas. Tiled .
Game engines editor does all the fancy material shaders and are set up in there.

Long answer...

When people say you can use 2048's and 1024 don't listen to em...you can use them on characters but I'd shy away from them as far as enviroments go, at least for another couple of years, and by then everything will just use 8x8 flat colors and per pixel material effects so who cares :)

Old fashioned way was to have all detail (grime, cracks holes) on one texture and do texture strips. 256x1024 .. bottom, 2 x middle and top and texture sets, plain wall. plain wall with hole, plain wall with brick base, plaine wall with pipe etc and to divide your model also in such away. Vines etc are done using modelled flats with alpha, and still are now.

Most are now done with custom shaders within the game editor or custom (written for specific engines) plugins for max. This is where your model will either work or not, if your wanting to texture it for a game engine like Unreal then you use unreal shaders....in the unreal editor. You set up your base UV's and texturing in Max, but then create material shaders in Unreal that use your textures but add all the fancy stuff like spec lighing etc. As a genral rule it's not one tool fits all, you have to use a few to get the job done.

Also with "most" engines the bulk of the geometry is also created in the games editor, you then import meshes to clamp to game geometry. Even engines that work only with Max etc as there editor will use a similar system where very simple geometry will be created and then toolbox sections would be made to then Instance around the structure to create the detail. It is very very very rare to use something so big as a single import, it's almost always done in sections....

Enviroment artists make assets for level designers to use in a game enviroment, it's the details we do they do the rest :) We make the world look cool, they make it play cool. An item as large as a castle needs to be planned on a level scale. Just modelling a huge castle and textureing it up as one export would not be efficent in any engines.

In reality if using Max as the games editor the castle needs to be cut up into sections...have collision geometry (sometimes) and LOD geometry (almost always but new auto procedures exist now) made etc

Even shorter version.... as long as textures are square, tile and look good you can do anything you want. The bulk of max material settings can be reproduced somehow within current engines. You may not be able to use it in this raw max textured state in the engines but with combo textures and channel UV's you can "simulate" how it may look in a current engine. And if all your wanting to do is show a "mock" as a render then cool...

If your wanting to actually show game screenshot then grab the editor for that game and learn it cos it's in there that you do the majority of the work.

hope that helps a bit.

K.

Gaboon
08-12-2005, 05:53 PM
Wow, you really broke it down. Thank you. I'm not sure I am understanding about texture strips. You mention different kinds. Are these separate textures with different features on them?

Mastahful
08-12-2005, 09:16 PM
I agree with you Kaylon, besides you have far more experience in these sorts of things than me, but some games do use large textures for environments...I was just looking through the texture browser of UrealEd for UT 2004, and the majority of textures are 1024x1024. But probably because it’s a PC game, I doubt many console games use these texture sizes.

kebrus
08-13-2005, 01:31 AM
make the textures with 1024x1024

think, probably doing something 1024x1024 will take you more time and effort, but remember, most game engines there exist now are made to make averyone play the game, so every texture come with various sizes, so someone with a good graphic card will see the texture at 1024x1024 and someone with a worse graphic card will see the texture at 512x512 or 256x256, and even if you think at the end that will not need all that size you can always resize it... and remember new graphic cards are release every so often, just look at some images from ut2007 and tell me which size are they using... 1024x1024 is a good choice now

one more thing, keep in mind that you are using them to games, so the affects that you can achieving with 3ds max and other doesn't matter, take the time to understand the game engine... for example with unreal editor you can make some pretty good reflection and things like that but not bump mapping or normal mapping, like in half life 2 or counter strike source, and this applies to grime, vines, etc. make the base texture first, apply them in the game engine, and see you if you have to make a new texture with a grime and apply it separetly or if the game engine itself has a system of layers, so you make the base texture and apply the grime over it...

obelisk
08-13-2005, 02:04 AM
I'm not sure I am understanding about texture strips. You mention different kinds. Are these separate textures with different features on them?

I think what Kaylon's saying is you'd use 3 or 4 stacked tile rows for a wall. The top row would have the grime and stuff that accumulates under eve's. The middle ones would just be wall (windows, pipes and whatever), and the bottom ones would include grime and grass, and all stuff that lives in corners. All rows are painted so they can tile againset one another, and the rows above and below.

---------------------
| 1 | 1 | 1 | 1 |
---------------------
| 2 | 2 | 2 | 2 |
---------------------
| 3 | 3 | 3 | 3 |
---------------------

As Mastahful says, 1024s are ok for Unreal2004 on a PC, but if you were working to PS2 spec, it would be all 128s with an occasional 256 for most engines.

Let's see something...

Cheers

-O

Hourences
08-13-2005, 12:56 PM
The size depends on a wide range of things. If you only have diffuse textures they can be quite big but if your surfaces have whole materials made up out of like 4 different textures you wont be able to make all 4 of those high res.

But actually that isnt really important, you said this was just for your portfolio so in that case I would use 1024 everywhere or even 2048. 1024 is becomming the standard. 256 was used 7 years ago already you know so..
Showing high res things shows you can do both high res and low res (you can always downscale). Showing 256 maps or so shows you can just do low res things which isnt that impressive for a portfolio.
Also if you get a job right now you have a big chance that youll be hired to next gen games, which are all on production right now. And those next gen games dont use 256 maps anymore, not even the console ones.

Most decent engines support multiple UV channels and sets

If you want to have such texture strips you might also consider using a combiner/materialblend/whatever your engine/program names it and using that to blend the original brick texture with an extra feature like a window. If you do that right you can save memory and make the original brick texture much higher resolution
It would only need it once instead of 3 variations of it.

Scratches and damage on walls can be done using projectors and decalls which will further help your memory + make it appear more random

kebrus
08-13-2005, 10:48 PM
sorry, triple posts... still new here

kebrus
08-13-2005, 10:54 PM
sorry, triple post... still new here

CGTalk Moderation
08-13-2005, 10:54 PM
This thread has been automatically closed as it remained inactive for 12 months. If you wish to continue the discussion, please create a new thread in the appropriate forum.