Моя проблема в том, что я пытаюсь загрузить данные суставов / костей из файла fbx в Direct X c ++, используя Assimp, но я хочу сохранить восьмерки и индексы в той же самой структуре вершин, в которой я храню позицию, uv, et c.
Я могу сделать al oop для каждой вершины, но я также хочу сделать al oop для каждой кости. Это означает, что у меня не может быть как объединенных данных, так и других данных в одном и том же l oop.
Должен ли я создавать объекты типа multitilpe verte c и затем объединять их потом?
I Также я не уверен, как найти идентификатор кости и вес для каждой вершины, я рассчитываю на 4 на кость, но, может быть, мне вообще не стоило этого последнего l oop? Я не уверен, как его настроить.
Буду признателен за помощь, большое спасибо.
for (UINT k = 0; k < currentMesh->mNumBones; k++)
{
aiBone* bone = currentMesh->mBones[k];
for (UINT m = 0; m < bone->mNumWeights; m++)
{
aiVertexWeight weight = bone->mWeights[m];
for (UINT n = 0; n < 4; n++)
{
//if
}
}
}
//////////////////////////////////////////////
for (UINT k = 0; k < currentMesh->mNumVertices; k++)
{
Vertex vert;
vert.position.x = currentMesh->mVertices[k].x;
vert.position.y = currentMesh->mVertices[k].y;
vert.position.z = currentMesh->mVertices[k].z;
vert.TexCoord.x = currentMesh->mTextureCoords[0][k].x;
vert.TexCoord.y = currentMesh->mTextureCoords[0][k].y;
vert.normal.x = currentMesh->mNormals[k].x;
vert.normal.y = currentMesh->mNormals[k].y;
vert.normal.z = currentMesh->mNormals[k].z;
vertexVector.push_back(vert);
}