Merging multiple material slots for a single texture

I have the following skeletal mesh which has multiple material slots corresponding to different parts. For example, Element 0 is for the face skin, Element 1 is for the mouth/teeth, etc.

I can enable UV visualization as follows

I have the following questions about this setup

  1. Is it possible to export a single texture for the entire mesh (face skin, mouth, teeth, eyes, etc.) instead of individual textures available in the Material slots within Unreal Engine?

  2. There seems to be a single UV mapping for the entire mesh but multiple texture images corresponding to different parts (face skin, mouth, teeth, etc). How does unreal engine use multiple texture images and a single UV channel to apply the textures?

Thanks

To make a single UV map for all the materials, you’ll have to separate out the different material UV channels and scale/offset them so that they all pack into the same texture without overlap, and then merge the materials in your creator tool, before you export it.

Regarding multiple materials, in the underlying hardware, every material subset is really like its own mesh, so on the graphics card, the engine will say “set material ‘teeth’ and then draw the triangles that correspond to teeth; then set material ‘eyes’ and then draw the triangles that correspond to the eyes; then set material ‘lips’ and …”

thank you! Just so that I understood this, UV channel manipulations to make a single UV map must be done in some other tool and can only be done manually (no tool offers a feature to automate this process.) Is this correct?

Editing meshes is generally done in Maya, Blender, 3ds Max, or some tool like that.

Most tools do have some “automatic UV unwrapping” function, but they generally don’t generate very high quality results. However, there’s already a good unwrap in your mesh, you just need to select the UV channel for each material subset and move/scale it wholesale, which is pretty easy compared to mapping something from scratch.

If these are not assets that you built in the first place, then you can still export out of Unreal to a format like FBX, and open that into a tool like Blender, and edit it there, and then export back in, but that process is not always 100% true to the source – and, at a minimum, you’ll need to know how to use those tools and file formats.

If you’re not an artist, and these are assets you purchased somewhere, I would suggest just living with the different materials, instead of trying to map them all to a single material. By the time you’ve developed your game to the point where the small difference in efficiency would matter – which isn’t at all certain it will! – then you’ll probably have a much better idea of what it is you want to do and how to do it.

1 Like

makes sense. Thanks!