Bonjour à tous,

Voilà, j'essaye de faire fonctionner mon model qui doit être régit par un skeleton.

Pour chaque os j'ai :
- la matrice inverse de l'os lorsque le binding a été fait
- la matrice locale

Pour chaque vertex j'ai :
- la position de ce vertex lorsque le binding a été fait
- les os et les poids d'influence

Déjà, pour obtenir la matrice absolue d'un os je fais:
MatriceAbsolue = MatriceLocale;
if(parent != NULL)
MatriceAbsolue = MatriceAbsolue * parent->GetMatriceAbsolue();


Ensuite, pour recalculer la position de chaque vertex je fais :
vec3 finalPosition(0, 0, 0);
for(int i = 0; i < 4; i++)
{
vec3 vertexBoneBindPose = bones[i].invBindPose.transform(vPosition);
vec3 influence = bones[i].MatriceAbsolue.transform(vertexBoneBindPose);

finalPosition += influence * bones[i].weight;
}

J'pense que j'ai des soucis concernant les matrices car normalement ça doit afficher un paralélépipède rectangle et là il part en losange...


Est-ce que quelqu'un peut m'aider ?

S'il faut, je poste toutes les matrices que j'ai (j'ai que 3 os, ça sera rapide) et mon maillage n'a que 12 positions...


Merci beaucoup,


A bientôt