NIF Objects | Compound Types | Enum Types | Basic Types | File Versions

Compound Data Types

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.