Jump to content

Skyrim Dyeable Armor


Expired6978

Recommended Posts

I managed to get tint masks to apply to armor and have implemented an API to allow you to Dye specific Armor from your inventory. I haven't released the Dye Menu yet so the following tutorial is only for making the Armor compatible. You can however, see the results ingame by changing the default colors in the mesh.

 

I have written an HTML based version of this tutorial to be uploaded but I'll post one in-forum here so that the tutorial can be referenced without having to download all of the assets.

 

 

Tools you will need:

  • Image Editor (Gimp, PS, etc)
  • NifSkope

Pre-requisite knowledge:

  • Your preferred Image Editor
  • Masks

First you will need a default texture to work with, this is the first layer of the set, usually it's best to use a plain white texture with a small resolution. You can get this from textures\actors\character\character assets\tintmasks\skintone.dds

 

pnBTZWe.png

 

yoEgSms.png

 

Pick the Armor texture you intend to use, load it into an image editor.

 

r5IaPPn.jpg

 

If you have white, or very bright areas, use a mask to darken them so that they are more or less a neutral gray. The areas you want tinted should be grayscale, if you wish to preserve certain areas make the mask go around those areas.

 

3529f5N.jpg

 

Create a layer out of the mask you created from before, in Photoshop just select the layer and Copy then Paste, it should come out as a new black and white layer. Then remove the other layers leaving only the mask.

 

TwFeyPg.pngQfk1vI9.png

 

Save the mask in the same directory as the original texture, give it a logical name with something like mask suffixed on the end.

 

AkXAZqW.png

 

Save the mask as DXT1 with no Alpha, as there is no alpha channel, nor is it necessary.

 

QXOdykC.png
AwXLMin.png

 

Next you will be altering the mesh to create the appropriate data for NiOverride to read from when the mesh is worn. You will need to repeat the following steps on the low mesh _0 as well as the high mesh _1

 

fuV84ai.png

 

Find the NiTriShape that has the texture with the portion you plan to tint.

 

UN9As25.png

 

Create one of each of the following nodes with the following names by right clicking inside the Block List -> Block -> Insert:

  • NiStringsExtraData
  • NiIntegersExtraData
  • NiFloatsExtraData
  • NiIntegerExtraData

 

InF0NSi.png

 

Name the nodes with the following names by right clicking the Name field inside of Block Details and choosing Edit String Index:

  • NiStringsExtraData - MASKT

    This is the list of texture paths for each layer, you can have up to 15 layers including the default layer.

  • NiIntegersExtraData - MASKC

    This is the list of default colors for each layer, this must have the same count as MASKT

  • NiFloatsExtraData - MASKA

    This is the list of alpha values for each layer, this must have the same count as MASKT and MASKC

  • NiIntegerExtraData - MASKR

    This is the resolution of the tint mask, USE AS LOW AS POSSIBLE UNLESS YOU NEED A LOT OF DETAIL. (256 recommended)

  • (optional) NiIntegerExtraData - MASKH

    If you need a rectangular resolution you use this and MASKW instead of MASKR to specify the dimensions

  • (optional) NiIntegerExtraData - MASKW

    If you need a rectangular resolution you use this and MASKH instead of MASKR to specify the dimensions

Assign the layer textures to the MASKT object, set the Num Strings to the number of layers you intend to have (max 15) and press the Update button.

 

k7n3y9g.png

 

Assign the default colors to the MASKC object from #000000 to #FFFFFF, the default layer should use #797979 (hex) or 7960953 (dec) and the remaining layers can be whatever you choose, #FFFFFF (hex) or 16777215 (dec) for white.

 

Yd4Hujn.png

 

Assign the default alpha values to the MASKA object, the default texture should be 1.0, and the remaining should be whatever you choose if you want those layers active as default.

 

KOUlsJ0.png

 

Assign the tint mask resolution to MASKR or MASKH and MASKW these should be no higher than the original texture resolution, and should be kept as low as possible unless you need very detailed masks. (less than 1024 recommended).

 

jXcE9jQ.png

 

Finally you want to assign the objects you created to the NiTriShape associated with the texture you are tinting. Set the Num Extra Data List to 4 (or 5 if you have MASKH and MASKW) and press the Update button, then assign the Extra Data the numbers shown to the left their Name in the Block List panel.

 

6fgFm6s.png

 

Link to comment

You would have to use RGB values/textures. I don't think skyrim suppors that,

 

Expired coded it so that his NiOverride API can write out those values from an in-game selection menu he made.

 

It's inlcuded in his latest version of RaceMenu.

 

He's still working on the implementation of it in-game though (waiting for someone to make assets and other such things)

 

But you can also just manually set the RGB value in the extra data as well.

Link to comment

This is where I sit on my hands and wait for this to get fully developed and someone to release armor that I like in a compatible version so I don't have to know how to do all this. But it looks cool, I can say that much.

Link to comment

You would have to use RGB values/textures. I don't think skyrim suppors that,

It wouldn't be a tutorial if I were making it up. I actually implemented it in my SKSE plugin, of course it requires NiOverride, which is included in the latest version of RaceMenu.

Link to comment

If only mod creators would include a PSD template with a hue/sat layer or a simply mask. It'd make it a lot easier for people who do not mod. We create masks anyway when making a texture, I know I will throw in templates when I'm done with the swimsuit CBBE to UNPB conversion.

Link to comment

If only mod creators would include a PSD template with a hue/sat layer or a simply mask. It'd make it a lot easier for people who do not mod. We create masks anyway when making a texture, I know I will throw in templates when I'm done with the swimsuit CBBE to UNPB conversion.

I agree, it would help in converting armors. I will be releasing the menu and API soon and it would be great if some people could convert their armors so that when I do release it, it's not completely useless. Supporting an armor is by no means difficult, only tedious. It will eliminate color variants and add a completely new form of customization. Although I fear interest will only spark after I've already released it as more users will be pushing for compatible armor.

Link to comment

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue. For more information, see our Privacy Policy & Terms of Use