【问题标题】:Assimp with android port. Error import .obj fileAssimp 与 android 端口。导入 .obj 文件时出错
【发布时间】:2018-10-01 03:29:03
【问题描述】:

我使用 android 端口 (AndroidJNIIOSystem) 为 android 构建了 assimp。当我从资产导入文件时,我收到消息: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());
}

然后我将此代码与为 Linux 构建的 assimp 一起使用,它可以正常工作而没有任何错误。请帮我找到解决办法。谢谢!

附: importer.IsDefaultIOHandler() 返回 false。

【问题讨论】:

  • 现在检查。 importer.GetImporterCount() 返回 0。构建配置可能是它的原因?

标签: android android-ndk assimp


【解决方案1】:

当我构建 lib 时,我使用 -DASSIMP_BUILD_ALL_IMPORTERS_BY_DEFAULT=OFF 来减少 lib 文件的大小。如果删除此标志,一切正常。使用 .obj 导入器需要使用 -DASSIMP_BUILD_OBJ_IMPORTER=ON 标志

【讨论】:

    猜你喜欢
    • 2014-11-19
    • 2018-05-26
    • 2015-07-06
    • 2018-03-28
    • 1970-01-01
    • 2012-02-05
    • 2019-06-17
    • 2014-04-11
    • 1970-01-01
    相关资源
    最近更新 更多