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 4 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 Male
|
Data Files\Meshes\b\b_n_khajiit_m_skins.nif
|
Khajiit Female
|
Data Files\Meshes\b\b_n_khajiit_f_skins.nif
|
Mog
|
Data
Files\Meshes\MOG_v4\M\mog_m_bb.NIF
|
Most of the paths lead to the
male files only, since the female files for those races 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 based on the version of NifSkope you are using.
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 “LizTail” or posting
in one of my threads in the “Morrowind Mods” topic.