NifSkope is an open-source tool made specifically for working with The Elder Scrolls .nif files.
It does not replace all or even most of the functionality of Blender, but it can affect some features of the .nif format that the Blender plugin struggles with.
You can find the download link for version 1.1.3 on Github.
Make sure to use NifSkope 1.1.3 for Morrowind; that version works out of the box.
Later versions of NifSkope abandon the Morrowind renderer in favour of newer games like Fallout, which means graphic options like materials will not look the same as in the game; later versions can also crash or fail to load some meshes with animations or particles and fail to display skinned meshes; and their default settings export .nif files that don't work with Morrowind.
If you still want to use a later version of NifSkope, go to
Options->Settings->NIF, set Version to 220.127.116.11, User Version to 11 and User Version 2 to 11.
- Basic use tutorial
- Nifskope Alchemy for Morrowind
- Notes for Modmakers from Symphony team contains many advanced notes on the .nif format and modelling.
See also Nifskope Alchemy for Morrowind for more.
Give "No Collision" Property
Block->Insert->NiStringExtraData (not to confuse with NiStringsExtraData), give it the name
NC and look at its node number, click the top-level node 0, find
Extra Data and double-click on its Value field, give it the node number of the NC you just created.
Fix Broken or Visible Collision After Export
After exporting with old Blender, find the NiNode called
RootCollisionNode; names are not needed. You can optionally first click
Flags and tick
Hidden (before changing the node, or add 1 to the Flags value anytime) for NifSkope to hide it when not viewing hidden objects.
Fix Wrong In-game Position, Rotation or Scale
Right click the node, select
This should be done, for example, when changes were made in Blender or NifSkope that do not appear in the game.
Copying and Pasting Nodes Between Different Files
Copying and pasting nodes between different files works as long as NifSkope stays open; nodes must be clicked in the Block List.
Deleting Nodes or Branches From a File
Ctrl+Delete in Block List to remove a node (and its children, without spilling them into the rest of the file).
You can preview textures by dragging the files onto meshes in the 3D window. This works if the trishape is clickable – being transparent from alpha property make meshes not clickable.
When changing or giving textures, NifSkope will by default give absolute paths, which won't work if users have Morrowind installed in a different folder. You should shorten to relative paths. For example if the full texture path is
C:\Program Files\Bethesda Softworks\Morrowind\Data Files\Textures\A_Bear_Boot2.dds, the relative path is
Textures\A_Bear_Boot2.dds. NifSkope will shorten new paths automatically for you if you go to
Render->Settings...->Rendering->Add Folder and set the path of your Data Files folder.
Vanilla files omit the
Textures\ folder from texture paths, but the engine requires it if the texture is in a subfolder.
New texture nodes created in NifSkope 1.1.3 with
right click->Add... have the wrong scaling type by default. For all texture types (base, detail...) interpolation mode must be changed from
TRILERP to prevent pixellation. (Interpolation is for upscaled texture display when an object is viewed at a distance that isn't optimal for any of its mipmaps.)
Some properties are stored in a "Flags" value, which can be the sum of several values. For instance, collision nodes have the value 3, which is 1 (hidden) + 2 (triangle collision). The values have different meanings depending on the node type and NifSkope gives an interface for some of them when clicking the flag icon, but not for NiBSAnimationNode which you have to edit directly (see "NiBSAnimationNode flags" in animation basics in the Asset guidelines article).
NiStringExtraData is linked to the root node 0 and stores the properties listed below. You probably won't need several of these four properties at the same time, but you can chain more than one by linking in the
Next Extra Data value of the NiStringExtraData.
NC– no collision,
NCOis the same as
MRK– make the mesh invisible in the game but visible in the editor. The name of the NiTriShape must start with
Tri EditorMarker. See an example in
RCN– for more reliable collision of moving objects. See an example in
sgoKeep– do not cull empty hierarchies. Only useful for skeleton nodes, .nif "bones", needed on particle effects and their emitters.
When changing the scale of a mesh in NifSkope, the center and radius of the mesh in NiTriShapeData must be updated to avoid culling errors (like the mesh disappearing near the edge of the screen). Although NifSkope does have a function for this (
right click>Mesh>Update Center/Radius), it gives inaccurate results.
You can't use
attach kf in NifSkope Spells for Morrowind kf files. A slow manual workaround is to copy each NiKeyframeController (with only NiKeyframeData under it) into its bones in the .nif file.
NifSkope is particularly useful for adding advanced particle effects to TES III .nif files; something that the Blender plugin still struggles with. Kurpulio created an extensive guide to advanced usage of particle effects and emitters in Nifskope.
Nifskope can easily be used to optimize model structures.
Combine properties. This will merge all materials that have the same settings into one node. Most NiTriShapes have to use the standard material settings and can be merged.
Standard material settings:
NOTE: Simply copying one material node over to other NiTriShapes won’t do the trick. That will create an unique node that is similar to the node you copied.
Right click the
NiNode (with the
NiTriShapes under it) ->
Combine shapes. This will combine all NiTrishapes with similar textures and material settings into one NiTriShape.
Optimizing collision (if not done correctly in Blender): Right click the
Attach Node ->
Set flag on
RootCollisionNode to 3
CTRL + C) the
NiTriShape you want to use as collision and paste (
CTRL + V) it in the
RootCollisionNode. Delete the
NiTriShape where you copied from (
CTRL + DEL). Delete the material from the
NiTriShape in the
RootCollisionNode. Select the
NiTriShapeData in the
RootCollisionNode and set
Has Vertex Colors,
Has UV to No. Set
Num UV Sets to 0 and press the green arrows once (otherwise you get error message on saving).
Right click the
NiTriShape->Mesh->Remove Duplicate Vertices. Because there are no UV Seams and Hard Edges, this merges the whole mesh in one solid collision and thus removing a lot of redundant vertices.