From Project Tamriel Wiki
Jump to navigation Jump to search

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.

Program Version

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, User Version to 11 and User Version 2 to 11.


Common Uses

See also Nifskope Alchemy for Morrowind for more.

Give "No Collision" Property

Right click, 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 collision, change NiNode to 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 Transform->Apply.

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


Preview Textures

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.

Texture Paths

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\, the relative path is Textures\ 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 Textures

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 FILTER_NEAREST_MIPNEAREST to 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, NCO is the same as NC.
  • 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 EditorMarker.nif.
  • RCN – for more reliable collision of moving objects. See an example in in_dagoth_bridge00.nif.
  • sgoKeep – do not cull empty hierarchies. Only useful for skeleton nodes, .nif "bones", needed on particle effects and their emitters.

Changing Scale

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.

KF Files

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.

Particle Effects

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.

Optimizing Models

Nifskope can easily be used to optimize model structures.

Combine Materials

Go to Spells->Optimize->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.

Handbook optimize01.png

Standard material settings:

Handbook optimize02.png

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.

Combine Shapes

Right click the NiNode (with the NiTriShapes under it) -> Optimize -> Combine shapes. This will combine all NiTrishapes with similar textures and material settings into one NiTriShape.

Handbook optimize03.png

Optimize Collision

Optimizing collision (if not done correctly in Blender): Right click the Ninode -> Node -> Attach Node -> RootCollisionNode.

Handbook optimize04.png

Set flag on RootCollisionNode to 3

Handbook optimize05.png

Copy (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 Normals, 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).

Handbook optimize06.png

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.

Handbook optimize07.png