Ассимп с портом андроид. Ошибка импорта файла.obj

Я построен Assimp для Android с портом Android (AndroidJNIIOSystem). Когда я импортирую файл из ресурсов, я получаю сообщение: Assimp: Актив существует и следующая ошибка получения: Error::Assimp:: Не найден подходящий читатель для формата файла "model/nanosuit.obj".

У меня есть иерархия активов: активы / модель / nanosuit.obj

Мой код:

importer.SetIOHandler(ioSystem);

auto modelPath = "model/nanosuit.obj";
const aiScene *scene =
        importer.ReadFile(modelPath, aiProcess_Triangulate | aiProcess_FlipUVs);

if (!scene || scene->mFlags & AI_SCENE_FLAGS_INCOMPLETE || !scene->mRootNode) {
    LOGI("%s::%s", "Error::Assimp", importer.GetErrorString());
}

Но затем я использую этот код с Assimp, созданным для Linux, он работает без каких-либо ошибок. Пожалуйста, помогите мне найти решение. Спасибо!

PS importer.IsDefaultIOHandler() возвращает false.

1 ответ

Когда я собираю lib, я использую -DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=OFF, чтобы уменьшить размер файла lib. Если убрать этот флаг, все работает нормально. Чтобы использовать импортер.obj, вам нужно использовать флаг -DASSIMP_BUILD_OBJ_IMPORTER=ON

Другие вопросы по тегам