Я работаю с C и OpenGL. Я пытаюсь загрузить 3D-модель с помощью скелетной анимации, но я просто не могу рассчитать абсолютную матрицу каждой кости для каждого кадра анимации.
У меня есть: для каждой кости у меня есть матрица и обратная матрица, а для каждого кадра анимации у меня есть вращение (Эйлер) и перевод для каждой кости.
Сценарии импорта / экспорта в Blender:
http://pastebin.com/xMJ2fG26
http://pastebin.com/9D42RKRf
edit: если кто-то знает, как получить абсолютную матрицу кости с помощью Blender и экспортировать ее, это тоже будет хорошо (я новичок в Blender)
for each frame f
for each bone i
glLoadIdentity();
glMultMatrixd(bones[i].matrix);
for each parent bone ii(starting from the top)
glTranslated(bones[ii].translation[f].x, bones[ii].translation[f].y, bones[ii].translation[f].z);
glRotated(bones[ii].degrees[f].z, 0.0, 0.0, 1.0);
glRotated(bones[ii].degrees[f].x, 1.0, 0.0, 0.0);
glRotated(bones[ii].degrees[f].y, 0.0, 1.0, 0.0);
glMultMatrixd(bones[i].inversematrix);
glGetDoublev(GL_PROJECTION_MATRIX, bones[i].absmatrix[f]);