Auf dieser Seite

Qt Quick 3D - View3D-Beispiel

Veranschaulicht die Verwendung von „ View3D “, um eine Szene aus der Perspektive mehrerer Kameras darzustellen.

Vier Kameraansichten einer Teekanne mit Schaltflächen zur Kameraauswahl

Dieses Beispiel veranschaulicht die Verwendung von vier separaten „ View3Ds“ mit unterschiedlichen Kameras in einer Anwendung.

Definition der Kameras

Zunächst definieren wir den ` cameras`. Wir werden mehrere verschiedene Kameras definieren, auch wenn wir nur vier Ansichten hinzufügen. Wir tun dies, weil wir in einer der Ansichten die Kamera wechseln können wollen.

Die Kameras müssen innerhalb des Stamm-` Node` definiert werden. So werden die Kameras definiert:

Node {
    id: standAloneScene
    ...
// The predefined cameras. They have to be part of the scene, i.e. inside the root node.
// Animated perspective camera
Node {
    PerspectiveCamera {
        id: cameraPerspectiveOne
        z: 600
    }

    PropertyAnimation on eulerRotation.x {
        loops: Animation.Infinite
        duration: 5000
        to: -360
        from: 0
    }
}

// Stationary perspective camera
PerspectiveCamera {
    id: cameraPerspectiveTwo
    z: 600
}
    ...
    // Stationary orthographic camera viewing from left
    OrthographicCamera {
        id: cameraOrthographicLeft
        x: -600
        eulerRotation.y: -90
    }
}

Hinzufügen der Ansichten

Nachdem wir die Kameras definiert haben, können wir die ` views` hinzufügen. Wir teilen den Bildschirm in vier Bereiche auf und fügen die Ansichten nacheinander wie folgt hinzu:

// The views
Rectangle {
    id: topLeft
    anchors.top: parent.top
    anchors.left: parent.left
    width: parent.width * 0.5
    height: parent.height * 0.5
    color: "#848895"
    border.color: "black"

    View3D {
        id: topLeftView
        anchors.fill: parent
        importScene: standAloneScene
        camera: cameraOrthographicFront
    }

    Label {
        text: "Front"
        anchors.top: parent.top
        anchors.left: parent.left
        anchors.margins: 10
        color: "#222840"
        font.pointSize: 14
    }
}
    ...

Die Ansicht oben rechts enthält drei Schaltflächen. Mit diesen Schaltflächen lässt sich die in dieser Ansicht verwendete Kamera im laufenden Betrieb wechseln. Der Wechsel erfolgt einfach durch Setzen der Kameraeigenschaft:

RoundButton {
    text: "Camera 1"
    highlighted: topRightView.camera == cameraPerspectiveOne
    implicitWidth: controlsContainer.buttonWidth
    onClicked: {
        topRightView.camera = cameraPerspectiveOne
    }
}
    ...

Beispielprojekt @ code.qt.io

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.