在 Qt3D 中导入对象不起作用,但没有错误消息
Importing objects in Qt3D doesn't work but there's not error message
我有一个导入 STL 文件格式的 Qt3D 应用程序:
m_sceneLoaderEntity = new Qt3DCore::QEntity();
m_sceneLoaderEntity->setObjectName("New imported entity");
Qt3DRender::QSceneLoader *sceneLoader = new Qt3DRender::QSceneLoader(m_sceneLoaderEntity);
sceneLoader->setSource(fileUrl); // fileUrl is input
m_sceneLoaderEntity->addComponent(sceneLoader);
我的应用程序在 Qt 5.9.0、5.9.1、5.9.2、5.9.3 和 5.9.4 上构建和运行没有任何问题。到目前为止一切顺利。
我的应用程序在 Qt 5.9.5、5.9.6 和 Qt 5.11.0 上构建良好,但是在运行时,它无法导入 STL 文件并且没有给出任何错误消息!有人可以给我提示吗?
我了解到 Qt3D 使用 assimp 导入 STL 文件。我尝试用 Qt 5.9.4 替换 Qt 5.11.0 assimp 动态库,即 libassimpsceneimport.so
,但是没有用:
m3g1dd@linux:~/Qt5.11.0/5.11.0/gcc_64/plugins/sceneparsers> ls -lhrtci
total 17M
1613482572 -rwxrwxr-x 1 m3g1dd m3g1dd 172K Jun 10 08:41 libgltfsceneimport.so
1613482571 -rwxrwxr-x 1 m3g1dd m3g1dd 226K Jun 10 08:41 libgltfsceneexport.so
1613596422 -rwxr-xr-x 1 m3g1dd m3g1dd 6.8M Oct 8 10:00 libassimpsceneimport.so.Qt5.9.4
1613482570 -rwxrwxr-x 1 m3g1dd m3g1dd 9.8M Oct 8 10:00 libassimpsceneimport.so
我下载并安装了 Qt 5.11.2,我的 STL 导入代码工作正常,如下所示。但是导入的STL的Ambient、Diffuse和Specular颜色默认设置为白色,我认为这与assimp library中提到的一个问题有关:
https://bugreports.qt.io/browse/QTBUG-69385
https://github.com/assimp/assimp/issues/2059
我有一个导入 STL 文件格式的 Qt3D 应用程序:
m_sceneLoaderEntity = new Qt3DCore::QEntity();
m_sceneLoaderEntity->setObjectName("New imported entity");
Qt3DRender::QSceneLoader *sceneLoader = new Qt3DRender::QSceneLoader(m_sceneLoaderEntity);
sceneLoader->setSource(fileUrl); // fileUrl is input
m_sceneLoaderEntity->addComponent(sceneLoader);
我的应用程序在 Qt 5.9.0、5.9.1、5.9.2、5.9.3 和 5.9.4 上构建和运行没有任何问题。到目前为止一切顺利。
我的应用程序在 Qt 5.9.5、5.9.6 和 Qt 5.11.0 上构建良好,但是在运行时,它无法导入 STL 文件并且没有给出任何错误消息!有人可以给我提示吗?
我了解到 Qt3D 使用 assimp 导入 STL 文件。我尝试用 Qt 5.9.4 替换 Qt 5.11.0 assimp 动态库,即 libassimpsceneimport.so
,但是没有用:
m3g1dd@linux:~/Qt5.11.0/5.11.0/gcc_64/plugins/sceneparsers> ls -lhrtci total 17M 1613482572 -rwxrwxr-x 1 m3g1dd m3g1dd 172K Jun 10 08:41 libgltfsceneimport.so 1613482571 -rwxrwxr-x 1 m3g1dd m3g1dd 226K Jun 10 08:41 libgltfsceneexport.so 1613596422 -rwxr-xr-x 1 m3g1dd m3g1dd 6.8M Oct 8 10:00 libassimpsceneimport.so.Qt5.9.4 1613482570 -rwxrwxr-x 1 m3g1dd m3g1dd 9.8M Oct 8 10:00 libassimpsceneimport.so
我下载并安装了 Qt 5.11.2,我的 STL 导入代码工作正常,如下所示。但是导入的STL的Ambient、Diffuse和Specular颜色默认设置为白色,我认为这与assimp library中提到的一个问题有关:
https://bugreports.qt.io/browse/QTBUG-69385
https://github.com/assimp/assimp/issues/2059