如何使用 Qt3D 加载 3DS 文件

Posted

技术标签:

【中文标题】如何使用 Qt3D 加载 3DS 文件【英文标题】:How to load 3DS file using Qt3D 【发布时间】:2014-08-08 08:58:51 【问题描述】:

我使用 Qt3D 成功将 .OBJ 模型加载到 Qt 中,但无法加载 .3DS 模型。我只是按照here的教程进行操作。

我的环境是:Windows7、Qt5.3.1、mingw32。

显示错误:Asset importer error: Chunk is too large

请给点建议。

【问题讨论】:

我看到它说,这发生在 Windows 上,但不在 Linux 上。您可以尝试安装 Linux VM 并在那里运行代码,看看它是否在那里工作。我不记得看到过解决方案... 谢谢,但我希望它在 Windows 上运行。 我的意思是在 Linux 上进行测试以确认代码和文件是有效的,这确实是 Windows 特有的问题。 【参考方案1】:

看起来,问题与包含在 Qt3D 中的 Open Asset Import Library (short name: Assimp) 有关。

另外,请注意,您在 Linux 上很有可能不会遇到此类问题。

这里解决了类似的问题:http://sourceforge.net/p/assimp/discussion/817654/thread/a246ba12/

看起来,您需要使用参数-mno-ms-bitfields 重建Qt3D(根据Qt3D Installation, Windows (MinGW))。尝试将下一行添加到qt3d.pro

QMAKE_CXXFLAGS += -mno-ms-bitfields

希望对你有帮助!

【讨论】:

谢谢我重新安装Qt并重建Qt3d,像这样: mingw32-make -j 3 install CFLAGS='-mno-ms-bitfields' 但还是不行,编译成功,一样错误。 抱歉,我无法测试。我可以建议您从“清除页面”开始。另外,你为什么没有按照我描述的那样做?它不会编译吗? 很抱歉,我没有明白重点,我错过了一些步骤吗?编译成功,但还是不行。

以上是关于如何使用 Qt3D 加载 3DS 文件的主要内容,如果未能解决你的问题,请参考以下文章

通过 Qt3D 模块导入 STL 文件:如何配置灯光和材质

如何将sketchup模型导入3ds max

three.js加载3ds或obj模型,如何实现鼠标拖拽等功能?

如何使用 Qt3D 在网格中制作透明线?

如何在标准GUI应用程序中使用Qt3D进行渲染?

如何使用qml qt3d(qt)将对象旋转一个角度?