旋转3D不';无法在QML场景中正常工作

旋转3D不';无法在QML场景中正常工作,3d,rotation,qml,axis,scene,3d,Rotation,Qml,Axis,Scene,我试图在QML中围绕3个不同的轴旋转一个复杂的3D对象。为了便于理解,这里有一个简化的代码,您可以使用三个不同旋转角度的滑块旋转立方体。第一个滑块围绕x轴旋转立方体,第二个滑块围绕y轴旋转立方体,第三个滑块围绕z轴旋转立方体 import QtQuick 2.2 import Qt3D 2.0 import Qt3D.Shapes 2.0 import QtQuick.Controls 1.0 Viewport { width: 500 height: 500 ligh

我试图在QML中围绕3个不同的轴旋转一个复杂的3D对象。为了便于理解,这里有一个简化的代码,您可以使用三个不同旋转角度的滑块旋转立方体。第一个滑块围绕x轴旋转立方体,第二个滑块围绕y轴旋转立方体,第三个滑块围绕z轴旋转立方体

import QtQuick 2.2
import Qt3D 2.0
import Qt3D.Shapes 2.0
import QtQuick.Controls 1.0

Viewport {
    width: 500
    height: 500
    light: Light {
        ambientColor: "white"
        position: Qt.vector3d(5, 1, 10)
    }
    Cube {
        transform {
            Rotation3D {
                id: rotX
                axis: Qt.vector3d(1, 0, 0)
            }

            Rotation3D {
                id: rotY
                axis: Qt.vector3d(0, 1, 0)
            }
            Rotation3D {
                id: rotZ
                axis: Qt.vector3d(0, 0, 1)
            }
        }
    }

    Slider {
        id: sliderHorizontal1
        x: 37
        y: 21
        maximumValue: 360
        onValueChanged: rotX.angle = value
    }

    Slider {
        id: sliderHorizontal2
        x: 37
        y: 62
        maximumValue: 360
        onValueChanged: rotY.angle = value
    }

    Slider {
        id: sliderHorizontal3
        x: 37
        y: 104
        maximumValue: 360
        onValueChanged: rotZ.angle = value
    }
}
但是,当您尝试使用它时,qmlscene中的立方体有时会绕其身体固定轴旋转,有时会绕空间中的固定轴旋转(例如,z轴旋转永远不会绕身体固定轴旋转)。 我只想围绕立方体的主体固定轴旋转立方体。我怎样才能做到呢