Expired6978 Posted July 23, 2014 Posted July 23, 2014 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    Pick the Armor texture you intend to use, load it into an image editor.   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.   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.   Save the mask in the same directory as the original texture, give it a logical name with something like mask suffixed on the end.   Save the mask as DXT1 with no Alpha, as there is no alpha channel, nor is it necessary.   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   Find the NiTriShape that has the texture with the portion you plan to tint.   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   Name the nodes with the following names by right clicking the Name field inside of Block Details and choosing Edit String Index: NiStringsExtraData - MASKTThis is the list of texture paths for each layer, you can have up to 15 layers including the default layer. NiIntegersExtraData - MASKCThis is the list of default colors for each layer, this must have the same count as MASKT NiFloatsExtraData - MASKAThis is the list of alpha values for each layer, this must have the same count as MASKT and MASKC NiIntegerExtraData - MASKRThis is the resolution of the tint mask, USE AS LOW AS POSSIBLE UNLESS YOU NEED A LOT OF DETAIL. (256 recommended) (optional) NiIntegerExtraData - MASKHIf you need a rectangular resolution you use this and MASKW instead of MASKR to specify the dimensions (optional) NiIntegerExtraData - MASKWIf 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.   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.   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.   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).   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.  Â
Redflyingmonkey Posted July 23, 2014 Posted July 23, 2014 Holy gollyyyyyy BURN THE SORCERER, BURN HIMÂ Great, PS crashing just when you make something like this, I'm loving this new laptop already !Â
Kaz Aanh Posted July 23, 2014 Posted July 23, 2014 You would have to use RGB values/textures. I don't think skyrim suppors that,
blabba Posted July 24, 2014 Posted July 24, 2014 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.
Advint Posted July 24, 2014 Posted July 24, 2014 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.
Expired6978 Posted July 24, 2014 Author Posted July 24, 2014 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.
Emberheart Posted July 24, 2014 Posted July 24, 2014 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.
Expired6978 Posted July 25, 2014 Author Posted July 25, 2014 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.
Expired6978 Posted July 27, 2014 Author Posted July 27, 2014 I've made a program to simplify the NifSkope process using niflib and Qt: https://drive.google.com/file/d/0BxcCUXFKD04_dk9wTFVyZTE0cTg/edit?usp=sharing
Recommended Posts
Archived
This topic is now archived and is closed to further replies.