Adding a Custom Shadow to your Beast Race

 

This tutorial will explain how to apply one of my custom shadows to an existing beast race mod.  In order to have individual shadows for each race, the default beast shadow has to be removed, so this can cause other races to lose their shadows.  I’ve provided files to fix the most popular race mods, Slof’s Better Bodies, and Mog*Mod, plus the stock Argonian and Khajiit bodies.  These shadows are stored in the tail NIF file (often called “skins”), so if you use a mod that changes out the tail, usually for retexturing, you’ll want to know how to add a shadow to it.

 

This method uses NifSkope, which you can download from the NifTools website.  You will also need the Morrowind Construction Set to look up the racial height values.

 

I’ve provided 3 types of custom shadows:

 

 

You can also make your own shadow in a 3D program, but while you will learn a lot about how to set up a shadow, actually doing so is outside the scope of this tutorial.  Here, what we will be doing is choosing which one of these most closely matches our race mod, and transferring the shadow from my tail NIF file to the one that came with the mod.

 

Usually picking which one to use is obvious… if the mod re-textures the Argonian skins, then use the Argonian shadow, etc.  But you can pick whichever one you think most closely resembles the race you are adding a shadow to.

 

Once you’ve located the NIF file that has the tail in it for your custom race, open it with NifSkope.  In another NifSkope window, open the file that came with this Uniqe Shadow pack that contains the shadow you want to use.  These are the file names of the NIF files that contain the shadows, relative to the Morrowind install folder, or the root of the ZIP archive:

 

Argonian

Data Files\Meshes\b\b_n_argonian_m_skins.nif

Khajiit

Data Files\Meshes\b\b_n_khajiit_m_skins.nif

Mog

Data Files\Meshes\MOG_v4\M\mog_m_bb.NIF

 

The paths lead to the male files only, since the female files use the same shadow meshes.

 

One alternative is simply to re-texture the same file that the original mod maker re-textured.  For example, if the mod-maker re-textured the Argonian tail, you could open b_n_argonian_m_skins.nif and change the textures to the one that the mod-maker used, and then save over the mod’s version of the file.  Make sure you make back-ups in case you make any mistakes.

 

Instead of that approach, this tutorial will cover how to actually transfer the shadow mesh from one file to another.  The NIF file from the shadow pack will be referred to as the “source file” while the one from the mod will be the “destination file.”  The pictures below may vary slightly from what you see since I’m using a pre-release version of NifSkope.

 

Looking over the tutorial, it seems like there are a lot of steps, but that’s only because I’m explaining everything one click at a time.  Once you get the idea, it essentially just boils down to this:

 

1. Copy and paste the mesh from the original file to the new one.
2. Re-number the “Tri Tail” meshes.
3. Compensate for Racial height.

 

Okay, so without further introduction, let’s get started!

 

  1. In both NifSkope windows, make sure the menu option Render > Show Hidden is checked.  This will allow you to see the shadow.  Also be sure that View > Block List Options > Hierarchy is checked.

         


  2. You should now be able to see that there is a shadow mesh in the source file, but not in the destination file.  In the source file window, click the shadow mesh in the 3D view so it is highlighted.  In the Block Hierarchy window, a NiTriShape object is simultaneously highlighted.



  3. Still in the source file, right click the NiTriShape that was highlighted and choose Block > Copy Branch.



  4. Now switch over to the destination file NifSkope window and locate the NiNode named “Bip01” in the hierarchy view.



    Right click the node in the tree and choose Block > Paste Branch.



    The shadow mesh should now appear in the destination file.



  5. You may have noticed that the shadow mesh from the source file is named Tri Tail 1.  This is because the tail is a body part that never disappears, so it makes sense to make the shadow part of the tail.  However, the game only accepts multiple meshes for a single body part if they are numbered consecutively starting from zero.  Unfortunately there is already a tail mesh in this file, so we are going to have to find and re-number it.  The easiest way is to click it.  If the shadow mesh is in the way, temporarily hide it by unchecking Render > Show Hidden (see step 1).  Now you can click the tail mesh.  A NiTriShape named “Tri Tail” with no number will probably be selected.



    Now double click the name “Tri Tail” and add a space and the number zero (0) at the end, so it reads “Tri Tail 0”



    This will work for any standard file, but some custom files might have multiple shapes for the tail already.  They may even have parts like the neck or part of the torso marked as being part of the tail so they can never be hidden.  The key is to make sure that all NiTriShapes named “Tri Tail…” are numbered consecutively starting with zero.  Note how it ended up this way in our example:



    If this is done wrong, it won’t crash the game.  It will simply stop loading body parts when it finds a mistake.  So if you end up with missing body parts after adding a shadow, Tri Tail numbering is probably the culprit.  Just go back, perhaps in List view, and make sure you haven’t missed any or put any numbers in the wrong order.

  6. At this point, you’re pretty much done, but creating a Mog shadow brought an interesting issue to light… the game allows you to specify a racial height, which scales your character to be taller or shorter in the game, but the shadow is not scaled.  This can cause serious problems with especially high or low height values, such as exist for the Mogs.  The symptoms of this issue are feet not matching up very well to their shadows, shadows that are way out of proportion to other races, or parts of the shadow clipping with the invisible bounding box of the shadow volume projection.  Luckily, this is easy to fix.  First, you’ll want to look up the height values of the custom race in the Morrowind Construction Set.  These can be found under the Character > Race… menu option.  Choose the race from the ID drop down and note the height values below.



    For convenience, here are the height values for the races that I’ve given shadows to:


Race

Male

Female

Argonian

1.03

1.0

Khajiit

1.0

0.95

Mog

0.7

0.7

 

  1. Now that you know the height of the character, you can apply it to the shadow beforehand.  Since we want the shadow to continue to animate normally, we will change the scale in the NiSkinData object.  This scale is applied, in effect, after the shadow has already been deformed properly to the bones.  So in the destination file, check View > Show Hidden and click the shadow mesh again (see step 2).

  2. This time, click the [+] sign to the left of the NiTriShape that is selected.  A list of linked objects will appear in the tree view.  One of them is a NiSkinInstance.  Click the [+] sign next to that one as well, and find the NiSkinData object (should be the first one right before a list of a bunch of NiNodes) and click it.




  3. When you click the NiSkinData object in the Block List window, its detailed attributes appear in the Block Details window below.  Locate the “Scale” attribute and edit it’s value to match the height for the gender of the race that you looked up in the Morrowind Construction Set.  The shadow mesh will change size and appear to be offset from the actual position of the character body parts, but this is alright since the game scales the visible body parts but not the shadow.

 

And that’s all there is to it!  Just save the destination file and try it out in the game.

 

Hope the tutorial was helpful.  Feel free to send any questions or suggestions for improvement my way through the Elder Scrolls forum by sending a PM to “Shon” or posting in one of my threads in the “Morrowind Mods” topic.