Original Post
I''m trying to implement skinned animation in my engine, i export matrices and keyframes from maya using my own exporter
which data seems correct
but in my engine i have strange behaviours ,
for example it seems that rotations are done around the world origin instead of bone origin ...
here is the matrix computation code in the engine :
void joint::computematrix(joint * parent,
matrix *orientation,
matrix *forward)
{
localorientation = (*orientation) * (*this->WorldToJointMatrix);
localinvertorientation = localorientation.invert();
this->Forward = (*forward) * *(joint->WorldToJointMatrix))) *
this->anim_matrix;
this->Final = (*this->Forward) * localinvertorientation;
if (!(this->no_childs()))
child->computematrix(this,localorientation,this->Forward);
}
during rendering i use the Final matrix to transform
the vertices using the correct weights ...
anyone has an idea ?
francois
