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!
- 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.

- 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.

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

- 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.

- 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.
- 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
|
- 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).
- 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.

- 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.