Я работаю над системой скелетной анимации, используя assimp для разбора файлов .fbx. Я хочу получить возможность загрузить файл .fbx, содержащий только арматуру (скелет / риг). Затем я загружал эту арматуру в свою собственную структуру данных и назначал ссылку на нее как на член меша (несколько сеток, указывающих на одни и те же данные арматуры).
После загрузки моего файла .fbx, который содержит одну арматуру (экспортированную из блендера), assimp, похоже, загружает все, как ожидалось:
Однако похоже, что бит AI_SCENE_FLAGS_INCOMPLETE
по какой-то причине переворачивается, поскольку я нахожусь в следующем блоке:
if (this->aiScene->mFlags & AI_SCENE_FLAGS_INCOMPLETE)
{
std::string errorMessage = this->aiImporter.GetErrorString();
std::cout << "ERROR::ASSIMP::" << errorMessage << "\n";
std::cin.get();
exit(EXIT_FAILURE);
}
... только this->aiImporter.GetErrorString()
возвращает пустую строку, не давая ответа на вопрос, почему это могло быть.
Итак, мой вопрос ... Почему бит AI_SCENE_FLAGS_INCOMPLETE
становится истинным, когда загружается только якорь? Должен ли я просто проигнорировать это и продолжить свой веселый путь, или есть какие-то поводы для беспокойства?
(Да, я загрузил несколько других файлов, содержащих сетки без арматуры и сетки с арматурой, и об ошибках не сообщалось. Кажется, проблема возникает только с файлом, содержащим ТОЛЬКО арматуру.)
if
есть несколько условий. Откуда вы знаете, что это второй сAI_SCENE_FLAGS_INCOMPLETE
, который былtrue
? - person Azeem   schedule 05.04.2020aiImporter.GetErrorString()
возвращает пустую строку, как описано. - person whitwhoa   schedule 05.04.2020