Nifskope

Tutorial #0 The Interface
Tutorial #1 Cloning
Tutorial #2 Cloning Time Master’s Terrain
Tutorial #3 The Basics
Tutorial #4 Adding refl and glow
Tutorial #5 Basic Keyframe Hexing
Tutorial #6 Animated Textures
Tutorial #7 Fixing a Ghosting Mesh
Tutorial #8 Converting ‘Skoped Meshes

 

Intro to Nifskope

1. What is it? To all intents and purposes, a mesh editor on steroids. You can do things with it that would be incredibly daunting with just a hex editor. Better yet, you can see the effects of your changes as you make them. Finally, I’ve yet to find any real issues with file sizes. Tommyboy’s versatile meshes aren’t a problem. Much of it is configured via xml files so the NifScope team are able to work fast. As you get into it, it becomes obvious it is a mesh exporter with a manual interface. It reads and writes .NIF and .OBJ files, making it possible to use rendering packages other than 3DSMax to make FF and FF3R meshes.

2. Where can I get it? sourceforge.net.
(Currently http://sourceforge.net/project/showfiles.php?group_id=149157&package_id=170735). Keep an eye out for new releases. Like any active open source project new versions are released frequently. Three or four point increments a month is not unusual. At this time version is 0.93. Several important improvements have been added in the past few weeks so ensure you have this version. Explicit FF support will be arriving soon. An updated xml file is available now that allows support of almost all FF and FF3R meshes. Updated development XML files are available from:
http://svn.sourceforge.net/viewvc/niftools/trunk/docsys/nif.xml?view=markup
go to this webpage, then right click on the download button to download a new NIF.xml file Rename the old XML file in your NifScope directory and replace it with the new one. The best XML file for use with FF/FF3R can be downloaded from:
http://svn.sourceforge.net/viewvc/niftools/trunk/docsys/nif.xml?view=markup&pathrev=1566
AT this time, a slightly better XML file is available from the Author. PM him if you want it.

3. What can I use it on? Any .NIF or .KF file that loads without error. This includes object and terrain meshes. Currently, Irrational produced FF meshes will NOT load usefully. Meshes produced from Irrational MAX files WILL load. Meshers will understand if I say it’s all to do with CLOD. It’s safe to try to open any mesh or KF. If you get an error message on loading, just don’t work on that mesh. It would be nice to report the error to the NifScope team if it’s reproducible using the xml checker. Under NO circumstances save it. Make sure you can replace mistakes if you wreck a mesh.

4. What can I do with it? Many things. You can clone existing mesh pieces. Want the mesh with a single horn on its head to have a row of them? You can do that. Want a version of Timemasters end of time terrain with eight disks? That’s easy too. Want to add textures to a non-textured mesh piece in an FV derivative? You can do that. (You can even control the mapping on the mesh under some circumstances, but even if not, often that may not be an issue). Many of the traditional hexing activities such as making parts invisible or visible, changing size and dimensions are easy as you can see the effect of your changes at once. Want to rename the textures read by a mesh for consistency or to avoid having a ‘_textures_myterrain’ directory with 99 standard textures and just one edited texture? Want to change the length of the texture filename? Easy. You can cut and paste blocks from one nif into another. FF3R to FF pastes cause a warning and have very random results. Try with caution. It’s very useful for inspecting a mesh. If you click on part of a mesh, the tree view opens on the relevant node. Further, you can toggle the rendering of invisible mesh pieces, making it easy to see what hidden parts exist. You can then select them easily, ready for modification. NifScope supports multiple texture directories, making it easy to view textured NIFs.

5. What can’t I do with it? There are some limitations. You don’t seem to be able to adjust individual mesh piece X, Y and Z dimensions, so keep another technique handy for this. (I’m going to suggest this for a future version.) Character mesh animations are not yet supported. External keyframe support has only just been added and it doesn’t like to use the FF/FF3R ones to animate a mesh. You can modify keyframes extensively if you open them in isolation though.

6. What about terrain? Terrain loads just fine.

7. What about objects? These open just fine. Most objects have a very simple structure. FF3R objects open just fine as well. IMPORTANT: You can ADD a bounding box, and we all know what that means! I cut the bounding box from the FF base table and attached it to the Mr mechanical table. I pasted a bounding box onto Minuteman’s rock, dropped it into an FF3R map and had Minuteman smash it to bits! All I need to do a size the box a little better and it will be perfect.

8. Origin Cutscenes? Yes, most of these open just fine. Yes, finally we should be able to make new origin cutscenes without boring a mesher. Even better, many of the animation sequences run!

9. Mesh repair. Got an old troublesome mesh that behaves a little strangely? Inspect it in great detail. Compare it to similar working meshes, and then fix it.

10. Can it open big meshes? It will open Tommyboy’s biggest versatile meshes, so I think the answer is yes.

11. What about effects?. Yes, almost of of these open. Better still, the animations usually run. A boon for effects creators.

12. Advanced features. Nifscope has several advanced features:

Thanks to Shon for pointing this one out:-
NifSkope has a feature where, if you copy and paste a skin from one mesh to another that has bones with the same name, the skin will attach itself to the new bones and animate with them. It works best if the files have exactly the same skeleton, but that’s often the case in other games. You have to start your copy from the object NiTriShape or NiTriStrips, and then paste onto the root node of the file. The bone names have to be exactly the same and have similar matrices for it to work.

You can add glow and gloss(aka refl) textures to meshes that don’t have them. Further you can easily control the mapping of the new textures.

You can go to town on keyframes. You can add new animation sequences and cut and paste suitable sequences from one key frame to another. All the traditional keyframe hexing operations are easily done.

Appendix:
How do I hex out an effects layer? You SHOULDN’T need to do this with the post 0.93 xml file, but I’ll retain this information just in case. You need to be confident with the hex editor of your choice. (Thanks to Eternl Knight for this explanation).

By replacing the NiTextureEffects data structure in the file with a non-reflective one (using a hex editor) – NIFScope can read in meshes such as Tommyboy’s awesome Utimate Ironman.

First create a new NIF File in NIFScope by opening an existing NIF. A simple object NIF is perfect. Then delete all the contents, and save the result as a new “blank” NIF. Now create a new “NiTextureEffect” node in the NIF and save it. Open the new NIF in a hex editor and copy into the clipboard the contents of the file starting at the “NiTextureEffect” string (this should be 52 bytes into the file) and ending 8 bytes before the end of the file (or 248 bytes from the start).

Open a copy of the character NIF causing problems in a hex editor. Locate the first instance of the string “NiTextureEffect” now select all the way from the start of this string (i.e. the “N” in “NiTextureEffect”) to 4 bytes before the next “NiXXX” string (this is typically a “NiSourceTexture” string). Replace this with the bytes copied into the clipboard above. Save this new character .NIF in another directory (so as not to destroy the original). Check it in character tool. It should open but have no effects such as reflection.

Sometimes (but not often) you need to repeat this step for a couple of NiTextureEffect nodes – but there tends to only be one per file.

After you are finished working in NifScope, simply reverse the process by copying the section from the unaltered NIF back into the edited version. You should be aware that if you add glow textures to a mesh piece you will not be able to reverse the process.