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