Need help on PS2 "matrix palette skinning"
Posted: Sun Sep 12, 2010 8:56 am
I am looking for some help on PS2 titles which use "matrix palette skinning" to transform the model's vertices back to it's original position!
There are two type of skinning:
1: only one base position with different bones and weights
From what I found on the net, it should be
]as you can see in the pictures, when there is only one bone for each vertex, the position is correct, but for more than 1 bones, all vertices mess up.
attached are some models file and a log file(for 00h.gmi)
Could anyone take a look at this?
Thank!
There are two type of skinning:
1: only one base position with different bones and weights
From what I found on the net, it should be
example PS2 title: Saint Seiya The HadesThese vertices are not transformed directly by the joint matrices of the animated skeleton but the joint matrices are first multiplied with the inverse joint matrices for the base pose. These inverse joint matrices can be precalculated because the same base pose is used during all animation. The joint matrices of the animated skeleton can then be multiplied with these inverse joint matrices of the base pose before skinning the mesh. The following pseudo code shows how a single vertex is transformed.
accumulated = matrix0 * weight0;
accumulated += matrix1 * weight1;
accumulated += matrix2 * weight2;
...
position = accumulated * basePosition;
normal = accumulated * baseNormal;
tangent = accumulated * baseTangent;
]as you can see in the pictures, when there is only one bone for each vertex, the position is correct, but for more than 1 bones, all vertices mess up.
attached are some models file and a log file(for 00h.gmi)
Could anyone take a look at this?
Thank!