Heya,
New question for all you pros out there. I know environmental modeling takes different forms dependent on the game or scene being produced. Just to focus, though, let's use buildings as an example. In FPS buildings, is there a methodology to unwrapping any buildings, or even interior areas like hallways or rooms, that is different than unwrapping a typical object (like a mailbox or door)?
I've read several sites (such as
www.poopinmymouth.com's tutorial on 'Thirding'), but I'm still somewhat confused. If you build a structure to use tiling textures, how do you unwrap something like that to be able to use tileable textures? And what do you do if your hallway or building isn't square or rectangular, but is curved or something a little less standard in shape?
With what I've studied so far, we haven't covered this type of environmental modeling very much. We've done tons of individual assets and a few characters, to include high-poly and normal mapping, but modeling full-blown scenes without having to use tons of high-res textures (such as a single texture for an entire wall) is alien to me.
Here's an example of what I'm talking about.
Post-War Scene. (linked due to size) This is part of a project I finished up last semester. Total tri-count for the whole scene is around 15,000, including assets, which isn't too bad. The problem is with the textures. The grocery store in the center has 2048x2048 diff/spec/norm maps for just the walls, and uses another 10-12 smaller textures for other parts, which in my opinion is pretty ridiculous if I were shooting for more of a real-time style scene.
And that's the problem. I'm not really looking for critiques on this piece so much as a change to methods so I could become more efficient in my modeling and texturing. I'm fine on stand-alone assets, but if I want to do full-blown environments, I need to get some new techniques.
Replies
http://boards.polycount.net/showflat.php?Number=91531
Seems a lot of the discussion on that thread is pretty high-level. As strange as it sounds, I understand that more than the simple, basic methodology behind the kind of environmental modeling Rorshach was talking about. He mentions getting 60-80 assets out of his modular designs, but how did he reuse these assets? Was it a simple 'just put this column somewhere else,' or was he able to mix and match the geometry and maps he'd already made in other assets?
I suppose this is in essence what I'm looking for. How do you model something to be modular, or to be able to reuse the same small texture over larger portions of a structure or hallway? My current hallway segments are ring-shaped, unwrapped and essentially mirrored, with no problems on the normal map when I throw it into max. The walls, floor, and ceiling are all on the same unwrap, with pipe sections and lighting on a second unwrap.
Reusing textures, hmmm. If you don't understand "thirding" I'm not sure how to explain it.
I recall seeing some more tips from Rorshach about modularity, I'll try to find the thread...
http://boards.polycount.net/showflat.php?Cat=0&Number=164474&page=0&fpart=2&vc=1
how do you unwrap something like that to be able to use tileable textures?
[/ QUOTE ]
You can simply extend uv coords outside [0..1] to get tiling. UV coordinates will always map to some point in a texture, and the mapping is done so anything that is contiguous in uvspace will texture nicely. This means that for any axis in which a texture is seamless, you can freely ignore the texture boundary.
Take the example of a quad that is 2048*512 units in size, on which you wish to tile a 512*512 seamless texture. You would do something like unwrap the quad to the full size of the 512, then scale the uvs by 400% on the x-axis.
(sorry if you already understand these basics - it seemed to me that you didn't quite twig the way uvs work)
And how do you ensure your geometry meets those exact dimensions so precisely?
Your geometry won't need to meet any criteria for this to work - you can unwrap pretty much any geometry and scale it outside the texture bounds just fine. Scaling doesn't have to be an exact multiple of the texture size (although you may want this if your texture is something like panels), as what is important is that uv coords are contiguous. I simply happened to choose nice values for my example so it would be clear.
In that case would you have a multi-sub texture and simply apply different material IDs to each section of the wall, leaving the UVs the same?
And I'm assuming you'd have to engineer your wall to support that by slicing the geometry into fourths, right?
Another common technique to break up tiling is to use the one seamless texture, but add points of interest using decals. In your scene http://students.guildhall.smu.edu/~mjones/wip/post_war_scene.jpg, you might have used that approach for the areas on the far right building where bricks show through the plaster. Combined with thirding or similar tiling schemes, you should be able to texture the whole building nicely without using too much space or too many draws.
You might also find some nuggets in "Beautiful, Yet Friendly" by Guillaume Provost.
Source is pretty weird. Collision is tricky (to automate or manually generate, that is the question), displacement geometry is actually faster than blocky brushes, water is a bitch, and... well it's pretty annoying, but whatever. I can still make what I want, most of the time.