Qt3D:带有多相机控制器的多视图

Qt3D : MultiView with MultiCamera Controller

我正在使用 QML MultiViewport 示例。

我想对 cam1 使用 OrbitCameraController,对 cam2 使用 FirstPersonCameraController。 问题是无论我移动鼠标,两个摄像头都会移动。

当我从视口 1 移动鼠标并从视口 2 移动 FirstPersonCameraController 时,如何使 OrbitCameraController 移动?

我最终使用 QObjectPicker 管理相机更改(实现是 cpp,但 QML 的想法是相同的)

    auto picker = new Qt3DRender::QObjectPicker(rootNode);
    QObject::connect(picker, &Qt3DRender::QObjectPicker::pressed, [&](Qt3DRender::QPickEvent* pick) {
        if (pick->viewport() == viewport1)
        {
            orbitCameraController->setEnabled(true);
            firstPersonCameraController->setEnabled(false);
        }
        else if (pick->viewport() == viewport2)
        {
            orbitCameraController->setEnabled(false);
            firstPersonCameraController->setEnabled(true);
        }
    });
    rootNode->addComponent(picker);