Microsoft DirectX 8.1 (Visual Basic)

SkinWeights

This template is instantiated on a per-mesh basis. Within a mesh, a sequence of n instances of this template will appear, where n is the number of bones (X file frames) that influence the vertices in the mesh. Each instance of the template basically defines the influence of a particular bone on the mesh. There is a list of vertex indices, and a corresponding list of weights.

UUID

<6F0D123B-BAD2-4167-A0D0-80224F25FABB>
Member name Type Optional array size Optional data objects
transformNodeName STRING   None
nWeights DWORD    
vertexIndices array DWORD nWeights  
weights array float nWeights  
matrixOffset Matrix4x4    

The name of the bone whose influence is being defined is transformNodeName, and nWeights is the number of vertices affected by this bone. The vertices influenced by this bone are contained in vertexIndices, and the weights for each of the vertices influenced by this bone are contained in weights.

The matrix matrixOffset transforms the mesh vertices to the space of the bone. When concatenated to the bone's transform, this provides the world space coordinates of the mesh as affected by the bone.