我用Android端口(AndroidJNIIOSystem)构建了android的assimp。当我从资产导入文件时,我收到消息: Assimp:资产存在,然后得到错误: 错误:: 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());
}
但是我将此代码用于为Linux构建的assimp,它没有任何错误。请帮我找到解决方案。谢谢!
P.S。 importer.IsDefaultIOHandler()返回false。
答案 0 :(得分:1)
当我构建lib时,我使用-DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT = OFF以减少lib文件大小。如果删除此标志,一切正常。使用.obj导入器需要使用-DASSIMP_BUILD_OBJ_IMPORTER = ON标志