在Assimp 5.0.1版本中,骨骼名称和权重数属性的命名被更改为mName和mNumWeights,而之前的版本中是mName和mNumBones。如果使用旧版本的代码尝试使用5.0.1版本的Assimp库,会遇到骨骼名称和权重数不被识别的问题。
以下代码示例展示了如何使用新版本的Assimp库正确地读取骨骼名称和权重数属性:
const aiBone* bone = mesh->mBones[i];
std::string boneName = bone->mName.data; // 从mName属性获取骨骼名称
int numWeights = bone->mNumWeights; // 从mNumWeights属性获取权重数
在这个示例中,我们使用mesh->mBones[i]来获取第i个骨骼的指针,并从中获取骨骼名称和权重数。注意,我们不再使用旧版本的mNumBones属性来获取权重数。