This guide is describes the features of the Niftools Max Exporter. This will document the option visible when exporting KF and NIF files for games such as Oblivion or Civilization 4 which use the Netimmerse or Gamebryo game engine.
The Niftools Max Plugins can be downloaded from http://www.niftools.org. Click on the Downloads link in the navigation pane to download the latest release from the sourceforge website.
Installation consists of unzipping the current release into your 3dsmax installation directory.
Finding the Export Menu
The export menu is available in Max from the File menu and then select the Netimmerse/Gamebryo (*.kf, *.nif) option then browse for your file.
After selecting a file to export the main exporter options dialog is displayed.
Note that the current release number is always listed in the caption of the exporter. When reporting bugs to the Niftools Bug Report forum it is frequently useful you provide the version number that you are using.
General Options currently contain options that will affect the rest of the option in the dialog with game specific settings.
Here you can select the game settings to use. Note that the INI file that is shipped with the exporter actually have the advanced settings where you can specify where default textures will be pulled from for individual games. These options are not currently exposed by the exporter via a dialog.
The version text box allows entry of custom version numbers. Only versions that are known at the time a particular version of the exporter was created will be allowed to be exported.
Some games require a User Version number to be entered to enable features. For example, Oblivion uses the User Version to enable a special priority field in animations when the user version is 10 or 11.
Paths specified in the INI file control where to guess where a particular NIF comes from. In the future, the version of the NIF may also be used if the path the nif comes from it cannot be detected.
Default Texture Prefix
The exporter will try to guess what the path for the texture should be based on the game and the advanced settings in the Configuration .INI file. If the exporter still cannot determine the path then it will prefix the path entered in this field before the texture name.
When Hidden Nodes is checked then any nodes that are current hidden will be exported. Otherwise the node and any children (even if those are visible) will not be exported.
The Skeleton Only refers to whether only the bones in a case are exported. Any options involving meshes or skin modifiers will be ignored.
Collision refers to the export of collision meshes that are defined using the NifProps Utility also included with this product. If this is checked then any defined collision mesh will be exported. Some fields like Mass are shared between the reactor extension and the niftools extension.
Lights refer to one of several light types in Max and each are supported. This option is off by default.
- Omni – Omni lights cast light in all directions.
- Free Spot – Casts a focused beam like a flashlight that spreads out in a cone.
- Free Direct – Casts a focused beam that is parallel like sunlight.
Cameras are used to view the area where the camera is aimed. Only Free Cameras are supported. This option is off by default.
Cameras may be useful in 1st person animation for games like Oblivion to control where the viewport is that is scene.
Geometry Options involve settings related to exporting meshes from a NIF typically these are derived from NiTriShape or NiTriStrips for those familiar with NIF objects.
The Generate Strips options determine whether this mesh is strippified. This is an optimization process which generally improves performance when it is supported. When this is check NiTriStrips will be generated otherwise NiTriShapes will.
Extra Nodes on Mesh
The Extra Nodes on Mesh option will create additional Nodes for every mesh in the case when exported. When exporting armor or creatures for Oblivion this is typically an undesirable option as the skeleton typically has all of the nodes required by the game in fact it will crash if this is checked when exporting equipment that is rigged to a skeleton.
The Flatten Hierarchy option controls whether all meshes are exported as children directly of the Scene Root. It will unparent all bones and meshes as part of the export process. Some games like Oblivion do this by default on armor presumably because it provides a slight performance boost but seems to be optional.
If checked, the Vertex Colors option will cause Vertex Colors to be exported with a mesh.
Update Tangent Space
If checked, the Update Tangent Space option will create special extra data containing Tangents and Binormal data which is used by Oblivion.
If checked, the Collapse Transforms option will update the vertices of meshes from the parents transform. This is largely a debugging aide at this time.
Skin Modifer Options
Export Skin Modifier
The Export Skin Modifier check controls whether the vertex weight settings are exported to an NiSkinInstance object if a mesh has a Skin modifier associated with it.
Enable Multiple Partitions
The Enable Multiple Partitions option controls whether a skin is partitioned in to smaller pieces. If disabled, then only one partition will be generated.
If multiple partitions is enabled then the Bones Per Partition setting is used to determine how many bones are allowed in a given partition.
Bones Per Partition
The Bones Per Partition field allows specification of the number of bones allowed in a given partition. Games such as Morrowind and Civilization 4 seem to use a low number of bones per partition. Apparently, DirectX allows for software shader rendering and desires 4 bones per partition to work correctly.
Bones Per Vertex
The Bones Per Vertex field allows specification of the number of bones allowed to effect a specific vertex. This setting always seems to be 4.
Remove Extra Bones
The Remove Extra Bones option will attempt to remove any bones that it thinks are unnecessary during the export process because they were not associated with a skin modifier. Some games like Morrowind and Oblivion seem to remove unused bones in the final product presumably to give a slight performance boost.
There are 6 general settings for exporting animation:
- NIF w/o Animation – This option exports a normal NIF file without any animation included. This is the default option.
- NIF with Animation – This option exports a NIF with animation fully baked in. This is rarely seen in games.
- Single KF with NIF – This option will export a single KF file and a NIF file. All animation segments will be part of the single KF file. This is the standard setting for Morrowind based animation. Other games seem to prefer multiple KF files.
- Single KF w/o NIF – This option is the same as above but the NIF files is not written out.
- Multi KF with NIF – This option will generate a separate KF file for each animation segment defined in a scene for each root node in with animation.
- Multi KF w/o NIF– This option is the same as above but the NIF files is not written out.
- NIF w/ Manager – This option will export a single nif bug with all animation separated into to NiControllerManagers within the NIF. No games seem to use this but Nifskope can preview animations with this setting.
This option controls whether Transform animation is exported. This is almost always checked as no other animation is supported at this time. When flip controllers and morph controllers are supported then this option will be more meaningful.
Use Time Tags
This check box controls whether Time Tags are used instead of Note Keys for animation. This was added because it appeared difficult to export animation for Morrowind given that there are no dedicated utilities for defining the note keys. Its been pointed out that the Dope Sheet editor can do this so this option will be removed in the future.
Miscellaneous settings currently don’t fit into any other options well so they are lumped here until they have a better place to reside.
Add User Prop Buffer
User Prop Buffers are strings that can be saved into 3ds max and associated with bones or meshes. Games and reactor associate values for items in these strings and then use them in exporters or other auxiliary tools. This option will export those strings.
Note: Civilization 4 will export strings that control things like the LOD Node settings on bones but will export with a warning. Unchecking this will lose that data but prevent that warning on export.
The Sort Nodes option causes NiTriShape and NiTriStrip nodes to be the first nodes in a list of children. This option is required for some games such as Oblivion which will crash if meshes are not before the bones.