NIF Objects | Compound Types | Enum Types | Basic Types | File Versions
Name | Description |
---|---|
ATextureRenderData | |
AvoidNode | Morrowind specific? |
BSAnimNotes | Bethesda-specific node. |
BSBlastNode | Bethesda-Specific node. |
BSBound | Bethesda-specific collision bounding box for skeletons. |
BSDamageStage | Bethesda-Specific node. |
BSDebrisNode | Bethesda-Specific node. |
BSDecalPlacementVectorExtraData | Bethesda-specific node. (for dynamic decal projection?) |
BSDismemberSkinInstance | Bethesda-specific node. |
BSDistantTreeShaderProperty | Bethesda-specific node. |
BSFadeNode | Bethesda-specific fade node. |
BSFrustumFOVController | Bethesda-specific node. |
BSFurnitureMarker | Unknown. Marks furniture sitting positions? |
BSKeyframeController | An extended keyframe controller. |
BSMasterParticleSystem | Bethesda-Specific node. |
BSMaterialEmittanceMultController | Bethesda-Specific node. |
BSMultiBound | Bethesda-specific node. |
BSMultiBoundAABB | Bethesda-specific node. |
BSMultiBoundNode | Bethesda-specific node. |
BSMultiBoundSphere | Bethesda-specific node. |
BSOrderedNode | Bethesda-Specific node. |
BSPSysArrayEmitter | Particle emitter that uses a node, its children and subchildren to emit from. Emission will be evenly spread along points from nodes leading to their direct parents/children only. |
BSPSysMultiTargetEmitterCtlr | Particle system (multi?) emitter controller. |
BSPSysSimpleColorModifier | Bethesda-Specific Particle node. |
BSPSysStripUpdateModifier | Bethesda-Specific (mesh?) Particle System Modifier. |
BSParentVelocityModifier | Particle modifier that adds a blend of object space translation and rotation to particles born in world space. |
BSRefractionFirePeriodController | Bethesda-specific node. |
BSRefractionStrengthController | Bethesda-Specific node. |
BSSegmentedTriShape | Bethesda-specific node. |
BSShaderLightingProperty | Bethesda-specific property. |
BSShaderNoLightingProperty | Bethesda-specific property. |
BSShaderPPLightingProperty | Bethesda-specific Shade node. |
BSShaderProperty | Bethesda-specific Property node |
BSShaderTextureSet | Bethesda-specific Texture Set. |
BSStripPSysData | Bethesda-Specific (mesh?) Particle System Data. |
BSStripParticleSystem | Bethesda-Specific (mesh?) Particle System. |
BSTreadTransfInterpolator | Bethesda-specific node. |
BSValueNode | Bethesda-Specific node. Found on fxFire effects |
BSWArray | Bethesda-specific node. |
BSWindModifier | Particle Modifier that uses the wind value from the gamedata to alter the path of particles. |
BSXFlags | Controls animation and collision. Integer holds flags: Bit 0 : enable animation Bit 1 : enable collision Bit 2 : is skeleton nif? Bit 3 : toggable? unknown, set to 1 on oblivion signs Bit 4 : FlameNodes present Bit 5 : EditorMarkers present |
DistantLODShaderProperty | Bethesda-specific node. |
FxButton | Unknown. |
FxRadioButton | Unknown. |
FxWidget | Firaxis-specific UI widgets? |
HairShaderProperty | Bethesda-specific node. |
Lighting30ShaderProperty | Bethesda-specific node. |
Ni3dsAlphaAnimator | Unknown! |
Ni3dsAnimationNode | Unknown! |
Ni3dsColorAnimator | Unknown! |
Ni3dsMorphShape | Unknown! |
Ni3dsParticleSystem | Unknown! |
Ni3dsPathController | Unknown! |
NiAVObject | Generic node object. |
NiAVObjectPalette | Unknown. |
NiAdditionalGeometryData | |
NiAlphaController | Time controller for transparency. |
NiAlphaProperty | Transparency. Flags 0x00ED. |
NiAmbientLight | Ambient light source. |
NiArkAnimationExtraData | Unknown node. |
NiArkImporterExtraData | Unknown node. |
NiArkShaderExtraData | Unknown node. |
NiArkTextureExtraData | Unknown node. |
NiArkViewportInfoExtraData | Unknown node. |
NiAutoNormalParticles | Unknown. |
NiAutoNormalParticlesData | Particle system data object (with automatic normals?). |
NiBSAnimationNode | Bethesda-specific extension of Node with animation properties stored in the flags. |
NiBSBoneLODController | A simple LOD controller for bones. |
NiBSPArrayController | A particle system controller, used by BS in conjunction with NiBSParticleNode. |
NiBSParticleNode | Unknown. |
NiBSplineBasisData | Stores the number of control points of a B-spline. |
NiBSplineCompFloatInterpolator | Unknown. |
NiBSplineCompPoint3Interpolator | Unknown. |
NiBSplineCompTransformInterpolator | An interpolator for storing transform keyframes via a compressed B-spline (that is, using shorts rather than floats in the B-spline data). |
NiBSplineData | B-spline data points as floats, or as shorts for compressed B-splines. |
NiBSplineFloatInterpolator | Unknown. |
NiBSplineInterpolator | For interpolators storing data via a B-spline. |
NiBSplinePoint3Interpolator | Unknown. |
NiBSplineTransformInterpolator | An interpolator for storing transform keyframes via a B-spline. |
NiBezierMesh | Unknown |
NiBezierTriangle4 | Sub data of NiBezierMesh |
NiBillboardNode | These nodes will always be rotated to face the camera creating a billboard effect for any attached objects. In pre-10.1.0.0 the Flags field is used for BillboardMode. Bit 0: hidden Bits 1-2: collision mode Bit 3: unknown (set in most official meshes) Bits 5-6: billboard mode Collision modes: 00 NONE 01 USE_TRIANGLES 10 USE_OBBS 11 CONTINUE Billboard modes: 00 ALWAYS_FACE_CAMERA 01 ROTATE_ABOUT_UP 10 RIGID_FACE_CAMERA 11 ALWAYS_FACE_CENTER |
NiBinaryExtraData | Binary extra data object. Used to store normals and binormals in Oblivion. |
NiBinaryVoxelData | Voxel data object. |
NiBinaryVoxelExtraData | Voxel extra data object. |
NiBlendBoolInterpolator | An interpolator for a bool. |
NiBlendFloatInterpolator | An interpolator for a float. |
NiBlendInterpolator | An extended type of interpolater. |
NiBlendPoint3Interpolator | Interpolates a point? |
NiBlendTransformInterpolator | Unknown. |
NiBone | A NiNode used as a skeleton bone? |
NiBoneLODController | Level of detail controller for bones. Priority is arranged from low to high. |
NiBoolData | Timed boolean data. |
NiBoolInterpController | A controller that interpolates floating point numbers? |
NiBoolInterpolator | Unknown. |
NiBoolTimelineInterpolator | Unknown. |
NiBooleanExtraData | Boolean extra data. |
NiCamera | Camera object. |
NiClod | A shape node that holds continuous level of detail information. Seems to be specific to Freedom Force. |
NiClodData | Holds mesh data for continuous level of detail shapes. Pesumably a progressive mesh with triangles specified by edge splits. Seems to be specific to Freedom Force. The structure of this is uncertain and highly experimental at this point. No file with this data can currently be read properly. |
NiClodSkinInstance | A copy of NISkinInstance for use with NiClod meshes. |
NiCollisionData | Collision box. |
NiCollisionObject | This is the most common collision object found in NIF files. It acts as a real object that is visible and possibly (if the body allows for it) interactive. The node itself is simple, it only has three properties. For this type of collision object, bhkRigidBody or bhkRigidBodyT is generally used. |
NiColorData | Color data for material color controller. |
NiColorExtraData | Unknown. |
NiControllerManager | Unknown. Root of all controllers? |
NiControllerSequence | Root node in .kf files (version 10.0.1.0 and up). |
NiDefaultAVObjectPalette | Unknown. Refers to a list of objects. Used by NiControllerManager. |
NiDirectionalLight | Directional light source. |
NiDitherProperty | Unknown. |
NiDynamicEffect | A dynamic effect such as a light or environment map. |
NiEnvMappedTriShape | Unknown |
NiEnvMappedTriShapeData | Holds mesh data using a list of singular triangles. |
NiExtraData | A generic extra data object. |
NiExtraDataController | An controller for extra data. |
NiFlipController | Texture flipping controller. |
NiFloatData | Possibly the 1D position along a 3D path. |
NiFloatExtraData | Float extra data. |
NiFloatExtraDataController | Unknown. |
NiFloatInterpController | A controller that interpolates floating point numbers? |
NiFloatInterpolator | Unknown. |
NiFloatsExtraData | Unknown. |
NiFogProperty | Describes... fog? |
NiGeomMorpherController | Time controller for geometry morphing. |
NiGeometry | Describes a visible scene element with vertices like a mesh, a particle system, lines, etc. |
NiGeometryData | Mesh data: vertices, vertex normals, etc. |
NiGravity | A particle modifier; applies a gravitational field on the particles. |
NiImage | |
NiIntegerExtraData | Extra integer data. |
NiIntegersExtraData | Integers data. |
NiInterpController | A controller capable of interpolation? |
NiInterpolator | Interpolator objects - function unknown. |
NiKeyBasedInterpolator | Interpolator objects that use keys? |
NiKeyframeController | A time controller object for animation key frames. |
NiKeyframeData | Keyframes for mesh animation. |
NiLODData | Abstract class used for different types of LOD selections. |
NiLODNode | Level of detail selector. Links to different levels of detail of the same model, used to switch a geometry at a specified distance. |
NiLight | Light source. |
NiLightColorController | Light color animation controller. |
NiLightDimmerController | Unknown controller. |
NiLightIntensityController | Unknown controller |
NiLines | Wireframe geometry. |
NiLinesData | Wireframe geometry data. |
NiLookAtController | Unknown. Start time is 3.4e+38 and stop time is -3.4e+38. |
NiLookAtInterpolator | Unknown. |
NiMaterialColorController | Time controller for material color. |
NiMaterialProperty | Describes the material shading properties. |
NiMeshPSysData | Particle meshes data. |
NiMeshParticleSystem | Particle system. |
NiMorphController | Unknown! Used by Daoc->'healing.nif'. |
NiMorphData | Geometry morphing data. |
NiMorpherController | Unknown! Used by Daoc. |
NiMultiTargetTransformController | Unknown. |
NiMultiTextureProperty | (note: not quite complete yet... but already reads most of the DAoC ones) |
NiNode | Generic node object for grouping. |
NiObject | Abstract object type. |
NiObjectNET | An object that can be controlled by a controller. |
NiPSysAgeDeathModifier | Unknown particle modifier. |
NiPSysAirFieldModifier | Particle system modifier, used for controlling the particle velocity in a field like wind. |
NiPSysBombModifier | Particle modifier that uses a NiNode to use as a "Bomb Object" to alter the path of particles. |
NiPSysBoundUpdateModifier | Unknown particle system modifier. |
NiPSysBoxEmitter | Particle emitter that uses points within a defined Box shape to emit from.. |
NiPSysCollider | Particle system collider. |
NiPSysColliderManager | Particle modifier that adds a defined shape to act as a collision object for particles to interact with. |
NiPSysColorModifier | Particle modifier that adds keyframe data to modify color/alpha values of particles over time. |
NiPSysCylinderEmitter | Particle emitter that uses points within a defined Cylinder shape to emit from. |
NiPSysData | Particle system data. |
NiPSysDragFieldModifier | Particle system modifier, used for controlling the particle velocity in drag space warp. |
NiPSysDragModifier | Unknown. |
NiPSysEmitter | A particle emitter? |
NiPSysEmitterCtlr | Particle system emitter controller. |
NiPSysEmitterCtlrData | Particle system emitter controller data. |
NiPSysEmitterDeclinationCtlr | Unknown. |
NiPSysEmitterDeclinationVarCtlr | Unknown. |
NiPSysEmitterInitialRadiusCtlr | Unknown. |
NiPSysEmitterLifeSpanCtlr | Unknown. |
NiPSysEmitterSpeedCtlr | Unknown. |
NiPSysFieldMagnitudeCtlr | Particle system controller, used for ???. |
NiPSysFieldModifier | Base for all force field particle modifiers. |
NiPSysGravityFieldModifier | Particle system modifier, used for controlling the particle velocity in gravity field. |
NiPSysGravityModifier | Adds gravity to a particle system, when linked to a NiNode to use as a Gravity Object. |
NiPSysGravityStrengthCtlr | Unknown. |
NiPSysGrowFadeModifier | Particle modifier that controls the time it takes to grow a particle from Size=0 to the specified Size in the emitter, and then back to 0. This modifer has no control over alpha settings. |
NiPSysMeshEmitter | Particle emitter that uses points on a specified mesh to emit from. |
NiPSysMeshUpdateModifier | Unknown. |
NiPSysModifier | Generic particle system modifier object. |
NiPSysModifierActiveCtlr | Unknown. |
NiPSysModifierBoolCtlr | A particle system modifier controller that deals with boolean data? |
NiPSysModifierCtlr | A particle system modifier controller. |
NiPSysModifierFloatCtlr | A particle system modifier controller that deals with floating point data? |
NiPSysPlanarCollider | Particle Collider object which particles will interact with. |
NiPSysPositionModifier | Unknown particle system modifier. |
NiPSysResetOnLoopCtlr | Unknown. |
NiPSysRotationModifier | Particle modifier that adds rotations to particles. |
NiPSysSpawnModifier | Unknown particle modifier. |
NiPSysSphereEmitter | Particle emitter that uses points within a sphere shape to emit from. |
NiPSysSphericalCollider | Particle Collider object which particles will interact with. |
NiPSysTrailEmitter | Guild 2-Specific node |
NiPSysTurbulenceFieldModifier | Particle system modifier, used for controlling the particle velocity in drag space warp. |
NiPSysUpdateCtlr | Particle system controller, used for ???. |
NiPSysVolumeEmitter | An emitter that emits meshes? |
NiPSysVortexFieldModifier | Particle system modifier, used for controlling the particle velocity in force field. |
NiPalette | A color palette. |
NiParticleBomb | A particle modifier. |
NiParticleColorModifier | Unknown. |
NiParticleGrowFade | This particle system modifier controls the particle size. If it is present the particles start with size 0.0 . Then they grow to their original size and stay there until they fade to zero size again at the end of their lifetime cycle. |
NiParticleMeshModifier | Unknown. |
NiParticleMeshes | Mesh particle node? |
NiParticleMeshesData | Particle meshes data. |
NiParticleModifier | A particle system modifier. |
NiParticleRotation | Unknown. |
NiParticleSystem | A particle system. |
NiParticleSystemController | A generic particle system time controller object. |
NiParticles | Generic particle system node. |
NiParticlesData | Generic rotating particles data object. |
NiPathController | Time controller for a path. |
NiPathInterpolator | Unknown interpolator. |
NiPersistentSrcTextureRendererData | |
NiPhysXActorDesc | Unknown PhysX node. |
NiPhysXBodyDesc | Unknown PhysX node. |
NiPhysXD6JointDesc | Unknown PhysX node. |
NiPhysXKinematicSrc | Unknown PhysX node. |
NiPhysXMaterialDesc | Unknown node. |
NiPhysXMeshDesc | Unknown PhysX node. |
NiPhysXProp | Unknown PhysX node. |
NiPhysXPropDesc | Unknown PhysX node. |
NiPhysXShapeDesc | Unknown PhysX node. |
NiPhysXTransformDest | Unknown PhysX node. |
NiPixelData | A texture. |
NiPlanarCollider | Unknown. |
NiPoint3InterpController | A controller that interpolates point 3 data? |
NiPoint3Interpolator | Unknown. |
NiPointLight | A point light. |
NiPortal | A Portal |
NiPosData | Position data. |
NiProperty | A generic property object. |
NiRangeLODData | Describes levels of detail based on distance of object from camera. |
NiRawImageData | Raw image data. |
NiRollController | Unknown. |
NiRoom | Grouping node for nodes in a Portal |
NiRoomGroup | Grouping node for nodes in a Portal |
NiRotatingParticles | Unknown. |
NiRotatingParticlesData | Rotating particles data object. |
NiScreenElements | Two dimensional screen elements. |
NiScreenElementsData | Two dimensional screen elements. |
NiScreenLODData | Describes levels of detail based on size of object on screen? |
NiSequence | Root node used in some Empire Earth II .kf files (version 4.2.2.0). |
NiSequenceStreamHelper | Keyframe animation root node, in .kf files. |
NiShadeProperty | Determines whether flat shading or smooth shading is used on a shape. |
NiSingleInterpController | A controller referring to a single interpolator. |
NiSkinData | Skinning data. |
NiSkinInstance | Skinning instance. |
NiSkinPartition | Skinning data, optimized for hardware skinning. The mesh is partitioned in submeshes such that each vertex of a submesh is influenced only by a limited and fixed number of bones. |
NiSortAdjustNode | Unknown node. Found in Loki. |
NiSourceCubeMap | Unknown node. Found in Emerge Demo. |
NiSourceTexture | Describes texture source and properties. |
NiSpecularProperty | Gives specularity to a shape. Flags 0x0001. |
NiSphericalCollider | Unknown. |
NiSpotLight | A spot. |
NiStencilProperty | Allows control of stencil testing. |
NiStringExtraData | Apparently commands for an optimizer instructing it to keep things it would normally discard. Also refers to NiNode objects (through their name) in animation .kf files. |
NiStringPalette | List of 0x00-seperated strings, which are names of controlled objects and controller types. Used in .kf files in conjunction with NiControllerSequence. |
NiStringsExtraData | List of strings; for example, a list of all bone names. |
NiSwitchNode | A node used to switch between branches, such as for LOD levels? |
NiTextKeyExtraData | Extra data, used to name different animation sequences. |
NiTexture | A texture. |
NiTextureEffect | Enables environment mapping. Should be in both the children list and effects list of the NiTriShape object. For Morrowind: the bump map can be used to bump the environment map (note that the bump map is ignored if no NiTextureEffect object is present). |
NiTextureModeProperty | Unknown |
NiTextureProperty | |
NiTextureTransformController | Texture transformation controller. |
NiTexturingProperty | Describes an object's textures. |
NiTimeController | A generic time controller object. |
NiTransformController | NiTransformController replaces the NiKeyframeController. |
NiTransformData | Mesh animation keyframe data. |
NiTransformInterpolator | An interpolator for transform keyframes. |
NiTransparentProperty | Unknown |
NiTriBasedGeom | Describes a mesh, built from triangles. |
NiTriBasedGeomData | Describes a mesh, built from triangles. |
NiTriShape | A shape node that refers to singular triangle data. |
NiTriShapeData | Holds mesh data using a list of singular triangles. |
NiTriShapeSkinController | Old version of skinning instance. |
NiTriStrips | A shape node that refers to data organized into strips of triangles |
NiTriStripsData | Holds mesh data using strips of triangles. |
NiUVController | Time controller for texture coordinates. |
NiUVData | Texture coordinate data. |
NiVectorExtraData | Extra vector data. |
NiVertWeightsExtraData | Not used in skinning. Unsure of use - perhaps for morphing animation or gravity. |
NiVertexColorProperty | Property of vertex colors. This object is referred to by the root object of the NIF file whenever some NiTriShapeData object has vertex colors with non-default settings; if not present, vertex colors have vertex_mode=2 and lighting_mode=1. |
NiVisController | Time controller for visibility. |
NiVisData | Visibility data for a controller. |
NiWireframeProperty | Unknown. |
NiZBufferProperty | This Property controls the Z buffer (OpenGL: depth buffer). |
RootCollisionNode | Morrowind-specific node for collision mesh. |
SkyShaderProperty | Bethesda-specific node? Found in Fallout3 |
TallGrassShaderProperty | Bethesda-specific node. |
TileShaderProperty | Bethesda-specific node. |
VolumetricFogShaderProperty | Bethesda-specific node. |
WaterShaderProperty | Bethesda-specific node? Found in Fallout3 |
bhkAabbPhantom | Bethesda-specific node. |
bhkBlendCollisionObject | Unknown. |
bhkBlendController | Unknown. Is apparently only used in skeleton.nif files. |
bhkBoxShape | A box. |
bhkBreakableConstraint | Bethesda-Specific node. |
bhkBvTreeShape | A tree-like Havok data structure stored in an assembly-like binary code? |
bhkCapsuleShape | A capsule. |
bhkCollisionObject | Havok related collision object? |
bhkConstraint | Describes a physical constraint. |
bhkConvexListShape | A havok shape. A list of shapes. Do not put a bhkPackedNiTriStripsShape in the Sub Shapes. Use a separate collision nodes without a list shape for those. Also, shapes collected in a bhkListShape may not have the correct walking noise, so only use it for non-walkable objects. |
bhkConvexShape | A havok shape. |
bhkConvexTransformShape | A convex transformed shape? |
bhkConvexVerticesShape | A convex shape built from vertices. Note that if the shape is used in a non-static object (such as clutter), then they will simply fall through ground when they are under a bhkListShape. |
bhkEntity | A havok node, describes physical properties. |
bhkHingeConstraint | A hinge constraint. |
bhkLimitedHingeConstraint | Hinge constraint. |
bhkLiquidAction | Bethesda-specific node. |
bhkListShape | A list of shapes. Do not put a bhkPackedNiTriStripsShape in the Sub Shapes. Use a separate collision nodes without a list shape for those. Also, shapes collected in a bhkListShape may not have the correct walking noise, so only use it for non-walkable objects. |
bhkMalleableConstraint | A malleable constraint. |
bhkMoppBvTreeShape | Memory optimized partial polytope bounding volume tree shape (not an entity). |
bhkMultiSphereShape | Unknown. |
bhkNiCollisionObject | Havok related collision object? |
bhkNiTriStripsShape | A shape constructed from a bunch of strips. |
bhkOrientHingedBodyAction | Bethesda-Specific node. |
bhkPCollisionObject | Unknown. |
bhkPackedNiTriStripsShape | A shape constructed from strips data. |
bhkPhantom | Havok object that do not react with other objects when they collide (causing deflection, etc.) but still trigger collision notifications to the game. Possible uses are traps, portals, AI fields, etc. |
bhkPrismaticConstraint | A prismatic constraint. |
bhkRagdollConstraint | Ragdoll constraint. |
bhkRefObject | The base type of most Bethesda-specific Havok-related NIF objects. |
bhkRigidBody | This is the default body type for all "normal" usable and static world objects. The "T" suffix marks this body as active for translation and rotation, a normal bhkRigidBody ignores those properties. Because the properties are equal, a bhkRigidBody may be renamed into a bhkRigidBodyT and vice-versa. |
bhkRigidBodyT | Unknown. |
bhkSPCollisionObject | Unknown. |
bhkSerializable | Havok objects that can be saved and loaded from disk? |
bhkShape | A Havok Shape? |
bhkShapeCollection | Havok collision object that uses multiple shapes? |
bhkShapePhantom | A Havok phantom that uses a Havok shape object for its collision volume instead of just a bounding box. |
bhkSimpleShapePhantom | Unknown shape. |
bhkSphereRepShape | A havok shape, perhaps with a bounding sphere for quick rejection in addition to more detailed shape data? |
bhkSphereShape | A sphere. |
bhkStiffSpringConstraint | A spring constraint. |
bhkTransformShape | Transforms a shape. |
bhkWorldObject | Havok objects that have a position in the world? |
hkPackedNiTriStripsData | NiTriStripsData for havok data? |