No Man's Sky Modding Wiki
Advertisement

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.

TEXTURE Nodes

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.

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) <Name = "BODY">

  • Procedural Texture <Name ="DECALSTRIPE">

Procedural Texture List (layer 1) <Name = "BODY">

  • Procedural Texture <Name ="PAINT">

This 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 List (layer 0) <Name = "BODY">

  • Procedural Texture <Name ="DECALSTRIPE">
  • Procedural Texture <Name ="DECALFLAME">

Procedural Texture List (layer 1) <Name = "BODY">

  • Procedural Texture <Name ="PAINT">

In this new set, the car in-game will either have a racing stripe or a flame decal, but not both at once.

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 as that diffuse channel as a metalness map, however, you can also use set Palette to "Rock" and ColourAlt to "None", effectively making no hue shifting happen.

Advertisement