Texture Mask Theory[edit | edit source]
In Conan Exiles, the area of an armor that is colored by Dye is controlled by a ‘Tintmask.’ Examining Funcom’s assets is a good way to learn how things are done but if you export a tintmask you might be surprised to see only a blank image. This is because the engine is using it for the data it contains and not the image it displays.
Each pixel of an image is stored as a set of 4 numbers ranging from 0-255; one for each channel (Red, Green, Blue, and Alpha). Normally these are interpreted as color channels and are blended together to get the image you see. Masking in games is a bit of wizardry in which the color channel’s intended use is disregarded and we only look at the underlying data. The key to texture masks is to remember that the Engine is not using them for the image they display, but rather using it to control some property in game. Because images typically have 4 channels you are able to control 4 properties with one image.
So in Conan Exiles each dye is controlled by one of the 4 color channels. Each channel should be treated as a black and white image. Here you can see the four channels of the tintmask used for the heavy armor pants:
The whiter the pixel becomes the heavier the influence of that property; the blacker the less influence. As you can see in the above figure, alpha is completely black so it isn’t being used to dye anything. (This is why we couldn't see anything when we opened it.)
Editing Tintmasks in GIMP[edit | edit source]
The easiest way to edit the individual channels in GIMP is to decompose the image, edit each layer, and then compose before saving back out.
Colors > Components > Decompose
Choose “RGBA” and make sure “Decompose to layers” is checked.
If decompose doesn’t work you may not have an alpha channel for the image. Right click the image in the layer panel and choose “Add Alpha Channel.”
From here its just a matter of masking out the area on each layer that you want to be affected by the dye.
Enabling Tintmask Channels in the DevKit[edit | edit source]
If you've added a new channel, the game needs to know that the armor now supports the dye channel you created. This is done by setting the 'Dye Flags' in EquipmentVariationTable.