Qt 3D: Einfaches QML-Beispiel

Eine QML-Anwendung, die demonstriert, wie eine Szene in Qt 3D gerendert werden kann.

Simple demonstriert das Rendern einer Szene in Qt 3D.

Ausführen des Beispiels

Zum Ausführen des Beispiels von Qt Creatorauszuführen, öffnen Sie den Modus Welcome und wählen Sie das Beispiel aus Examples aus. Weitere Informationen finden Sie unter Erstellen und Ausführen eines Beispiels.

Einrichten der Szene

Wir richten die gesamte Szene in der Datei main.qml ein.

Um die Typen in den Modulen Q3D und Q3D Render verwenden zu können, müssen wir die Module importieren:

import Qt3D.Core 2.0
import Qt3D.Render 2.0

Die ersten Entitäten, die wir erstellen, sind eine Camera, die die für das endgültige Rendering verwendete Kamera repräsentiert, und ein Kamera-Controller, mit dem wir diese Kamera über die Tastatur oder die Maus steuern können:

Camera {
    id: camera
    projectionType: CameraLens.PerspectiveProjection
    fieldOfView: 45
    aspectRatio: 16/9
    nearPlane : 0.1
    farPlane : 1000.0
    position: Qt.vector3d( 0.0, 0.0, -40.0 )
    upVector: Qt.vector3d( 0.0, 1.0, 0.0 )
    viewCenter: Qt.vector3d( 0.0, 0.0, 0.0 )
}

Eine Entität RenderSettings legt einen ForwardRenderer als aktiven Framegraph fest:

components: [
    RenderSettings {
        activeFrameGraph: ForwardRenderer {
            clearColor: Qt.rgba(0, 0.5, 1, 1)
            camera: camera
            showDebugOverlay: true
        }
    },
    // Event Source will be set by the Qt3DQuickWindow
    InputSettings { }
]

Die Ereignisquelle wird durch das Qt3DQuickWindow gesetzt:

Beispielprojekt @ code.qt.io

© 2025 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.