使用QT和QML如何围绕特定原点旋转网格

时间:2015-11-08 19:26:43

标签: qt 3d rotation qml qtquick3d

我从搅拌机中导入了几个3D网格,形成了一个人形,我想围绕特定的原点旋转手臂网格,使其看起来像是手臂的正常运动。为了显示网格,它需要包含在Entity类中,尽管我不能在实体类中使用Rotation属性,该属性本身具有origin属性。如果有办法围绕特定点旋转网格物体?

以下是我的代码。我必须旋转肩部网格,但它不会围绕特定的原点旋转,因此它的旋转与正常的身体运动不匹配

Entity{
    Mesh {
        id: rightShoulder
        source: "objects/RightShoulder2.obj"
    }

    Transform {
        id: RightShoulderTransform
        Scale { scale3D: Qt.vector3d(1.5, 1, 1.5) }

        Rotate {
           id:RightShoulderRotation
           angle: headSlider.value
           axis: Qt.vector3d(0, 1, 0)
        }
        Entity {
           id: headEntity
           components: [rightShoulder, material, RightShoulderTransform]
        }
   }
}

1 个答案:

答案 0 :(得分:0)

我找到了解决问题的方法。 Blender编辑器空间中心是您对象的“原点”。 像这样:"origin"

网格中的绿点是所选对象的原点