QSceneLoaderを使用して、外部エディタで作成した3Dシーンを読み込めませんでした。そして、私は常にローディングステージでアサーションを取得します。 QMeshとして簡単にロードできるOBJモデルqtの例を使用します。Qt3d QteneでのQSceneLoaderの使用5.8
テストレポhttps://bitbucket.org/ibnz/test_qt3d
#include <QApplication>
#include <QEntity>
#include <QSceneLoader>
#include <Qt3DWindow>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
Qt3DExtras::Qt3DWindow *view = new Qt3DExtras::Qt3DWindow();
Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity();
Qt3DRender::QSceneLoader *loader = new Qt3DRender::QSceneLoader(rootEntity);
QObject::connect(loader, &Qt3DRender::QSceneLoader::statusChanged,
&app, [](Qt3DRender::QSceneLoader::Status s){qDebug() << s;});
QUrl url = QUrl::fromLocalFile(":/obj/square-pot.obj");
loader->setSource(url);
view->setRootEntity(rootEntity);
view->show();
return app.exec();
}
Qt3DRender :: QSceneLoader ::ステータス(ロード) ASSERT:ファイルの "entities.size()== 1" IO \ qsceneloader.cpp、ライン215 デバッグエラー!
プログラム:C:\ Qtの\ Qt5.8.0 \ 5.8 \ msvc2015 \ binに\ Qt5Cored.dll モジュール:5.8.0 ファイル:グローバルの\ qglobal.cpp ライン:3070
ASSERT:「エンティティファイル内.size()== 1" IO \ qsceneloader.cpp、ライン215
(押して再試行がアプリケーションをデバッグする) Qt3DRender :: QSceneLoader ::ステータス(レディ)