Texture map question

Hi all,

I have basic question, I say basic because I think its basic for an artist in the game industry., which I am not.

When making uvw maps for Unreal is it better to have one large map, say 2048x2048, that has multiple meshes in it or have the mesh broken out into multiple pieces and the maps are a smaller size like 512x512. So for example 3 meshes broken out at 512x512 or one mesh at 2048x2048.

Hope that makes sense,

Usually one mesh is the best option in my experience because:

  • less likely to get seams in the lighting!
  • fewer materials, textures and meshes in the level
  • easier to work with

Thanks for the info. I went with one large map over the 3 small ones. Just trying to figure out what the best work flow is.

When making texture maps, it will depend on the situation. If the objects using the textures are in the same area and they’re all likely to be loaded at the same time then it would be better to combine some of the maps. Otherwise if only one of the objects is visible then it still has to keep the large texture map in memory rather than unloading the information that’s not needed.

Keep in mind if you go from 512x512 to 1024x1024, you’re not doubling. You’re quadrupling. In your example, 2048x2048 is 16 times larger than 512x512 and you’re applying it on just 3 meshes so it’s better to use smaller maps. And I generally find it best to not go over 1024x1024 unless I really have to.

Thanks guys for the great info. Do those rules apply if your not doing games, lets say architectural walk through?

It depends. If the final output of walk through is video, you probably don’t need to worry about making it 90fps. You may have to worry about it if it’s VR project but if it’s environment where you have control over the hardware, you can probably compensate inefficiency with powerful hardware.

I don’t think there is only one answer that is right. It depends on your workflow. I’ll show you mine. It might look overly complicated but it just uses a few relatively simple game industry methods. I just put that out here. Feel free to comment or give any suggestions. Maybe there is a better way to do things.

In Arch Vis we have:

  • mostly clean tiling materials, no grudge or wearing off in most cases.
  • A lot of repetitive materials like stainless steel, fabrics or types of wood

The standard “vray” object is adapted to this by having multiple IDs and is high poly with geometry instead of baked normals and AO. But that isn’t great for real time or unreal engine assets for multiple reasons:

  • high polygon/vertex amount obviously takes longer to render
  • multiple ID’s take longer to render and can in some cases be worse than having high poly objects
  • light maps are much more difficult to create for high poly objects.

So my approach is the following.

  • I use functions for all repetitive tiling materials like wood or fabric, chrome, rubber and so on. Functions are snippets of nodes that can be reused in materials. You can expose parameters like color tint or UV scaling which need to be changed for different objects. But in general the oak and fabric materials used for the table can be the same as the ones used for the chair.
  • Instead of material ID’s I use masks to separate the materials. Look at a RGB texture being 3 grey-scale masks, plus alpha makes it 4 layers. Then you still have a 5th layer which is the base layer with no masking
  • I do bake normal maps and AO. I use one layer (green) of the above for the AO. Which leaves me with up to 4 materials.

Because I use masking I do not really have a diffuse map for most objects. The normal map and mask can be fairly low resolution (2048 mostly) and you can put many assets onto the same atlas if they use the same materials. Like a couch set, kitchen cabinets in multiple sizes. Anything in the same style really.

It’s initially a bit more work but I don’t repeat anything and I don’t have to set up the materials for 5 or more similar objects. At the end it saves a lot of work especially if material instances and variations are required. And the detail can be very high where it matters: - in the actual tiling material (layer) because it is tiling and not limited to the UV space.