|
Supported by Engine
Summary table
This is a complete list of object and controller entries described in the game engine code.
In fact, this is the core of the notes! All modding is based on these engine features!
Many of these have attached example VIDEOS+NIFS+3dsMax files! See here which
Column names mean the following:
1. Name of the object.
|
name of NIF objects described in game engine code.
2. Bethesda only object?
|
If in this column something is marked as "BETH", than it is an unique object that was made by Bethesda only.
So it was not in Netimmerse engine originally. Not documented in the help for the engine!
3. nif.xml edit needed?
|
To add or edit some Morrowind NIF objects correctly in Nifskope, it is required to edit the "NIF.xml" file!
The original version of the nif.xml file (downloaded with Nifskope) contains some inaccuracies, or no data at all for some Morrowind NIF objects.
But fixing the nif.xml file allows to use these properties at their full potential.
4. Useful in local NIF?
|
It is possible to add all below objects into NIF files via Nifskope. But the question, is it useful?
if entry is "?", than it is still in question. Either there is no sense or the conditions for full use are not known.
5. Editable in Nifskope ?
|
If entry is "no", than object can be only created/edited reasonably first in 3dsmax/Blender, and than exported into NIF format.
6. Exportable from 3ds max 5?
|
Is it possible to create element in 3ds max 5, than export into NIF with Niftools/FFE/TES exporters?
7. Exportable from Blender?
|
Is it possible to create element in Blender, than export into NIF with the Morrowind-Blender-NIf-exporter plugin?
8. Morrowind.exe engine note
|
Is NIF object working or fixed or broken in Morrowind.exe?
9. OpenMW 4.8 engine note
|
Is NIF object working or fixed or broken in OpenMW 4.8?
The difference between "is read, doesn't work" and "doesn't work" is that records marked as the former will not interrupt the loading of the model (even if it will not lead to an accurate appearance/behavior) and those marked as the latter will.
Name of the object
|
Bethesda
only
object?
|
nif.xml
edit
needed?
|
Useful to add object into local NIF files?
|
Editable
by hand using only Nifskope?
|
Exportable from 3DS MAX?
|
Exportable from Blender?
|
Morrowind.exe
Game engine
extra notes
|
OpenMW 4.8
Game engine
extra notes
|
|
*
|
yes
|
?
|
no
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
is read, doesn't work
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works partially (only one mode)
| |
|
*
|
?
|
yes
|
-------------
|
-------------
|
works
|
doesn't work
| |
Beth
|
*
|
no
|
-------------
|
-------------
|
-------------
|
works
|
doesn't work
| |
Beth
|
|
yes
|
yes
|
yes
|
no
|
works
|
works, some flags are not handled
| |
|
*
|
yes
|
yes
|
no
|
no
|
works
|
doesn't work
| |
Beth
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
Beth
|
|
yes
|
yes
|
no
|
no
|
works
|
works
| |
|
|
no
|
-------------
|
-------------
|
-------------
|
is read, doesn't work
|
is read, doesn't work
| |
|
*
|
yes
|
?
|
no
|
no
|
works
|
works
| |
|
*
|
yes
|
yes
|
no
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
*
|
no
|
-------------
|
-------------
|
-------------
|
works
|
doesn't work
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
is read, doesn't work
| |
|
|
no
|
-------------
|
-------------
|
-------------
|
works
|
is read, ignored
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
*
|
yes
|
yes
|
no
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
no
|
no
|
works
|
is read, doesn't work
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works, doesn't affect physics
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works, has inaccuracies
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
*
|
no
|
-------------
|
-------------
|
-------------
|
works
|
doesn't work
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
doesn't work
| |
|
*
|
yes
|
yes
|
no
|
no
|
works - glitchy - fixed in MWSE 2.0
|
works
| |
|
*
|
yes
|
yes
|
no
|
no
|
works - glitchy - fixed in MWSE 2.0
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
is read, doesn't work
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
no
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
(older Nifskope
can generate it)
|
-------------
|
-------------
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
*
|
yes
|
yes
|
yes
|
no
|
works
|
doesn't work
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
no
|
-------------
|
-------------
|
-------------
|
is read, ignored
|
is read, ignored
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works (with out it particles give error)
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works partially
| |
|
|
yes
|
(older Nifskope
can generate it)
|
yes
|
yes
|
works
|
works partially, will work fully in 0.49
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
is read, doesn't work
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
*
|
no
|
-------------
|
-------------
|
-------------
|
works
|
doesn't work
| |
|
*
|
no
|
-------------
|
-------------
|
-------------
|
not working in the engine
|
doesn't work
| |
|
*
|
no
|
-------------
|
-------------
|
-------------
|
works
|
doesn't work
| |
|
*
|
no
|
-------------
|
-------------
|
-------------
|
works
|
doesn't work
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
*
|
no
|
-------------
|
-------------
|
-------------
|
works
|
doesn't work
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
no
|
-------------
|
-------------
|
-------------
|
broken or disabled
|
is read, ignored
| |
|
|
yes
|
no
|
yes
|
yes
|
works
|
works (different skinning implementation)
| |
|
*
|
yes
|
no
|
no
|
yes
|
works
|
is read, doesn't work
| |
|
|
yes
|
no
|
yes
|
yes
|
works
|
works, has inaccuracies
| |
|
*
|
yes
|
yes
|
no
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
no
|
-------------
|
-------------
|
-------------
|
ignored
|
works, ignored for 4.0.0.2 NIF
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
is read, doesn't work
| |
|
|
yes
|
yes
|
no
|
no
|
works - corrections in MWSE 2.x
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
*
|
yes
|
yes
|
no
|
no
|
works - fixed in in MWSE 2.x and MCP 2.4
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
flawed, works only for reflection maps
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
hardcore
|
yes
|
yes
|
works
|
works
| |
|
*
|
yes
|
no
|
no
|
no
|
works
|
doesn't work
| |
|
|
no
|
-------------
|
-------------
|
-------------
|
works
|
works
| |
|
|
no
|
-------------
|
-------------
|
-------------
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works - corrections in MWSE 2.x
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
| |
|
|
no
|
-------------
|
-------------
|
-------------
|
not used
|
is read, ignored
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
|
|
yes
|
yes
|
yes
|
no
|
works
|
works, exact draw order isn't guaranteed
| |
AvoidNode
|
Beth
|
|
yes
|
yes
|
yes
|
no
|
works
|
works
|
BSMirroredNode
|
Beth
|
*
|
no
|
-------------
|
-------------
|
-------------
|
works
|
doesn't work
|
Beth
|
*
|
no
|
-------------
|
-------------
|
-------------
|
works
|
doesn't work
| |
Beth
|
|
yes
|
yes
|
yes
|
yes
|
works
|
works
| |
Beth
|
*
|
no
|
-------------
|
-------------
|
-------------
|
works
|
doesn't work
| |
|
|
-------------
|
-------------
|
-------------
|
-------------
|
(footer and header text of the NIF file)
|
|
General object hierarchy - dependancies and connections
red text - (not a 'physical' NIF object, only generic engine term - so you can't add in Nifskope)
┌· NiObject
│
├──┬· NiAccumulator
│ └──┬· NiClusterAccumulator
│ └───· NiAlphaAccumulator
│
├──┬· NiExtraData
│ ├───· BrickNiExtraData
│ ├───· TES3ObjectExtraData
│ ├───· NiStringExtraData
│ ├───· NiTextKeyExtraData
│ └───· NiVertWeightsExtraData
│
├──┬· NiGeometryData
│ ├───· NiLinesData
│ ├──┬· NiParticlesData
│ │ ├───· NiAutoNormalParticlesData
│ │ └───· NiRotatingParticlesData
│ └──┬· NiTriBasedGeomData
│ ├──┬· NiTriShapeData
│ │ └───· NiTriShapeDynamicData
│ └───· NiTriStripsData
│
├──┬· NiObjectNET
│ │
│ ├──┬· NiAVObject
│ │ ├───· NiCamera
│ │ │
│ │ ├──┬· NiDynamicEffect
│ │ │ ├───· NiTextureEffect
│ │ │ └──┬· NiLight
│ │ │ ├───· NiAmbientLight
│ │ │ ├───· NiDirectionalLight
│ │ │ └──┬· NiPointLight
│ │ │ └───· NiSpotLight
│ │ │
│ │ ├──┬· NiGeometry
│ │ │ ├───· NiLines
│ │ │ ├──┬· NiParticles
│ │ │ │ ├───· NiAutoNormalParticles
│ │ │ │ └───· NiRotatingParticles
│ │ │ └──┬· NiTriBasedGeom
│ │ │ ├───· NiTriShape
│ │ │ └───· NiTriStrips
│ │ │
│ │ └──┬· NiNode
│ │ ├───· AvoidNode
│ │ ├───· RootCollisionNode
│ │ ├───· NiBillboardNode
│ │ ├───· NiBSAnimationManager
│ │ ├───· NiBSPNode
│ │ ├───· NiCollisionSwitch
│ │ ├───· NiSortAdjustNode
│ │ ├──┬· NiBSAnimationNode
│ │ │ └───· NiBSParticleNode
│ │ └──┬· NiSwitchNode
│ │ ├───· NiFltAnimationNode
│ │ └───· NiLODNode
│ │
│ ├──┬· NiProperty
│ │ ├───· NiAlphaProperty
│ │ ├───· NiDitherProperty
│ │ ├───· NiFogProperty
│ │ ├───· NiMaterialProperty
│ │ ├───· NiRendererSpecificProperty
│ │ ├───· NiShadeProperty
│ │ ├───· NiSpecularProperty
│ │ ├───· NiStencilProperty
│ │ ├───· NiTexturingProperty
│ │ ├───· NiVertexColorProperty
│ │ ├───· NiWireframeProperty
│ │ └───· NiZBufferProperty
│ │
│ ├───· NiSequenceStreamHelper
│ │
│ └──┬· NiTexture
│ ├──┬· NiRenderedTexture
│ │ └───· NiRenderedCubeMap
│ └───· NiSourceTexture
│
├──┬· NiParticleModifier
│ ├───· NiGravity
│ ├───· NiParticleBomb
│ ├──┬· NiParticleCollider
│ │ ├───· NiPlanarCollider
│ │ └───· NiSphericalCollider
│ ├───· NiParticleColorModifier
│ ├───· NiParticleGrowFade
│ └───· NiParticleRotation
│
├──┬· NiRenderer
│ └───· NiDX8Renderer
│
├──┬· NiTimeController
│ ├───· NiFlipController
│ ├──┬· NiFloatController
│ │ ├───· NiAlphaController
│ │ └───· NiRollController
│ ├───· NiKeyframeController
│ ├───· NiKeyframeManager*
│ ├───· NiLightColorController
│ ├───· NiLookAtController
│ ├───· NiMaterialColorController
│ ├──┬· NiMorpherController
│ │ └───· NiGeomMorpherController
│ ├──┬· NiParticleSystemController
│ │ └───· NiBSPArrayController
│ ├───· NiPathController
│ ├───· NiUVController
│ └───· NiVisController
│
├───· NiBltSource
├───· NiColorData
├───· NiEmitterModifier
├───· NiFloatData
├───· NiKeyframeData
├───· NiMorphData
├───· NiPalette
├───· NiPixelData
├───· NiPosData
├───· NiScreenPolygon
├───· NiSkinData
├───· NiSkinInstance
├───· NiSkinPartition
├───· NiUVData
└───· NiVisData
|
Note.
Only the 'official help' from the 4.0 and 4.2 versions of the game engine could definitively dot the i's and cross the t's.
Without it, there will be some possibility of errors, or misinterpreted data.
The following objects can be added to the nif files, but they are of little use..
NiRenderedTexture - Apparently requires communication with the camera. Has no settings and cannot be configured correctly in the nif files.
NiRendererSpecificProperty - part of the water shader algorithm. Adding it directly to the files, doesn't get you anywhere.
NiScreenPolygon - Apparently, it only works in conjunction with the camera. Alas, cameras in local nif files, do not work. No direct usefulness noticed.
NiCamera - as it turns out, the camera doesn't actually work in the nif files. All cameras are created by the game engine. I.e. it's not possible to benefit from local cameras.
NiBltSource - does not seem to work directly from the nif files. Although it can be created here. All in all, little useful and outdated.
Do not directly add files to the nif files, this leads to CTD crash and other errors:
NiAccumulator - is a system class and should not itself be in a nif file.
NiBone - A remnant from an older version of the engine, where it was responsible for creating skeleton bones.
The presence of version 4.0 in the nif files causes the editor and the game to crash.
TES3ObjectExtraData, BrickNiExtraData и BSMirroredNode - These objects are only created by the engine during a game session and do not work from "normal" nif files. That is, these objects are dynamically created by the game engine (and editor) for the models loaded into RAM.
I.e. these objects are not loaded from nif files. And they are not supposed to be used locally in general.
Control the rendering of the scene "behind the scenes" so to speak.
NiRenderedCubeMap - is not available in this version of the engine and cannot be used in nif files.
I.e. full cube map support was added only in 4.2 version of the engine.
OpenMW notes:
Target field of controllers is not used
Some interpolation modes are unsupported
Root node transformations aren't right in edge cases
Filtering modes are ignored in favor of global filtering