TEXTURE Files

TEXTURE MBIN's contain configurations for creating different layers of procedural recoloring used by models in-game. With the use of TEXTURE MBIN's, it is possible to create different choices patterns and decal sets for every model. This is how an animal may have stripes on their skin but then spots on another variant, or none at all.

TEXTURE MBIN's exist in the same folder where basic TEXTURE maps exist. It is not yet fully understood at what point these are loaded but it is preferable to name a TEXTURE MBIN the same as the basic name of a diffuse DDS map. TEXTURE MBIN's are not referenced anywhere in MATERIAL nor SCENE files, either.

If a texture's name is CAR.BODY.STRIPE.DDS, the TEXTURE MBIN should be named CAR.TEXTURE.MBIN.

If the initial texture name is simply CAR.DDS, it is preferable to rename it to add two words as in the example above as these words are referenced in the TEXTURE MBIN. More information about this matter is seen in the example below.

Procedural Texture List
For each TEXTURE MBIN, there are 8 pre-defined Procedural Texture Lists, or layers. Unlike other MBIN's where structs can be freely added or removed, TEXTURE MBIN's always have 8 layers but not all layers need to be used. (at minimum, a single layer will suffice.) The first layer (layer 0) is overlayed on the next (layer 1) and so forth until the last layer.

Procedural Texture
For each procedural texture list, there can be one or more procedural textures. The game will only pick ONE procedural texture per texture list. The procedural texture relies on a color diffuse map. The idea is that, depending on the selected palette, a hue shift will be performed on the RGB channels of a chosen diffuse map and pixels will be removed based on the ALPHA channel, used as a transparency mask. This allows one to create different decal sets, 'paintjobs', or patterns of a certain object. Much like doing a hue shift adjustment on Photoshop, black, grey and white pixels receive the least influence.

Example
Suppose there is a model of a car. The car has a basic paint coat, and it has a racing stripe of another color that runs through it. The desirable output is that this car's basic paint layer and racing stripe will change colors every time. For this, it is necessary to provide two diffuse texture maps that will be used as a color map:

CAR.BODY.PAINT.DDS - this texture is for the car's basic paint color.

CAR.BODY.DECALSTRIPE.DDS - this texture is for the car's racing stripe print and has an alpha channel specifying the pixels of the cars color stripe.

The CAR.TEXTURE MBIN will be setup like this:

Procedural Texture List (layer 0)  Procedural Texture List (layer 1)  In this setup, the color of the body will always be different from the color of the racing stripes and that the racing stripes will be laid OVER the basic paint. Suppose we created another pattern - a flaming vinyl as an alternative decal set for the same car called CAR.BODY.DECALFLAME.DDS. The TEXTURE MBIN setup would look like this:
 * Procedural Texture 
 * Procedural Texture 

Procedural Texture List (layer 0)  Procedural Texture List (layer 1)  In this new set, the car in-game will either have a racing stripe or a flame decal, but not both at once.
 * Procedural Texture 
 * Procedural Texture 
 * Procedural Texture 

Tricks
It is possible to add a layer where no color operation will be done at all. Simply color this layer's diffuse ALPHA channel PURE BLACK. If you are using that diffuse map's alpha channel as a metalness map, however, you can also use set Palette to "Rock" and ColourAlt to "None", effectively making no hue shifting happen.