×
Меню
Индекс

Supported by Engine (EN) in short.

Это примечания от уважаемого брата Карпа (Kurp), составленные им в 2021-22ом годах к 3.2 версии заметок.
Включают в себя несколько более расширенные данные о поддержке элементов ниф файлов в Опен Мв и возможности экспорта оных из Блендера.
В остальном, это (копипаста) перевод оригинальной статьи из заметок той версии.
 
Так же, стоит заметить, что данные верны для версии ОпенМВ 0.48, для более старших версии, они могут быть не столь актуальны.
 

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!
 
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
 
NiAlphaAccumulator
 
*
yes
?
no
no
works
works
 
NiAlphaController
 
 
yes
yes
yes
yes
works
works
 
NiAlphaProperty
 
 
yes
yes
yes
yes
works
works
 
NiAmbientLight
 
 
yes
yes
yes
no
works
is read, doesn't work
 
NiAutoNormalParticles
 
 
yes
yes
yes
no
works
works
 
NiAutoNormalParticlesData
 
 
yes
yes
yes
no
works
works
 
NiBillboardNode
 
 
yes
yes
yes
no
works
works partially (only one mode)
 
NiBltSource
 
*
?
yes
-------------
-------------
works
doesn't work
 
NiBSAnimationManager
Beth
*
no
-------------
-------------
-------------
works
doesn't work
 
NiBSAnimationNode
Beth
 
yes
yes
yes
no
works
works, some flags are not handled
 
NiBSPNode
 
*
yes
yes
no
no
works
doesn't work
 
NiBSPArrayController
Beth
 
yes
yes
yes
no
works
works
 
NiBSParticleNode
Beth
 
yes
yes
no
no
works
works
 
NiCamera
 
 
no
-------------
-------------
-------------
is read, doesn't work
is read, doesn't work
 
NiClusterAccumulator
 
*
yes
?
no
no
works
works
 
NiCollisionSwitch
 
*
yes
yes
no
no
works
works
 
NiColorData
 
 
yes
yes
yes
yes
works
works
 
NiDX8Renderer
 
*
no
-------------
-------------
-------------
works
doesn't work
 
NiDirectionalLight
 
 
yes
yes
yes
no
works
is read, doesn't work
 
NiDitherProperty
 
 
no
-------------
-------------
-------------
works
is read, ignored
 
NiFlipController
 
 
yes
yes
yes
no
works
works
 
NiFloatData
 
 
yes
yes
yes
yes
works
works
 
NiFltAnimationNode
 
*
yes
yes
no
no
works
works
 
NiFogProperty
 
 
yes
yes
no
no
works
is read, doesn't work
 
NiGeomMorpherController
 
 
yes
yes
yes
yes
works
works, doesn't affect physics
 
NiGravity
 
 
yes
yes
yes
no
works
works, has inaccuracies
 
NiKeyframeController
 
 
yes
yes
yes
yes
works
works
 
NiKeyframeData
 
 
yes
yes
yes
yes
works
works
 
NiKeyframeManager
 
*
no
-------------
-------------
-------------
works
doesn't work
 
NiLightColorController
 
 
yes
yes
yes
no
works
doesn't work
 
NiLines
 
*
yes
yes
no
no
works - glitchy - fixed in MWSE 2.0
works
 
NiLinesData
 
*
yes
yes
no
no
works - glitchy - fixed in MWSE 2.0
works
 
NiLODNode
 
 
yes
yes
yes
no
works
works
 
NiLookAtController
 
 
yes
yes
yes
yes
works
is read, doesn't work
 
NiMaterialColorController
 
 
yes
yes
yes
yes
works
works
 
NiMaterialProperty
 
 
yes
yes
yes
yes
works
works
 
NiMorphData
 
 
yes
no
yes
yes
works
works
 
NiNode
 
 
yes
yes
yes
yes
works
works
 
NiPalette
 
 
yes
(older Nifskope
can generate it)
-------------
-------------
works
works
 
NiParticles
 
 
yes
yes
yes
no
works
works
 
NiParticleBomb
 
*
yes
yes
yes
no
works
doesn't work
 
NiParticleColorModifier
 
 
yes
yes
yes
no
works
works
 
NiParticleGrowFade
 
 
yes
yes
yes
no
works
works
 
NiParticleRotation
 
 
no
-------------
-------------
-------------
is read, ignored
is read, ignored
 
NiParticlesData
 
 
yes
yes
yes
no
works
works
 
NiParticleSystemController
 
 
yes
yes
yes
no
works
works (with out it particles give error)
 
NiPathController
 
 
yes
yes
yes
no
works
works partially
 
NiPixelData
 
 
yes
(older Nifskope
can generate it)
yes
yes
works
works partially, will work fully in 0.49
 
 
NiPlanarCollider
 
 
yes
yes
yes
no
works
almost work (not full and not correctly!) (only one side direction can work) (fixed at 0.51 ver)
 
 
NiPointLight
 
 
yes
yes
yes
no
works
is read, doesn't work
 
NiPosData
 
 
yes
yes
yes
yes
works
works
 
NiRenderer
 
*
no
-------------
-------------
-------------
works
doesn't work
 
NiRenderedCubeMap
 
*
no
-------------
-------------
-------------
not working in the engine
doesn't work
 
NiRenderedTexture
 
*
no
-------------
-------------
-------------
works
doesn't work
 
NiRendererSpecificProperty
 
*
no
-------------
-------------
-------------
works
doesn't work
 
NiRollController
 
 
yes
yes
yes
no
works
works
 
NiRotatingParticles
 
 
yes
yes
yes
no
works
works
 
NiRotatingParticlesData
 
 
yes
yes
yes
no
works
works
 
NiScreenPolygon
 
*
no
-------------
-------------
-------------
works
doesn't work
 
NiSequenceStreamHelper
 
 
yes
yes
yes
no
works
works
 
NiShadeProperty
 
 
no
-------------
-------------
-------------
broken or disabled
is read, ignored
 
NiSkinData
 
 
yes
no
yes
yes
works
works (different skinning implementation)
 
NiSkinPartition
 
*
yes
no
no
yes
works
is read, doesn't work
 
NiSkinInstance
 
 
yes
no
yes
yes
works
works, has inaccuracies
 
NiSortAdjustNode
 
*
yes
yes
no
no
works
works
 
NiSourceTexture
 
 
yes
yes
yes
yes
works
works
 
NiSpecularProperty
 
 
no
-------------
-------------
-------------
ignored
works, ignored for 4.0.0.2 NIF
 
NiSphericalCollider
 
 
yes
yes
yes
no
works
works
 
NiSpotLight
 
 
yes
yes
yes
no
works
is read, doesn't work
 
NiStencilProperty
 
 
yes
yes
no
no
works - corrections in MWSE 2.x
works (limit on 255 value at ref)!
 
NiStringExtraData
 
 
yes
yes
yes
no
works
works
 
NiSwitchNode
 
*
yes
yes
no
no
works - fixed in in MWSE 2.x and MCP 2.4
works
 
NiTextKeyExtraData
 
 
yes
yes
yes
yes
works
works
 
NiTextureEffect
 
 
yes
yes
yes
no
works
flawed, works only for reflection maps
 
NiTexturingProperty
 
 
yes
yes
yes
yes
works
works
 
NiTriShape
 
 
yes
yes
yes
yes
works
works
 
NiTriShapeData
 
 
yes
hardcore
yes
yes
works
works
 
NiTriShapeDynamicData
 
*
yes
no
no
no
works
doesn't work
 
NiTriStrips
 
 
no
-------------
-------------
-------------
works
works
 
NiTriStripsData
 
 
no
-------------
-------------
-------------
works
works
 
NiUVController
 
 
yes
yes
yes
yes
works - corrections in MWSE 2.x
works
 
NiUVData
 
 
yes
yes
yes
yes
works
works
 
NiVertexColorProperty
 
 
yes
yes
yes
no
works
works
 
NiVertWeightsExtraData
 
 
no
-------------
-------------
-------------
not used
is read, ignored
 
NiVisController
 
 
yes
yes
yes
yes
works
works
 
NiVisData
 
 
yes
yes
yes
yes
works
works
 
NiWireframeProperty
 
 
yes
yes
yes
yes
works
works
 
NiZBufferProperty
 
 
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
 
BrickNiExtraData
Beth
*
no
-------------
-------------
-------------
works
doesn't work
 
RootCollisionNode
Beth
 
yes
yes
yes
yes
works
works
 
TES3ObjectExtraData
Beth
*
no
-------------
-------------
-------------
works
doesn't work
 
niFooter, niHeader
 
 
-------------
-------------
-------------
-------------
(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