Ассимп с портом андроид. Ошибка импорта файла.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