Qt3D 加载obj不显示的问题

        最近研究Qt3D加载obj文件的方法,参考网上的一些方法始终不显示,经过多次尝试发现是调用的路径问题,原代码段如下是所示,是先将模型加载到资源文件中,再使用相对路径,这样始终不显示。

Qt3DRender::QMesh *mesh = new Qt3DRender::QMesh();
mesh->setSource(QUrl::fromLocalFile("qrc:/source/toyplane.obj"));

        改为如下任意一种,均可以正常显示。

Qt3DRender::QMesh *mesh = new Qt3DRender::QMesh();
mesh->setSource(QUrl::fromLocalFile(":/source/toyplane.obj"));
或
mesh->setSource(QUrl("qrc:/source/toyplane.obj"));
或
mesh->setSource(QUrl("file:///E:/Qt/Qt3D/Test3D/source/toyplane.obj"));

        在上概述编辑正确的情况下,仍然不显示,也可能是比例或坐标没设置好,显示的图形看不到。可以尝试多次修改以下setScale,setTranslation参数试试。我的问题是在比例上,原来是1.3f不显示,尝试改成0.1,就显示了一部分,说明比例还是大,改成0.01就可以完全显示了。

    Qt3DCore::QTransform *sphereTransform1 = new Qt3DCore::QTransform();
    sphereTransform1->setScale(0.01f);
    sphereTransform1->setTranslation(QVector3D(.0f, 0.0f, 19.45f));

你可能感兴趣的:(Qt,3D,qt)