首页 > 解决方案 > 如何让孩子在qml中跟随父母的旋转

问题描述

我想用qml渲染两个3d模型并控制旋转,obj2是obj1的孩子,如何让obj2跟随obj1的旋转。我试过这样的qml(但我不知道如何分配obj2的旋转角度),main.qml:

Item{
    Scene3D {
        id: scene3D
        anchors.fill: parent
        anchors.verticalCenter: parent.verticalCenter
        focus: true
        aspects: "input"
    }
    obj1 {
            id: obj1
            obj2 {
                id: obj2
                 }
          }
   }

obj2.qml

Entity {
id: sceneRoot
Transform {
    id: j2Transform

    property real rotate_x : 0
    property real rotate_y: 0
    property real rotate_z : 0

    Scale {
        scale: 0.5
    }

    Rotate {
        id: rotate_x
        angle: // how to assign?
        axis: Qt.vector3d(1, 0, 0)
    }
    Rotate {
        id: rotate_y
        angle: // how to assign?
        axis: Qt.vector3d(0, 1, 0)
    }
    Rotate {
        id: rotate_z
        angle:// how to assign?
        axis: Qt.vector3d(0, 0, 1)
    }
    Translate {
        property real translation: 1
        dy: 0
    }
}

Mesh {
    id: j2Mesh
    source: "../res/obj/obj2.obj"
}
}

谢谢你。

标签: qt3dqml

解决方案


推荐阅读