NIF Objects | Compound Types | Enum Types | Basic Types | File Versions
| Name | Description |
|---|---|
| AVObject | Used in NiDefaultAVObjectPalette. |
| AdditionalDataBlock | |
| AdditionalDataInfo | |
| BSConnectPoint | |
| BSGeometryPerSegmentSharedData | |
| BSGeometrySegmentData | Bethesda-specific. Describes groups of triangles either segmented in a grid (for LOD) or by body part for skinned FO4 meshes. |
| BSGeometrySegmentSharedData | |
| BSGeometrySubSegment | This is only defined because of recursion issues. |
| BSPackedAdditionalDataBlock | |
| BSPackedGeomData | |
| BSPackedGeomDataCombined | |
| BSPackedGeomObject | This appears to be a 64-bit hash but nif.xml does not have a 64-bit type. |
| BSSkinBoneTrans | Fallout 4 Bone Transform |
| BSTreadTransform | Bethesda-specific compound. |
| BSVertexData | |
| BSVertexDataSSE | |
| BSVertexDesc | |
| BallAndSocketDescriptor | |
| BodyPartList | Body part list for DismemberSkinInstance |
| BoneData | NiSkinData::BoneData. Skinning data component. |
| BoneLOD | Stores Bone Level of Detail info in a BSBoneLODExtraData |
| BonePose | A list of transforms for each bone in bhkPoseArray. |
| BoneTransform | Transformation data for the bone at this index in bhkPoseArray. |
| BoneVertData | NiSkinData::BoneVertData. A vertex and its weight. |
| BoundingVolume | |
| BoxBV | Box Bounding Volume |
| ByteArray | An array of bytes. |
| ByteColor3 | A color without alpha (red, green, blue). |
| ByteColor4 | A color with alpha (red, green, blue, alpha). |
| ByteMatrix | An array of bytes. |
| ByteVector3 | A vector in 3D space (x,y,z). |
| CapsuleBV | Capsule Bounding Volume |
| Color3 | A color without alpha (red, green, blue). |
| Color4 | A color with alpha (red, green, blue, alpha). |
| ConstraintData | |
| ConstraintInfo | Two Vector4 for pivot in A and B. |
| ControlledBlock | In a .kf file, this links to a controllable object, via its name (or for version 10.2.0.0 and up, a link and offset to a NiStringPalette that contains the name), and a sequence of interpolators that apply to this controllable object, via links. For Controller ID, NiInterpController::GetCtlrID() virtual function returns a string formatted specifically for the derived type. For Interpolator ID, NiInterpController::GetInterpolatorID() virtual function returns a string formatted specifically for the derived type. The string formats are documented on the relevant niobject blocks. |
| DataStreamRef | |
| DecalVectorArray | Array of Vectors for Decal placement in BSDecalPlacementVectorExtraData. |
| ElementReference | |
| ExportInfo | Information about how the file was exported |
| ExtraMeshDataEpicMickey | |
| ExtraMeshDataEpicMickey2 | |
| FilePath | A string that contains the path to a file. |
| Footer | The NIF file footer. |
| FormatPrefs | NiTexture::FormatPrefs. These preferences are a request to the renderer to use a format the most closely matches the settings and may be ignored. |
| FurniturePosition | Bethesda Animation. Describes a furniture position? |
| HalfSpaceBV | |
| HalfTexCoord | Texture coordinates (u,v). |
| HalfVector3 | A vector in 3D space (x,y,z). |
| HavokFilter | Bethesda Havok. Collision filter info representing Layer, Flags, Part Number, and Group all combined into one uint. |
| HavokMaterial | Bethesda Havok. Material wrapper for varying material enums by game. |
| Header | The NIF file header. |
| HingeDescriptor | This constraint allows rotation about a specified axis. |
| InterpBlendItem | Interpolator item for array in NiBlendInterpolator. |
| Key | A generic key with support for interpolation. Type 1 is normal linear interpolation, type 2 has forward and backward tangents, and type 3 has tension, bias and continuity arguments. Note that color4 and byte always seem to be of type 1. |
| KeyGroup | Array of vector keys (anything that can be interpolated, except rotations). |
| LODInfo | |
| LODRange | The distance range where a specific level of detail applies. |
| LimitedHingeDescriptor | This constraint allows rotation about a specified axis, limited by specified boundaries. |
| MalleableDescriptor | |
| MatchGroup | Group of vertex indices of vertices that match. |
| MaterialData | |
| Matrix22 | A 2x2 matrix of float values. Stored in OpenGL column-major format. |
| Matrix33 | A 3x3 rotation matrix; M^T M=identity, det(M)=1. Stored in OpenGL column-major format. |
| Matrix34 | A 3x4 transformation matrix. |
| Matrix44 | A 4x4 transformation matrix. |
| MipMap | Description of a mipmap within an NiPixelData object. |
| Morph | Geometry morphing data component. |
| MorphWeight | |
| MotorDescriptor | |
| NiBound | A sphere. |
| NiPhysXJointActor | |
| NiPhysXJointLimit | |
| NiPlane | A plane. |
| NiQuatTransform | |
| NiTransform | |
| NodeSet | A set of NiNode references. |
| NxCapsule | |
| NxJointDriveDesc | |
| NxJointLimitSoftDesc | |
| NxMaterialDesc | |
| NxPlane | |
| NxSpringDesc | |
| OblivionSubShape | Bethesda Havok. Havok Information for packed TriStrip shapes. |
| OldSkinData | Used to store skin weights in NiTriShapeSkinController. |
| PSSpawnRateKey | |
| Particle | particle array entry |
| ParticleDesc | Particle Description. |
| PhysXBodyStoredVels | |
| PhysXMaterialRef | |
| PhysXStateName | |
| PixelFormatComponent | |
| Polygon | Two dimensional screen elements. |
| PrismaticDescriptor | |
| QuatKey | |
| Quaternion | A quaternion. |
| RagdollDescriptor | This constraint defines a cone in which an object can rotate. The shape of the cone can be controlled in two (orthogonal) directions. |
| Region | A range of indices, which make up a region (such as a submesh). |
| SemanticData | |
| ShaderTexDesc | NiTexturingProperty::ShaderMap. Shader texture description. |
| ShortString | Another string format, for short strings. Specific to Bethesda-specific header tags. |
| SizedString | A string of given length. |
| SkinInfo | NiBoneLODController::SkinInfo. Reference to shape and skin instance. |
| SkinInfoSet | A set of NiBoneLODController::SkinInfo. |
| SkinPartition | Skinning data for a submesh, optimized for hardware skinning. Part of NiSkinPartition. |
| StiffSpringDescriptor | |
| StringPalette | A list of \\0 terminated strings. |
| TBC | Tension, bias, continuity. |
| TexCoord | Texture coordinates (u,v). As in OpenGL; image origin is in the lower left corner. |
| TexDesc | NiTexturingProperty::Map. Texture description. |
| Triangle | List of three vertex indices. |
| TriangleData | Bethesda Havok. A triangle with extra data used for physics. |
| UnionBV | |
| Vector3 | A vector in 3D space (x,y,z). |
| Vector4 | A 4-dimensional vector. |
| bhkCMSDBigTris | Triangle indices used in pair with "Big Verts" in a bhkCompressedMeshShapeData. |
| bhkCMSDChunk | Defines subshape chunks in bhkCompressedMeshShapeData |
| bhkCMSDMaterial | Per-chunk material, used in bhkCompressedMeshShapeData |
| bhkCMSDTransform | A set of transformation data: translation and rotation |
| bhkPositionConstraintMotor | |
| bhkSpringDamperConstraintMotor | |
| bhkVelocityConstraintMotor | |
| hkMatrix3 | A 3x3 Havok matrix stored in 4x3 due to memory alignment. |
| hkQuaternion | A quaternion as it appears in the havok objects. |
| hkWorldObjCinfoProperty | |
| string | A string type. |