Difference between revisions of "Skin PLG (RW Section)"
Jump to navigation
Jump to search
m (Minor layout improvement.) |
m (Added detailed data types.) |
||
Line 3: | Line 3: | ||
Skin is an additional RenderWare plugin for [[Geometry (RW Section)|geometry]] section. It is used to hold information about skinned model. | Skin is an additional RenderWare plugin for [[Geometry (RW Section)|geometry]] section. It is used to hold information about skinned model. | ||
==Structure== | ==Structure== | ||
− | + | UINT8 numBones (numMatrices) | |
− | + | UINT8 numUsedBones | |
− | + | UINT8 maxWeightsPerVertex | |
− | + | UINT8 | |
− | + | UINT8 bonesUsed[numUsedBones] | |
− | FLOAT | + | UINT8 vertexBoneIndices[geometry->numVertices][4] |
− | FLOAT | + | FLOAT vertexBoneWeights[geometry->numVertices][4] |
+ | FLOAT skinToBoneMatrices[numMatrices][4][4] | ||
// Split data | // Split data | ||
− | + | UINT32 boneLimit | |
− | + | UINT32 numMeshes | |
− | + | UINT32 numRLE | |
// if numMeshes > 0 | // if numMeshes > 0 | ||
− | + | UINT8 meshBoneRemapIndices[numBones] | |
− | + | UINT16 meshBoneRLECount[numMeshes] | |
− | + | UINT16 meshBoneRLE[numRLE] | |
;numBones (numMatrices) | ;numBones (numMatrices) | ||
:Number of bones attached to the skin, also the number of inverse matrices (see '''skinToBoneMatrices'''). | :Number of bones attached to the skin, also the number of inverse matrices (see '''skinToBoneMatrices'''). |
Revision as of 22:26, 20 June 2015
{{{NAME}}} | |
---|---|
RenderWare Stream Section | |
Vendor | {{{VENDORNAME}}} |
Module | {{{MODULENAME}}} |
Module ID | 0x{{{MODULEID}}}
|
Identifier | 0x{{{IDENTIFIER}}}
|
Chunk ID | 0x{{{MODULEID}}}{{{IDENTIFIER}}}
|
Versions | All |
Hierarchy | |
Parents: None | |
Children: None | |
Extensions: None | |
File Format |
Skin is an additional RenderWare plugin for geometry section. It is used to hold information about skinned model.
Structure
UINT8 numBones (numMatrices) UINT8 numUsedBones UINT8 maxWeightsPerVertex UINT8 UINT8 bonesUsed[numUsedBones] UINT8 vertexBoneIndices[geometry->numVertices][4] FLOAT vertexBoneWeights[geometry->numVertices][4] FLOAT skinToBoneMatrices[numMatrices][4][4] // Split data UINT32 boneLimit UINT32 numMeshes UINT32 numRLE // if numMeshes > 0 UINT8 meshBoneRemapIndices[numBones] UINT16 meshBoneRLECount[numMeshes] UINT16 meshBoneRLE[numRLE]
- numBones (numMatrices)
- Number of bones attached to the skin, also the number of inverse matrices (see skinToBoneMatrices).
- numUsedBones
- Number of bones which influence vertices, that is those bones which have at least a non-zero weight.
- maxWeightsPerVertex
- Overall number of maximum non-zero weights per vertex.
- bonesUsed
- Indices list of the significant bones connected to the skin (see numUsedBones).
- vertexBoneIndices
- Vertex bone indices are represented with 4 bone indices per each vertex.
- vertexBoneWeights
- Vertex bone weights are represented with RwMatrixWeights structure per each vertex.
- skinToBoneMatrices
- These are inverse matrices represented with RwMatrix structure.
- boneLimit
- numMeshes
- numRLE
- meshBoneRemapIndices
- meshBoneRLECount
- meshBoneRLE