Help:Creating multi-layered static mesh skins
One of the most unknown and forgotten abilities of the Unreal Engine and one of the most useful at the same time.
This tutorial requires the reader to have a basic knowledge about creating models, importing them into UEd 3.0 and importing Textures into UEd 3.0. You might have a hard time understanding the following tutorial if you don't have the necessary knowledge.
I'll be using 3DsMax as my modelling tool in this tutorial. If you are going to use another modelling tool for this then i suggest looking up a tutorial on how you can apply multiple textures to one model in your modelling tool.
Contents |
[edit] Multi Layered Static Mesh Skin
[edit] What is this?
A multi layered static mesh skin is a difficult way to say that a static mesh it's texture/complete skin comprises out of multiple textures.
The use of this is preserving UVW space and smart usage of assets. This way you can easily reuse more assets than you could have with only one texture per model.
f.e. giving a utility pole a reusable wooden texture for the wooden parts and then a real texture for the metal parts.
If you don't get it now, you will after following this tutorial.
[edit] How to create a Multi Layered Static Mesh Skin
So I'm going to create a multi layered skin for this wall model, it comprises out of bricks, concrete and metal bars.
![]()
We'll select a standard, new material and press "Standard" and then select "Multi/-Sub object" in the list. You'll want to discard the previous material, we don't want to use it.

Now you're going to see a list of 10 materials, we'll press "Set Number" and set that to 3 seeing we are making 3 different materials (Brick, concrete and metal).

We'll assign a color to each of the sub materials so we can easily see it in the 3D viewport, for my materials i choose Red, Green and Blue.

So now we have assigned the colors to the materials we will assign the material to the model, just drag it onto the model and it shoot get the color of your first material.
![]()
Now go into the modifier stack, into Editable poly and polygon or element (whatever suits your needs). Select the entire model and set the "Set ID:" in the "Polygon: Material IDs" to 1 (this is a failsafe as sometimes models get random material id's.
You can locate the Set ID value field here:
![]()
Now we will assign, in our minds, what material ID will be what material. For me i will assign Material ID 1 to brick, 2 to Concrete and 3 to metal.
So now we are going to select "Polygon" and select everything that needs to be Concrete and set the material ID to 2, same for Metal, but then to material ID 3. The end result should be similar to this:
![]()
Now we will put an Unwrap UVW on top of the current modifier stack, we will unwrap like usual with the slight difference that we will differentiate between the different Mat IDs, we can do this like so in the unwrap screen:
![]()
So we will start with ID 1, brick, and we will unwrap that like usual, my end unwrap for the brick material looks like this:
![]()
Now i'm going out of bounds with the unwrap there obviously, but that doesn't matter as I'm going to assign a pure brick texture from ingame to it. That way it will tile the texture and we will get a more detailed texture for the model and it will also blend seamlessly with the bsp walls ingame (the wall here is 512 units high and the unwrap has been made so that the texture will be 0.25 scaled of the original, same as all the other textures I use ingame.
Now do the same for the other Material IDs you have.
Once that's done, you can collapse the model if you want. Now we will go back to the Materials Window and assign, to ALL of our 3 materials a random bitmap, anything is a go really, this may seem weird (and it is), but otherwise it won't work, at least it gives me problems.



[edit] Importing it into the Killing Floor SDK
Now that that is done, we will export the model like we would do for any other model.
Finally in Unreal Editor 3.0 we will import it and when we open the "materials" tab we will see that we now have several textures we can assign at once, 3 to be exact (0, 1, 2).
![]()
Now we can assign textures as we please like we would to any other model.
just fyi, the order of the material IDs in max is the same for the material IDs in Unreal, so Mat ID 1 in 3DsMax is Mat ID 0 in UEd 3.0.
This is what a finished product could look like:
![]()
Have fun unwrapping!