NIF Objects | Compound Types
| Enum Types | Basic Types | File Versions
Hierarchy | List
NIF Object Hierarchy
- NiObject | Abstract object type.
- AbstractAdditionalGeometryData |
- BSAnimNote | Bethesda-specific object.
- BSAnimNotes | Bethesda-specific object.
- BSMultiBound | Bethesda-specific object.
- BSMultiBoundData | Abstract base type for bounding data.
- BSShaderTextureSet | Bethesda-specific Texture Set.
- BSSkin::BoneData | Fallout 4 Bone Data
- BSSkin::Instance | Fallout 4 Skin Instance
- CStreamableAssetData |
- Ni3dsAlphaAnimator | Unknown.
- Ni3dsAnimationNode | Unknown. Only found in 2.3 nifs.
- Ni3dsColorAnimator | Unknown!
- Ni3dsMorphShape | Unknown!
- Ni3dsParticleSystem | Unknown!
- Ni3dsPathController | Unknown!
- NiAVObjectPalette | Abstract base class for indexing NiAVObject by name.
- NiAccumulator |
- NiBSplineBasisData | Contains an NiBSplineBasis for use in interpolation of open, uniform B-Splines.
- NiBSplineData | Contains one or more sets of control points for use in interpolation of open, uniform B-Splines, stored as either float or compact.
- NiBezierTriangle4 | LEGACY (pre-10.1)
- NiBinaryVoxelData | Voxel data object.
- NiBoolData | Wrapper for boolean animation keys.
- NiCollisionObject | This is the most common collision object found in NIF files. It acts as a real object that
- NiColorData | Wrapper for color animation keys.
- NiDataStream |
- NiEvaluator |
- NiExtraData | A generic extra data object.
- NiFloatData | Wrapper for 1D (one-dimensional) floating point animation keys.
- NiGeometryData | Mesh data: vertices, vertex normals, etc.
- NiImage | LEGACY (pre-10.1)
- NiInterpolator | Abstract base class for all interpolators of bool, float, NiQuaternion, NiPoint3, NiColorA, and NiQuatTransform data.
- NiKeyframeData | DEPRECATED (10.2), RENAMED (10.2) to NiTransformData.
- NiLODData | Abstract class used for different types of LOD selections.
- NiRangeLODData | NiRangeLODData controls switching LOD levels based on Z depth from the camera to the NiLODNode.
- NiScreenLODData | NiScreenLODData controls switching LOD levels based on proportion of the screen that a bound would include.
- NiMeshModifier | Base class for mesh modifiers.
- NiMorphData | DEPRECATED (20.5), replaced by NiMorphMeshModifier.
- NiObjectNET | Abstract base class for NiObjects that support names, extra data, and time controllers.
- NiAVObject | Abstract audio-visual base class from which all of Gamebryo's scene graph objects inherit.
- BSTriShape | Fallout 4 Tri Shape
- NiBezierMesh | LEGACY (pre-10.1)
- NiCamera | Camera object.
- NiDynamicEffect | Abstract base class for dynamic effects such as NiLights or projected texture effects.
- NiLight | Abstract base class that represents light sources in a scene graph.
- NiTextureEffect | Represents an effect that uses projected textures such as projected lights (gobos), environment maps, and fog maps.
- NiGeometry | Describes a visible scene element with vertices like a mesh, a particle system, lines, etc.
- NiParticles | Generic particle system node.
- NiTriBasedGeom | Describes a mesh, built from triangles.
- BSLODTriShape | A variation on NiTriShape, for visibility control over vertex groups.
- NiClod | A shape node that holds continuous level of detail information.
- NiLines | Wireframe geometry.
- NiTriShape | A shape node that refers to singular triangle data.
- NiTriStrips | A shape node that refers to data organized into strips of triangles
- NiMeshHWInstance | An instance of a hardware-instanced mesh in a scene graph.
- NiNode | Generic node object for grouping.
- AvoidNode | Morrowind specific.
- BSFadeNode | Bethesda-specific fade node.
- BSLeafAnimNode | Unknown, related to trees.
- BSMasterParticleSystem | Bethesda-Specific particle system.
- BSMultiBoundNode | Bethesda-specific node.
- BSOrderedNode | Bethesda-Specific node.
- BSRangeNode | Bethesda-Specific node.
- BSTreeNode | Node for handling Trees, Switches branch configurations for variation?
- BSValueNode | Bethesda-specific node. Found on fxFire effects
- FxWidget | Firaxis-specific UI widgets?
- NiBSAnimationNode | Bethesda-specific extension of Node with animation properties stored in the flags, often 42?
- NiBSParticleNode | Unknown.
- NiBillboardNode | These nodes will always be rotated to face the camera creating a billboard effect for any attached objects.
- NiBone | A NiNode used as a skeleton bone?
- NiRoom | NiRoom objects represent cells in a cell-portal culling system.
- NiRoomGroup | NiRoomGroup represents a set of connected rooms i.e. a game level.
- NiSortAdjustNode | Used to turn sorting off for individual subtrees in a scene. Useful if objects must be drawn in a fixed order.
- NiSwitchNode | Represents groups of multiple scenegraph subtrees, only one of which (the "active child") is drawn at any given time.
- NiLODNode | Level of detail selector. Links to different levels of detail of the same model, used to switch a geometry at a specified distance.
- RootCollisionNode | Morrowind-specific node for collision mesh.
- NiPortal | NiPortal objects are grouping nodes that support aggressive visibility culling.
- NiRenderObject | An object that can be rendered.
- NiEnvMappedTriShape | Unknown
- NiPhysXProp | A PhysX prop which holds information about PhysX actors in a Gamebryo scene
- NiProperty | Abstract base class representing all rendering properties. Subclasses are attached to NiAVObjects to control their rendering.
- NiAlphaProperty | Transparency. Flags 0x00ED.
- NiDitherProperty | NiDitherProperty allows the application to turn the dithering of interpolated colors and fog values on and off.
- NiFogProperty | NiFogProperty allows the application to enable, disable and control the appearance of fog.
- NiMaterialProperty | Describes the surface properties of an object e.g. translucency, ambient color, diffuse color, emissive color, and specular color.
- NiShadeProperty | Determines whether flat shading or smooth shading is used on a shape.
- NiSpecularProperty | Gives specularity to a shape. Flags 0x0001.
- NiStencilProperty | Allows control of stencil testing.
- NiTextureModeProperty | LEGACY (pre-10.1)
- NiTextureProperty | LEGACY (pre-10.1)
- NiTexturingProperty | Describes how a fragment shader should be configured for a given piece of geometry.
- NiTransparentProperty | Unknown
- 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.
- NiWireframeProperty | Allows applications to switch between drawing solid geometry or wireframe outlines.
- NiZBufferProperty | Allows applications to set the test and write modes of the renderer's Z-buffer and to set the comparison function used for the Z-buffer test.
- NiSequenceStreamHelper | DEPRECATED (pre-10.1), REMOVED (20.3).
- NiTexture | A texture.
- NiSourceTexture | Describes texture source and properties.
- NiSourceCubeMap | Represents cube maps that are created from either a set of six image files, six blocks of pixel data, or a single pixel data with six faces.
- NiPSBoundUpdater | Updates the bounding volume for an NiPSParticleSystem object.
- NiPSCollider | Abstract base class for all particle colliders.
- NiPSEmitter | Abstract base class for all particle emitters.
- NiPSMeshEmitter | Emits particles from one or more NiMesh objects. A random mesh emitter is selected for each particle emission.
- NiPSVolumeEmitter | Abstract base class for particle emitters that emit particles from a volume.
- NiPSBoxEmitter | A particle emitter that emits particles from a rectangular volume.
- NiPSCylinderEmitter | A particle emitter that emits particles from a cylindrical volume.
- NiPSSphereEmitter | A particle emitter that emits particles from a spherical volume.
- NiPSForce | Abstract base class for all particle forces.
- NiPSSimulatorStep | Abstract base class for a single step in the particle system simulation process. It has no seralized data.
- NiPSSpawner | Creates a new particle whose initial parameters are based on an existing particle.
- NiPSysCollider | Particle system collider.
- NiPSysEmitterCtlrData | DEPRECATED (10.2). Particle system emitter controller data.
- NiPSysModifier | Abstract base class for all particle system modifiers.
- NiPalette | NiPalette objects represent mappings from 8-bit indices to 24-bit RGB or 32-bit RGBA colors.
- NiParticleModifier | LEGACY (pre-10.1). Abstract base class for particle system modifiers.
- NiPhysXActorDesc | For serializing NxActor objects.
- NiPhysXBodyDesc | For serializing NxBodyDesc objects.
- NiPhysXDest | A destination is a link between a PhysX actor and a Gamebryo object being driven by the physics.
- NiPhysXJointDesc | A PhysX Joint abstract base class.
- NiPhysXMaterialDesc | For serializing NxMaterialDesc objects.
- NiPhysXMeshDesc | Holds mesh data for streaming.
- NiPhysXPropDesc | For serialization of PhysX objects and to attach them to the scene.
- NiPhysXShapeDesc | For serializing NxShapeDesc objects
- NiPhysXSrc | A source is a link between a Gamebryo object and a PhysX actor.
- NiPixelFormat |
- NiPosData | Wrapper for position animation keys.
- NiRawImageData | LEGACY (pre-10.1)
- NiRotData | Wrapper for rotation animation keys.
- NiSequence | Root node in NetImmerse .kf files (until version 10.0).
- NiSequenceData | Root node in Gamebryo .kf files (20.5.0.1 and up).
- NiShadowGenerator | An NiShadowGenerator object is attached to an NiDynamicEffect object to inform the shadowing system that the effect produces shadows.
- 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.
- NiStringPalette | List of 0x00-seperated strings, which are names of controlled objects and controller types. Used in .kf files in conjunction with NiControllerSequence.
- NiTimeController | Abstract base class that provides the base timing and update functionality for all the Gamebryo animation controllers.
- NiUVData | DEPRECATED (pre-10.1), REMOVED (20.3)
- NiVisData | DEPRECATED (10.2), REMOVED (?), Replaced by NiBoolData.
- bhkPoseArray | Found in Fallout 3 .psa files, extra ragdoll info for NPCs/creatures. (usually idleanims\deathposes.psa)
- bhkRagdollTemplateData | Data for bhkRagdollTemplate
- bhkRefObject | The base type of most Bethesda-specific Havok-related NIF objects.
- bhkCompressedMeshShapeData | A compressed mesh shape for collision in Skyrim.
- bhkSerializable | Havok objects that can be saved and loaded from disk?
- bhkBallSocketConstraintChain | A Ball and Socket Constraint chain.
- bhkConstraint | Describes a physical constraint.
- bhkLiquidAction | Bethesda-specific Havok serializable.
- bhkOrientHingedBodyAction | Bethesda-Specific Havok serializable.
- bhkShape | A Havok Shape?
- bhkWorldObject | Havok objects that have a position in the world?
- bhkEntity | A havok node, describes physical properties.
- bhkRigidBody | This is the default body type for all "normal" usable and static world objects. The "T" suffix
- bhkRigidBodyT | The "T" suffix marks this body as active for translation and rotation.
- 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.
- bhkShapePhantom | A Havok phantom that uses a Havok shape object for its collision volume instead of just a bounding box.
- bhkSystem | Fallout 4 Physics System