我使用 assimp 导入 FBX 文件,并且需要获取模型的网格变换。
以下是获取网格位置的函数。
这个功能可以工作,但在导入某些模型时应用程序会崩溃,如果我删除变换部分,则模型导入成功。
void processNode(aiNode* node, const aiScene *scene)
{
// 处理当前节点上的每个网格
for (unsigned int i = 0; i < node->mNumMeshes; i++)
{
aiMesh* mesh = scene->mMeshes[node->mMeshes[i]];
ai_real x = scene->mRootNode->mChildren[iModel]->mTransformation.a4;
ai_real y = scene->mRootNode->mChildren[iModel]->mTransformation.b4;
ai_real z = scene->mRootNode->mChildren[iModel]->mTransformation.c4;
std::cout << x << " " << y << " " << z; // 如果我注释掉这个,则没有崩溃
}
}