[Interest] How to load 3D scene with QSceneLoader

Botond D dns.botond at gmail.com
Thu Sep 13 19:24:16 CEST 2018


Hi,

I've been struggling to load a 3D scene from a Collada (DAE) file. I've
been experimenting with the following piece of code:

Qt3DCore::QEntity *importScene()
{
    // Root entity
    Qt3DCore::QEntity *rootEntity = new Qt3DCore::QEntity;

    auto importedScene = new Qt3DCore::QEntity(rootEntity);
    auto loader = new Qt3DRender::QSceneLoader;
    loader->setSource(QUrl("/home/botond/Desktop/castle_on_hill.dae"));
    QObject::connect(loader, &Qt3DRender::QSceneLoader::statusChanged, []
(Qt3DRender::QSceneLoader::Status s) {
        std::cout << "status: " << s << std::endl;
    });

    Qt3DCore::QTransform *transform = new Qt3DCore::QTransform;
    transform->setScale3D(QVector3D(1.5, 1, 0.5));

    importedScene->addComponent(loader);
    importedScene->addComponent(transform);

    return rootEntity;
}

However nothing is rendered and no status change is detected. What am I
doing wrong? What is the intended usage of `QSceneLoader`?

Thanks,
Botond
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.qt-project.org/pipermail/interest/attachments/20180913/69af7478/attachment.html>


More information about the Interest mailing list