I'm really new to this, but I am planning on making a small tutorial about how to model and texture environments with one map. It's going to be very rudimentary, but considering the amount of "figuring out" I did this weekend without much successful luck of finding information, I feel it's needed. It would have saved me many hours.
Before I get started though, I just want to make sure I have the process correct. I basically just found bits and pieces about how to do this, so I'm probably missing some steps. If you guys would help me confirm that the steps I'm thinking are correct, it will benefit someone who was once at your skill level. (weze all n00bs at one point) Since I just figured most of this out, I'm going to try to get it done while it's fresh on my mind.
The conceptual process is this.(so far, would like feedback)
1)model object.
2)layout uv's.(or skip and do in step 5??)
3)find textures.
4)make single texture map based on found textures.(creates an interesting problem for textures that don't look good on model once applied, replace? At this stage at least figure out your spacing)
5)re-map uv's to new texture map.
This was the process I was looking for. I had previously modeled/textured object, but only tileable textures with one texture per face or object.
The links that I found Important are here:
A beginning knowledge of UVing is required, but thats about it. The basic texturing video pretty much explains everything.
Do you think this would be useful? Is it even necessary to create? Am I just the only one who didn't get it? lol
Questions:
1)At what point do you decide what textures you're going to use?
Replies
Also, what if it's not a modular building?
Could you also talk a little bit about making efficient cuts? Or upload an example of an efficient cut versus a non-efficient one?
(Note: example was an extremely simplified case
But otherwise, yeah...that's how I'd do it...you can also just use some solid color placeholders during modeling/UVing, just to indicate which area of the texture is reserved for which type of material...the main reason for using a placeholder material would be teamwork...if you have a texture artist and a modeler, the texture artist could finalize the texture while the modeler makes the models/UVs on the basis of that preliminary texture...but again...I am just now inventing this workflow, so it is not tested, let alone production proven
* (if you have additional stuff on the texture sheet that is...if you just use one tilable texture with nothing else on it, you can just scale the UVs out of the 0-1 square)
Yes it very good for perfomance, but also sometime it's hard to get UV working.
Most modern engines can use submaterials. I've been doing some research here, and usually 4-5 submaterials have very little impact on performance. But remember the more simple object the less material you should use.
I.E Crytek for more unique buildings for Crysis used 28 submaterials. Seems a lot ? Yes but those buildings appears 2 or 3 times per map. On other hand, simple modular wall uses here 4 submaterials. I've been popping this wall few hundred times on map with zero impact on performance. But as you get more unique geometry you performance start dropping. So for simple meshes you really wouldn't;t use more than one.
On other hand more complex buildings cloud use more complex setup, and reuse same multi-material many times and performance impact is minimal.
So using many submaterials work nice, at least for CryEngine2/3.
For Unreal it seem worse, but I think it's still manageable, at least for more complex assets. But don't go crazy. Unreal physically draws geometry for every submaterial on object. While it might be huge problem with big assets it can be a quick problem with simple modular assets.
Anyway I found that best thing is to (if you can), use texture atlases and unique tileable textures. If you do it right, you save lot's of drawcalls, although textures can gone big (4kx4k atlas), they are only few per entire map.
An excellent breakdown of how to plan the construction of buildings for game use.
More here
http://wiki.polycount.com/CategoryEnvironmentDesign
@eric Thanks man. I didn't even look in environment design...
Question 2: When you're working with one texture map and you go to make your normal maps, how do you do it? For example, I can't take my single texture map into crazy bump and give different materials different values, can I? Do you have to copy each map, then paste it in the same place as the diffuse map's location in a new file?
I appreciate your help guys.
I think making a tutorial at this point might be getting a bit ahead of things. Though teaching someone else usually has a way of pointing out precisely where I am most deficient, so...
yea, the motivation for me is to have starting point for people who want to try their hand at environment modeling. I just started, so I'm in no way trying to put out that I know what I'm talking about, but hopefully I'll learn myself and help someone along the way. Even at this point, theres a thread that discusses the very issues I was having.
Well, I'm not expert here (I remember when I have struggling exactly same problem, which was "WTF how those guys doing that), but after all, is not that big problem.
In general you can make some points here:
1) try to keep texture in atlas that is power of 2 size. While is not really needed, it will help with positioning UV later.
2) It's pointless to do any unwrap before you have layout of the texture. Really it's gonna change anyway.
3) It's really good if one person make texture and modeling. If you do so, you can make some texture, put in object see how it look, change object see how texture match and iterate faster.
4). Also another way of making atlas is to model your object, position UV as you want, Render To Texture and then use it as basis. I found it work nice for similar assets like walls.
5). If you want to tile texture... Divide mesh equally. Into equal quads with equal proportions. The quads can be divided as you want, doesn't really matter, but tillable area should be equal with other in single mesh. Remember about that and you will save tons of time.
This also means, use SNAPS. Preferably higher than 2. But this really depends on engine. (for unreal it's good to use 8 or even 16, for Crytek 0.125 0.25 0.5 etc).
6) At least, using single atlas can be really headdick, sometime really hard to overcome ;p.
CryEngine might be most popular solution around, but oh well I like it ;p. But In some ways Unreal is not that diffrent so is doesn't really matter.