首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Qt:旋转三维模型

Qt:旋转三维模型
EN

Stack Overflow用户
提问于 2015-07-28 08:32:56
回答 1查看 2K关注 0票数 3

我有一个定制的QML对象Model.qml来加载和旋转3D模型:

Model.qml

代码语言:javascript
复制
Entity {
id: root

property Material material

property alias myRoll : transform.rollAngle

components: [ transform, mesh, root.material ]

Transform {

    id: transform
    objectName: "MyModel"

    property real rollAngle : 0
    property real pitchAngle : 20

    Translate { id: translation }
    Scale { id: scaleTransform }

    Rotate { 
        objectName: "rotateRoll"
        axis : Qt.vector3d(1, 0, 0)
        angle : transform.rollAngle
    }

}


Mesh {
    id: mesh
    source: "qrc:/3dmodel/Drone.obj"
}}

mainwindow.cpp i setSource to qml中,main.qml包含Model。

mainwindow.cpp

代码语言:javascript
复制
QWidget *container = QWidget::createWindowContainer(&view);
QSurfaceFormat format;
format.setMajorVersion(3);
format.setMinorVersion(3);
format.setProfile(QSurfaceFormat::CoreProfile);
format.setDepthBufferSize(24);
view.setFormat(format);
view.setResizeMode(QQuickView::SizeRootObjectToView);
view.setSource(QUrl("qrc:/src/main.qml"));
ui->scrollArea_3D->setWidget(container);

在drone.cpp中,我将属性"rollAngle“更新为当该属性更改时旋转模型,但无论如何它都不能工作。下面是我用来更新"rollAngle“的代码

drone.cpp

代码语言:javascript
复制
QQmlEngine engine;
QQmlComponent component(&engine, QUrl("qrc:/src/Model.qml"));
QObject *object = component.create();    
QObject *rotateObject = object->findChild<QObject *>("rotateRoll");        
rotateObject->setProperty("angle", this->roll);    
qDebug() << "Property value:" << rotateObject->property("angle").toFloat();
engine.destroyed();

"rollAngle“改变了,但3D模型不旋转。我用SequenceAnimation代替,但它也不能运行。有人能给我一些建议吗?

EN

回答 1

Stack Overflow用户

发布于 2018-06-01 00:43:45

这个职位是旧的,但我可以分享我自己的个人经验与一个例子。如果其他人在那里寻找答案,那就是。

我不知道您的项目,但是如果您想从C++修改旋转角度,请使用MainWindow的私有变量,它使用带有Q_PROPERTY宏的QTimer发送值。

如果您只想使用QML,您可以看到这个github项目。这很简单。https://github.com/oria66/test-qml-3d-model-rotation

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/31671163

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档