# NIF File Format Documentation

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

## SkinPartition

Skinning data for a submesh, optimized for hardware skinning. Part of NiSkinPartition.

### Attributes

Name | Type | Arg | Arr1 | Arr2 | Cond | Description | From | To
--- | --- | --- | --- | --- | --- | --- | --- | ---
Num Vertices | ushort |  |  |  |  | Number of vertices in this submesh. |  |
Num Triangles | ushort |  |  |  |  | Number of triangles in this submesh. |  |
Num Bones | ushort |  |  |  |  | Number of bones influencing this submesh. |  |
Num Strips | ushort |  |  |  |  | Number of strips in this submesh (zero if not stripped). |  |
Num Weights Per Vertex | ushort |  |  |  |  | Number of weight coefficients per vertex. The Gamebryo engine seems to work well only if this number is equal to 4, even if there are less than 4 influences per vertex. |  |
Bones | ushort |  | Num Bones |  |  | List of bones. |  |
Has Vertex Map | bool |  |  |  |  | Do we have a vertex map? | 10.1.0.0 |
Vertex Map | ushort |  | Num Vertices |  |  | Maps the weight/influence lists in this submesh to the vertices in the shape being skinned. |  | 10.0.1.2
Vertex Map | ushort |  | Num Vertices |  | hasVertexMap | Maps the weight/influence lists in this submesh to the vertices in the shape being skinned. | 10.1.0.0 |
Has Vertex Weights | bool |  |  |  |  | Do we have vertex weights? | 10.1.0.0 |
Vertex Weights | float |  | Num Vertices | Num Weights Per Vertex |  | The vertex weights. |  | 10.0.1.2
Vertex Weights | float |  | Num Vertices | Num Weights Per Vertex | hasVertexWeights | The vertex weights. | 10.1.0.0 |
Strip Lengths | ushort |  | Num Strips |  |  | The strip lengths. |  |
Has Faces | bool |  |  |  |  | Do we have triangle or strip data? | 10.1.0.0 |
Strips | ushort |  | Num Strips | Strip Lengths | numStrips != 0 | The strips. |  | 10.0.1.2
Strips | ushort |  | Num Strips | Strip Lengths | hasFaces && (numStrips != 0) | The strips. | 10.1.0.0 |
Triangles | Triangle |  | Num Triangles |  | numStrips == 0 | The triangles. |  | 10.0.1.2
Triangles | Triangle |  | Num Triangles |  | hasFaces && (numStrips == 0) | The triangles. | 10.1.0.0 |
Has Bone Indices | bool |  |  |  |  | Do we have bone indices? |  |
Bone Indices | byte |  | Num Vertices | Num Weights Per Vertex | hasBoneIndices | Bone indices, they index into 'Bones'. |  |
Unknown Short | ushort |  |  |  |  | Unknown |  |
Unknown 83 C3 | ushort |  |  |  |  | Unknown. | 10.2.0.0 | 10.2.0.0
Unknown 00 00 1 | ushort |  |  |  |  | Unknown. | 10.2.0.0 | 10.2.0.0
Num Vertices 2 | ushort |  |  |  |  | Unknown. | 10.2.0.0 | 10.2.0.0
Unknown 00 00 2 | ushort |  |  |  |  | Unknown. | 10.2.0.0 | 10.2.0.0
Unknown 00 00 3 | ushort |  |  |  |  | Unknown. | 10.2.0.0 | 10.2.0.0
Unknown 00 00 4 | ushort |  |  |  |  | Unknown. | 10.2.0.0 | 10.2.0.0
Unknown Arr 1 | SkinPartitionUnknownItem1 |  | Num Vertices 2 |  |  | Unknown. | 10.2.0.0 | 10.2.0.0

### Found In

- NiSkinPartition