Я пытаюсь загрузить анимированную сетку (скелет) с помощью Assimp, но у меня возникли некоторые проблемы.
Когда я пытаюсь получить доступ (корневой узел) aiNode*
имя программы вылетает. В выводе Visual Studio говорится, что не удалось прочитать строковые символы.
(Я следую этот урок.)
void Mesh::ReadNodeHierarchy(float AnimationTime, aiScene* scene, aiNode* pNode, const aiMatrix4x4& ParentTransform) {
if (pNode == NULL) {
std::cerr << "NODE NULL\n";
return;
}
std::cerr << pNode->mName.length; // I tried to check the length of the string but it caused the same error
std::string NodeName(pNode->mName.data); // Throws error
(...)
}
Если у кого-то возникла такая же проблема, я обнаружил, что когда класс Assimp :: Importer уничтожен, сцена тоже.
Мой класс импортера был локальным, поэтому он был уничтожен, что вызвало ошибку.
Других решений пока нет …