UV map vs multiple maps for a model?

Hey yall, I have a question about UV maps, I always see people trying to fit their character UVs into a single map, and for some high end models I am wondering if people decide to make a seperate UV map for each area of the body that are more detail focused (the head, the hands, and the torso to be my themselves image texture wise)?

I am fooling around with a character that is UV unwrapped but personally Due to how the UVs share the same 4096x4096 area I feel they are limited in the space they share. I made a texture grid and chose the UV grid and personally as I shaped and organized the areas, overall I just wasn’t impressed with how the models UV’s where down scaled even with proper UV seams.

Am I missing something? Im trying to make a video game model that is high end for personal reasons and I feel that while crazy, giving it its own separated UV texture maps for the body seems like a good idea because I’ve tried multires normal map sculpting and despite having a solid desktop: (Ryzen 7 3800x, 24gb RAM, 6gb GPU) it does not seem to be stable and lags like hell

i thought about segregating the models areas based on where the model was to have the most visible data based on some concepts of a FPS game (the hands and the face being the most detailed) and sculpting detail into those areas and making those parts of the mesh have their own unique UV map. i know it sounds like over kill but in my experience of using blender and Zbrush core over the past decade, thinking outside the box to tackle problems seems more humane than trying to buy more software and memory based firepower.

I understand the reason for having a model share a single set of UV’s but it doesnt seem to be working on my end. Any thoughts?

It’s not your UV that is 4096^2, it’s your texture. Your UV is 0,1. Floating point values. There’s nothing to “fit” in there-- there’s plenty of room. There are more than 2^25 distinct positions on each axis… You can use a single UV with multiple textures.

As for, is 4k enough for a character, well, depends on how close you’re getting, right? There are often things you can do to improve texture space usage (better packing, tiling/mirroring, reuse of islands) but separating bits to different UV maps is not something that will improve texture space usage.

@AliasDreams

and your target resolution, of course. Having a full 4K game can be hardware taxing, and you may want to check with different textures for that…

Here is my opinion:
I personly like your approach as I too use it, I think setting different UV maps for different parts gives you menepulative uper hand in texturing as is somthing mess up you get minimum collateral damage.

If you have separate UV maps you can use smaller spaces (1024 pixil at both dimensions) and and would save storage even if small.

Both approaches (in uvmap work space) are infinitely zoomable just as much as you can zoom on mesh edit mode. Hence, you have precision on painting.

As for rendering, MY TESTS shows that there is no difference in rendering time for both approaches. separate UV maps or space compact UV maps.

All that said, I don’t understand WHY EVERYONE PACK THE WHOLE CHARACTER’S UV MAPS IN ONE IMAGE/SPACE, might someone explain plz?

If only someone could invent a system that allowed us to map a single object onto multiple UV tiles. They could call it UDIM or something.

2 reasons:

  1. Multiple images for the same characteristic (like albedo) means multiple materials, and multiple materials means more draw calls. Draw calls are unlikely to be the limiting factor for Blender performance, but can easily be in a game engine. Not sure how UDIM interacts with this stuff, except that it’s unlikely to be implemented by game engines in a way that doesn’t create more draw calls (or really, at all.)

  2. Your most effective use of texture memory is to put as many things as possible onto as large of an image as you can. The more you do that, the fewer texels you waste.

Now, could people just use tiling texture lookups and do some 1.0 offsets on some islands? Often, yes, and that’s a great way to organize things, provided:

  1. You actually want tiling lookups, and aren’t doing, for example, mirror bordered lookups to save texels;

  2. You aren’t using UV for anything except UV;

  3. You’re 100% sure you’re never going to bake anything ever again.

I like what your saying here, I created this thread/question because I too have had the same feeling/look when I see people pack everything into a single uv image slot for a model and character and I feel this is HORRIBLE, INSANE AND COUNTER PRODUCTIVE TO WORKFLOW. I admit in the past decade I tried (SEVERAL times) this method and it doesnt work because the uvs are so close to one another you can create issues of texture bleeding off into another area. It didnt help I was working on complex tests of normal maps and texture baking on a complex model.

(to answer your question) I feel people used to do this because it was an outdated industry standard for totally baking a characters uvs into a single form for a data performance set. Still its a nightmare and with the memory technology we have today, I feel its not fully needed. But that’s just me, I hate trying to play an extreme OCD version of Tetris with organizing my UV maps and grids into an extreme confined space which is what blenders UV editing section is IMO, but blender has a very nice UV editing tool set up, so its both good and bad.

You raise some very good points here, I’m a bit new to the word “floating point values” but it shouldn’t be that hard to learn.

I’ve struggled with the similar questions for a while now and did some additional research on the topic just last month. Looked at the actual game models and, ooh boy, real life is a messy place, apparently.
I don’t think I’ve seen a single model that didn’t have (at least) head and body separated (action shooter games, starting with Half-Life 2 and onwards). So that’s totally normal. Then there are often enough separate eyes.
And then there was an interesting example with a tiny tiled map describing two segments of chain. It was like 64x64 and repeated all over the character… simple and efficient.

Figured if it can be justified and there’s no actual technical restraints, you can probably just do what you feel is the most efficient solution. It’s not good to be sloppy with resources, but premature over-optimization is not helpful either. Especially in learning stage (unless you learn optimization that is).

Very logical. How about packing the texture it self then, you know, do anything then pack the texture it self to the object, not the object’s UV maps to the same file.

Also, generally speaking, aint your character have different objects that have different materials (i.e cloth and weopons and stuffs)?

You could set different materials to the same object, even have faces of the same object use a material other than the rest of the object.
That is in blender.

That could be an interesting method of doing it. Your right, the model I am working on is many of those things, but I have placed my focus on working on the exposed parts first detailing (hands, head, neck, upper arms etc) before working on the clothing and gear. I dont think Im talented enough to aim for weapons, I do want to do that but I feel I should slowly master and get a feel of the character first before giving it any firearms or blades.

I hade a feeling hard surface modeling will be harder than organic modeling.

I think I have the solution to that, saw it on Blender’s YouTube Chanel. Think am sure he was painting on the mesh it self but nothing bled out to other objects.
Lemme fetch the video up and will edit this comment.

Half life is a great example of that model wise, I did a little laugh in my head when you wrote Ohh boy real life is a messy place. It is, looking at old models and designs of how people did things can be a nightmare for a new or an artist trying to find their own workflow… All the work methods where (and forgive me for thinking this) based on limited data performance of the technology back then hence these models are separated or not.

Video found:
Hope it helps

Good point, they we’re working at their own time and data

Not sure what you’re saying. The texture and the UV are separate things (the texture image is a file completely separate from the model, and always will be; the UV map is really just the collection of UV vertex data, which is of course attached to each vertex of the model, same as position or vertex color or bone weights.)

Your goal for game engine use is that each deforming object has only a single material. Basically, the equivalent of the Principled shader method: your shader reads a handful of textures to get all of the parameters for the shader (metallic, albedo, AO, roughness, etc) and so any “material” differences are coded onto these textures, rather than onto different materials. If the character has a knife held between his/her teeth, it’s probably using the same texture as the rest of the character, but its UV references texels where the metallic value is 1.0 or whatever.

In real life, it’s not uncommon to have two or three materials for a model, if those materials require different shaders, or if the engine is designed to build characters out of multiple parts. But that decision isn’t made on the basis of “It’s easier for the modeller to manage the textures.”

For non-deforming objects, you try to get as many different “objects” (it’s an arbitrary distinction as to what’s an object) onto a single material, which is why you have the practice of texture atlasing.

Every time you change the material (including, just like in Blender, changing the textures you send to the shader), you have to stop and reset your rendering parameters. That takes time. If you don’t change the material, you can just send it face, face, face, face without stopping. You can make an increasingly complicated “uber-shader” to handle everything, but then you need one or more “uber-textures” to go with it, that can’t be split up into parts depending on what’s actually in the scene, and you may eventually just slow stuff if your uber-shader is doing a bunch of stuff that you don’t actually need it to do right at this particular moment.

Packing texture amd stuff
I think this will lower time of access.
Also, I haven’t got the minimum amount of knowledge about game engines but thank you so much for you information

Packing images doesn’t change anything about how they’re used. It’s only about whether the image is stored internally in the .blend file vs externally as an image file.

My thought was that it just won’t go t different locations of the memory.