Making New Armor Using NifSkope

Revision as of 08:08, 23 August 2007 by imported>Qazaaq (formatting, rewriting etc, big update)


Introduction

In this tutorial you'll create new armor by copying and pasting pieces of existing armors. For this we'll use the program NifSkope. At the end of this tutorial you'll be able to copy and paste pieces of meshes in NifSkope, delete parts and make parts of a mesh transparent. On the right is a simple armor made by mixing and matching pieces.

STEP 1: What tools you need

You'll need this software....

Optional:

  • For transparency you need to edit DDS files: DDS Tools

STEP 2: Getting your workspace ready

File:Cutandpastetut01.jpg
Setting the Texture Folder

It's a very good idea to put all your textures and meshes related to body, armor and clothing into the Oblivion Data folder. Usually pathed at

C:\Program Files\Bethesda Softworks\Oblivion\Data

Then you open up Nifskope and then at the top you go to "Render>Set Texture Folder" and point it to the Oblivion Data folder. That way it won't have any problems finding the textures for meshes you are opening.

STEP 3: Loading the armor

Now open a new piece of armor in Nifscope. I like to open the meshes

\meshes\armor\arenaheavyblue\m\cuirass.nif
\meshes\armor\arenaheavyblue\f\cuirass.nif

because they have alot of pieces in them already, and they have all the skeletal nodes that armor pieces may need to link to!

STEP 4: Adding a piece of armor

Let's say I want to add those super cool Daedric Pauldrons to this arena armor. First load up the Daedric Cuirass in the new window, either by double clicking the file or by going to File > New Window and loading the Pauldrons. Now click on the Pauldrons and you'll notice the list to the left opens up and a NiTriShape block is highlighted. Right click that NiTriShape and choose "Block > Copy Branch". Now go to the armor you originally opened and right click the left list and choose "Paste Branch".

Sometimes, it will give you an error when you try and copy the branch 'cannot link to node 'XXXXXX'. That's because the armors are using the same nodes, but they are named just a wee bit different. Just rename the most similar node in your original armor to the name it's looking for. e.g.: Biped Neck01 to Biped Neck1. It will paste the branch in properly now. And if you are paranoid you can always change the node's name back after you are done.

The armor piece is in the file now, but that's not good enough. We need to make it part of the actual armor, by linking it to the skeleton. It's super easy, and we have 2 ways to do it.

STEP 5: Linking the pauldrons to the skeleton

Linking Method 1

To add the piece while removing a piece from the original Highlight the NiTriShape of the branch you just pasted in, and right click and choose "Block > Copy".

Then click a piece of the armor you wish to sacrifice for this piece. The left list will expand showing the NiTriShape that piece belongs to. Just right click on that NiTriShape and choose "Block > Paste Over" (paste over only works if you are trying to paste over a block that's the same type as the block you copied.

If you are trying to paste a NiTriShape over a NiTriStrip, just right click the NiTriStrip and choose 'Mesh > Triangulate' to turn it into a NiTriShape) Boom! You're new piece is in the armour and your original is Zapp'd!

See how my chest piece is gone and the pauldrons are on the shoulders? I chose to replace the chest with the pauldrons. The pieces will always be placed in the right area when pasted in this way. After the procedure you'll notice if you collapse the left list, there are all these blocks left at the bottom. They aren't being used and to avoid clutter should be deleted. Just make sure to collapse the main NiNode so you don't delete anything in there by accident.


Linking Method 2

This is throttlekitty's way to add new pieces without sacrificing one! Just like the above, copy the branch of a NiTriShape from a set of armor you like. And paste that branch in, just the same as above.

Now we need to show the block details. Go to "View > Block Details" to get a whole whack of info at the bottom. Click on the original armor's main NiNode and look at the details at the bottom. You need to find the name Children and right click on it, then choose "Array > Add Empty Link".

File:Cutandpastetut07.jpg
Linking NiTriShape

You'll see that a list of indices expands and one at the bottom named 'none' is highlighted. Just double click 'none' and type the number of the NiTriShape's Branch you just pasted in. The piece is magically added into the armor! Super sweet! And there are no junk blocks left over!


Now you're done with pasting armor, you've successfully merged two armor pieces. But you're not done yet, first of all you need to make sure your armor doesn't crash the game. That is explained below. But first this, deleting a piece of armor.

Deleting a piece of armor

Deleting pieces is easy, just click the piece of armor you want to delete and you'll see a NiTriShape get highlighted on the list to the left. Right click that NiTriShape and choose 'Block > Remove'.

This will cause a bunch of junk blocks to appear at the bottom. So instead, choose 'Block > Remove Branch'. This removes the block you right clicked on and all the children.

Filling up the gaps

Each armor takes up a space in the game (e.g.: the cuirass takes up upperbody and arms). That part of the body is removed when the armor is equipped. If your new armor doesn't have every part of the upper body and arms covered, you will need to add either the arms and upper body meshes in, or you can open other armors and use little pieces of the body that they have to fill in the gaps.

If you don't have all the gaps filled, your armor is going to have an invisible person inside of parts of it! Don't worry about skin color on the body parts you put in. The game will use the actors skin color to color those pieces properly.

Optimizing the file

There are a number of things you can do to avoid crashes and make to make sure the armor doesn't lag the game. Not all of these are necessary, but they are recommended.

Removing Bogus Links

After you have finished mixing and matching armor pieces, click on the main NiNode and go to the block details at the bottom. Remember the section in there called Children? If we right click on that and choose 'Array > Remove Bogus Links' it will delete any bogus indices the main NiNode is looking for that don't exist anymore. Not only can this all be done with armor, but it can be done with body parts, and clothing.

You can also do everything at once, by going to 'Spells > Optimize > Remove Bogus Nodes'

Strippify NiTriShapes

NiTriShapes are less efficient than NiTriStrips so to make sure your armor runs as efficient as possible you'll have to convert all NiTriShapes to NiTriShapes. You can do that individually by right clicking a NiTriShape and going to 'Mesh > Strippify'. But you can also strippify them all at once by going to 'Spells > Optimize > Strippify all TriShapes'.

Update Tangent Space

Here I will only say you need to do this, you can read more about it in Working with Nifs 201 - The Extra Data. Go to 'Spells > Batch > Update All Tangent Spaces' to update all the tangent spaces in the file. This is to avoid crashes among other things.

Transparency Time

Sometimes when you put different armor pieces together you will get parts clipping through other parts. You can use transparency to hide those parts poking out. To apply transparency to pieces that you either want to avoid poking through other pieces, or you just want to make a V-Neck Sweater or something silly.

First use the method above to add a body mesh underneath, if your armor should have some skin under the parts you are going to cut out. Otherwise you're going to be able to see through the person in those areas.

First click on the piece you want to add transparency. The left list expands to show it's NiTriShape. Right click that and choose 'Node > Attach Property' and pick NiAlphaProperty. Boom! A new block appears called NiAlphaProperty.

http://img200.imageshack.us/img200/1032/tut99nw.jpg

Right click NiAlphaProperty and choose 'Flags'. Set that so that 'enable testing' is checked off and 'Alpha Test Function' is changed to 'greater' or 'always'.

http://img167.imageshack.us/img167/7696/tut101gc.jpg

Now that piece has transparency properties which are controlled by it's texture map's alpha channel. It's best to duplicate that texture map the piece is using and rename it. Then point to the new texture by opening up the block NiTexturingProperty within the NiTriShape of that piece. You'll see a place to point to a new file name there.

Now to apply transparency. One good thing to do is right click on the pieces NiTriShape and choose 'Texture > Export Template'. That will give you a template map you can overlay onto the texture map to make it a little easier to figure out where to add transparency.

http://img186.imageshack.us/img186/5205/tut116ib.jpg

Now open up the texture map and the template map (if you made one) in photoshop. Put the template map over the texture and set it's 'Layer Style > Blending Properties' to Overlay. You may need to resize the template map to the same dimensions as the texture first. You'll get an image like this.

http://img224.imageshack.us/img224/3967/tut128fx.jpg

Now you can select the areas you want to be transparent. Use whatever tool you like, I prefer the polygonal lasso, but I'm a nut case. When you've selected the areas you want to be transparent, click on channels and go to the alpha channel. It should be all white, you want to make just the areas that you want transparent black, so use the selection you made to blacken those areas (you can use shades of gray to make parts semi-transparent too). Here's my alpha channel to cut the chest part out (I've overlapped it onto my texture map to show you better what parts are where...

http://img170.imageshack.us/img170/3899/tut123ib.jpg

Here's what my dude looks like with no chest piece on his ebony armor!

http://img204.imageshack.us/img204/6834/te...garmour29yj.jpg

It can be very tricky to do, but it takes practice and patience. Stick with it and it can be really fun!

See Also