Qt3DRender::QCamera Class
class Qt3DRender::QCameraDie Klasse „QCamera“ definiert einen Blickpunkt, durch den die Szene gerendert wird. Mehr...
| Header: | #include <Qt3DRender/QCamera> |
| CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
| qmake: | QT += 3drender |
| In QML: | Camera |
| Erbt von: | Qt3DCore::QEntity |
| Status: | Veraltet |
Diese Klasse ist veraltet. Wir raten dringend davon ab, sie in neuem Code zu verwenden.
Öffentliche Typen
| enum | CameraTranslationOption { TranslateViewCenter, DontTranslateViewCenter } |
Eigenschaften
|
|
Öffentliche Funktionen
| QCamera(Qt3DCore::QNode *parent = nullptr) | |
| float | aspectRatio() const |
| float | bottom() const |
| float | exposure() const |
| float | farPlane() const |
| float | fieldOfView() const |
| float | left() const |
| Qt3DRender::QCameraLens * | lens() const |
| float | nearPlane() const |
| void | pan(float angle) |
| void | pan(float angle, const QVector3D &axis) |
| void | panAboutViewCenter(float angle) |
| void | panAboutViewCenter(float angle, const QVector3D &axis) |
| QQuaternion | panRotation(float angle) const |
| QVector3D | position() const |
| QMatrix4x4 | projectionMatrix() const |
| Qt3DRender::QCameraLens::ProjectionType | projectionType() const |
| float | right() const |
| void | roll(float angle) |
| void | rollAboutViewCenter(float angle) |
| QQuaternion | rollRotation(float angle) const |
| void | rotate(const QQuaternion &q) |
| void | rotateAboutViewCenter(const QQuaternion &q) |
| QQuaternion | rotation(float angle, const QVector3D &axis) const |
| void | tilt(float angle) |
| void | tiltAboutViewCenter(float angle) |
| QQuaternion | tiltRotation(float angle) const |
| float | top() const |
| Qt3DCore::QTransform * | transform() const |
| void | translate(const QVector3D &vLocal, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter) |
| void | translateWorld(const QVector3D &vWorld, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter) |
| QVector3D | upVector() const |
| QVector3D | viewCenter() const |
| QVector3D | viewVector() const |
Öffentliche Slots
| void | setAspectRatio(float aspectRatio) |
| void | setBottom(float bottom) |
| void | setExposure(float exposure) |
| void | setFarPlane(float farPlane) |
| void | setFieldOfView(float fieldOfView) |
| void | setLeft(float left) |
| void | setNearPlane(float nearPlane) |
| void | setPosition(const QVector3D &position) |
| void | setProjectionMatrix(const QMatrix4x4 &projectionMatrix) |
| void | setProjectionType(Qt3DRender::QCameraLens::ProjectionType type) |
| void | setRight(float right) |
| void | setTop(float top) |
| void | setUpVector(const QVector3D &upVector) |
| void | setViewCenter(const QVector3D &viewCenter) |
| void | viewAll() |
| void | viewEntity(Qt3DCore::QEntity *entity) |
| void | viewSphere(const QVector3D ¢er, float radius) |
Signale
| void | aspectRatioChanged(float aspectRatio) |
| void | bottomChanged(float bottom) |
| void | exposureChanged(float exposure) |
| void | farPlaneChanged(float farPlane) |
| void | fieldOfViewChanged(float fieldOfView) |
| void | leftChanged(float left) |
| void | nearPlaneChanged(float nearPlane) |
| void | positionChanged(const QVector3D &position) |
| void | projectionMatrixChanged(const QMatrix4x4 &projectionMatrix) |
| void | projectionTypeChanged(Qt3DRender::QCameraLens::ProjectionType projectionType) |
| void | rightChanged(float right) |
| void | topChanged(float top) |
| void | upVectorChanged(const QVector3D &upVector) |
| void | viewCenterChanged(const QVector3D &viewCenter) |
| void | viewVectorChanged(const QVector3D &viewVector) |
Dokumentation zu Mitgliedstypen
enum QCamera::CameraTranslationOption
Diese Enumeration legt fest, wie der Mittelpunkt der Kameraansicht verschoben wird
| Konstante | Wert | Beschreibung |
|---|---|---|
Qt3DRender::QCamera::TranslateViewCenter | 0 | Verschiebung des Blickpunkts, wobei die Blickrichtung unverändert bleibt |
Qt3DRender::QCamera::DontTranslateViewCenter | 1 | Der Mittelpunkt der Ansicht wird nicht verschoben, wodurch sich die Blickrichtung ändert |
Eigenschaftsdokumentation
aspectRatio : float
Behält das aktuelle Seitenverhältnis bei.
Zugriffsfunktionen:
| float | aspectRatio() const |
| void | setAspectRatio(float aspectRatio) |
Benachrichtigungssignal:
| void | aspectRatioChanged(float aspectRatio) |
bottom : float
Enthält die aktuelle Unterkante der Kamera.
Diese Eigenschaft ist nur relevant, wenn „ projectionType “ auf „ QCameraLens::OrthographicProjection “ gesetzt ist.
Zugriffsfunktionen:
| float | bottom() const |
| void | setBottom(float bottom) |
Notifier-Signal:
| void | bottomChanged(float bottom) |
exposure : float
Speichert die aktuelle Belichtung der Kamera.
Der Standardwert ist 0,0.
Das „MetalRoughMaterial“ in „ Qt 3D Extras“ ist derzeit das einzige bereitgestellte Material, das die Belichtung der Kamera nutzt. Negative Werte führen dazu, dass das Material dunkler wird, positive Werte hingegen, dass es heller wird.
Benutzerdefinierte Materialien können den Wert unterschiedlich interpretieren.
Zugriffsfunktionen:
| float | exposure() const |
| void | setExposure(float exposure) |
Notifier-Signal:
| void | exposureChanged(float exposure) |
farPlane : float
Enthält die aktuelle Fernebene der Kamera. Objekte, die weiter von der Kamera entfernt sind als die „farPlane“, werden nicht gerendert.
Zugriffsfunktionen:
| float | farPlane() const |
| void | setFarPlane(float farPlane) |
Notifier-Signal:
| void | farPlaneChanged(float farPlane) |
fieldOfView : float
Gibt das aktuelle vertikale Sichtfeld in Grad an.
Zusammen mit „ aspectRatio “ bestimmt diese Eigenschaft, wie viel von der Szene für die Kamera sichtbar ist. In dieser Hinsicht kann man sich das analog zur Wahl eines Weitwinkelobjektivs (breites horizontales Sichtfeld) oder eines Teleobjektivs (enges horizontales Sichtfeld) vorstellen, je nachdem, wie viel von einer Szene man erfassen möchte.
„fieldOfView“ ist nur relevant, wenn „ projectionType “ auf „ QCameraLens::PerspectiveProjection “ gesetzt ist.
Zugriffsfunktionen:
| float | fieldOfView() const |
| void | setFieldOfView(float fieldOfView) |
Notifier-Signal:
| void | fieldOfViewChanged(float fieldOfView) |
left : float
Enthält die aktuelle Position der Kamera auf der linken Seite.
Diese Eigenschaft ist nur relevant, wenn „ projectionType “ auf „ QCameraLens::OrthographicProjection “ gesetzt ist.
Zugriffsfunktionen:
| float | left() const |
| void | setLeft(float left) |
Notifier-Signal:
| void | leftChanged(float left) |
[read-only] lens : Qt3DRender::QCameraLens* const
Enthält die Komponente „Qt3DRender::QCameraLens“ der Kamera.
Zugriffsfunktionen:
| Qt3DRender::QCameraLens * | lens() const |
nearPlane : float
Legt die aktuelle Nah-Ebene der Kamera fest. Objekte, die näher an der Kamera liegen als die Nah-Ebene, werden nicht gerendert.
Zugriffsfunktionen:
| float | nearPlane() const |
| void | setNearPlane(float nearPlane) |
Notifier-Signal:
| void | nearPlaneChanged(float nearPlane) |
position : QVector3D
Behält die Position der Kamera in Koordinaten relativ zum übergeordneten Objekt bei.
Zugriffsfunktionen:
| QVector3D | position() const |
| void | setPosition(const QVector3D &position) |
Notifier-Signal:
| void | positionChanged(const QVector3D &position) |
projectionMatrix : QMatrix4x4
Enthält die aktuelle Projektionsmatrix der Kamera.
Zugriffsfunktionen:
| QMatrix4x4 | projectionMatrix() const |
| void | setProjectionMatrix(const QMatrix4x4 &projectionMatrix) |
Benachrichtigungssignal:
| void | projectionMatrixChanged(const QMatrix4x4 &projectionMatrix) |
projectionType : Qt3DRender::QCameraLens::ProjectionType
Enthält den Typ der Kameraprojektion. Der Standardwert ist „ QCameraLens::PerspectiveProjection “.
- QCameraLens::OrthographicProjection - Parallele Linien erscheinen parallel. Objekte erscheinen unabhängig von ihrer Entfernung gleich groß.
- QCameraLens::PerspectiveProjection - Parallele Linien scheinen sich in der Ferne zu treffen. Objekte erscheinen umso kleiner, je weiter sie von der Kamera entfernt sind.
- QCameraLens::FrustumProjection
- QCameraLens::CustomProjection
Zugriffsfunktionen:
| Qt3DRender::QCameraLens::ProjectionType | projectionType() const |
| void | setProjectionType(Qt3DRender::QCameraLens::ProjectionType type) |
Benachrichtigungssignal:
| void | projectionTypeChanged(Qt3DRender::QCameraLens::ProjectionType projectionType) |
Siehe auch „ Qt3DRender::QCameraLens::ProjectionType “.
right : float
Enthält das aktuelle Recht der Kamera.
Diese Eigenschaft ist nur relevant, wenn „ projectionType “ auf „ QCameraLens::OrthographicProjection “ gesetzt ist.
Zugriffsfunktionen:
| float | right() const |
| void | setRight(float right) |
Benachrichtigungssignal:
| void | rightChanged(float right) |
top : float
Enthält die aktuelle obere Kante der Kamera.
Diese Eigenschaft ist nur relevant, wenn „ projectionType “ auf „ QCameraLens::OrthographicProjection “ gesetzt ist.
Zugriffsfunktionen:
| float | top() const |
| void | setTop(float top) |
Benachrichtigungssignal:
| void | topChanged(float top) |
[read-only] transform : Qt3DCore::QTransform* const
Enthält die Qt3DCore::QTransform-Komponente der Kamera.
Zugriffsfunktionen:
| Qt3DCore::QTransform * | transform() const |
upVector : QVector3D
Enthält den „Up“-Vektor der Kamera in Koordinaten relativ zur übergeordneten Entität.
Der „up“-Vektor gibt an, in welche Richtung die Oberseite der Kamera zeigt. Stellen Sie sich vor, Sie machen ein Foto: Nachdem Sie sich positioniert und die Kamera auf Ihr Motiv gerichtet haben, drehen Sie die Kamera möglicherweise nach links oder rechts, um eine Aufnahme im Hoch- oder Querformat (oder in einem Winkel!) zu erhalten. Mit „upVector“ können Sie diese Art von Bewegung steuern.
Zugriffsfunktionen:
| QVector3D | upVector() const |
| void | setUpVector(const QVector3D &upVector) |
Notifier-Signal:
| void | upVectorChanged(const QVector3D &upVector) |
viewCenter : QVector3D
Speichert den Blickpunkt der Kamera in Koordinaten relativ zur übergeordneten Entität.
Intuitiv gesehen ist das „viewCenter“ der Ort, auf den die Kamera gerichtet ist.
Zugriffsfunktionen:
| QVector3D | viewCenter() const |
| void | setViewCenter(const QVector3D &viewCenter) |
Notifier-Signal:
| void | viewCenterChanged(const QVector3D &viewCenter) |
[read-only] viewVector : QVector3D
Enthält den Blickvektor der Kamera in Koordinaten relativ zur übergeordneten Entität.
Dieser Vektor beschreibt die Verschiebung von der Kamera (position) zu ihrem Ziel (viewCenter).
Zugriffsfunktionen:
| QVector3D | viewVector() const |
Benachrichtigungssignal:
| void | viewVectorChanged(const QVector3D &viewVector) |
Dokumentation der Member-Funktionen
[explicit] QCamera::QCamera(Qt3DCore::QNode *parent = nullptr)
Erstellt eine neue QCamera-Instanz mit dem angegebenen „ parent “.
Qt3DRender::QCameraLens *QCamera::lens() const
Gibt die aktuelle Linse zurück.
Hinweis: Getter -Funktion für die Eigenschaft „lens“.
[invokable] void QCamera::pan(float angle)
Passt den Schwenkwinkel der Kamera um angle in Grad an.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] void QCamera::pan(float angle, const QVector3D &axis)
Passt den Schwenkwinkel der Kamera um angle in Grad auf einem ausgewählten axis an.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] void QCamera::panAboutViewCenter(float angle)
Passt die Kameraverschiebung um den Blickpunkt um angle in Grad an.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] void QCamera::panAboutViewCenter(float angle, const QVector3D &axis)
Passt die Kameraverschiebung um den Blickpunkt um angle in Grad auf axis an.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] QQuaternion QCamera::panRotation(float angle) const
Gibt die berechnete Schwenkdrehung in Bezug auf das angle in Grad zurück, die zur Anpassung der Schwenk- oder Links-/Rechts-Drehung der Kamera um die Y-Achse herangezogen wird.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] void QCamera::roll(float angle)
Passt die Kameraroll um angle in Grad an.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] void QCamera::rollAboutViewCenter(float angle)
Passt die Rollachse der Kamera um den Betrachtungsmittelpunkt um angle Grad an.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] QQuaternion QCamera::rollRotation(float angle) const
Gibt die berechnete Rollrotation in Bezug auf das angle in Grad zurück, die zur Anpassung der Roll- oder Neigungsrotation der Kamera nach links/rechts um die Z-Achse herangezogen wird.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] void QCamera::rotate(const QQuaternion &q)
Dreht die Kamera mithilfe eines Quaternions in „ q “.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] void QCamera::rotateAboutViewCenter(const QQuaternion &q)
Dreht die Kamera mithilfe eines Quaternions in q um den Blickpunkt.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] QQuaternion QCamera::rotation(float angle, const QVector3D &axis) const
Gibt die berechnete Drehung in Bezug auf das „ angle “ in Grad und den gewählten „ axis “ zurück.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[slot] void QCamera::setAspectRatio(float aspectRatio)
Stellt das Seitenverhältnis der Kamera auf „ aspectRatio “ ein.
Hinweis: Setter -Funktion für die Eigenschaft ` aspectRatio`.
Siehe auch ` aspectRatio()`.
[slot] void QCamera::setBottom(float bottom)
Setzt die Unterkante der Kamera auf „ bottom “.
Hinweis: Setter -Funktion für die Eigenschaft ` bottom`.
Siehe auch „ bottom()“.
[slot] void QCamera::setExposure(float exposure)
Stellt die Belichtung der Kamera auf „ exposure “ ein.
Hinweis: Setter -Funktion für die Eigenschaft „ exposure “.
Siehe auch „ exposure()“.
[slot] void QCamera::setFarPlane(float farPlane)
Legt die hintere Begrenzungsebene der Kamera auf farPlane
Hinweis: Setter -Funktion für die Eigenschaft „ farPlane “.
Siehe auch ` farPlane()`.
[slot] void QCamera::setFieldOfView(float fieldOfView)
Stellt das Sichtfeld der Kamera auf fieldOfView in Grad ein.
Hinweis: Setter -Funktion für die Eigenschaft „ fieldOfView “.
Siehe auch ` fieldOfView()`.
[slot] void QCamera::setLeft(float left)
Setzt den linken Rand der Kamera auf „ left “.
Hinweis: Setter -Funktion für die Eigenschaft „ left “.
Siehe auch ` left()`.
[slot] void QCamera::setNearPlane(float nearPlane)
Setzt die Naheebene der Kamera auf nearPlane.
Hinweis: Setter -Funktion für die Eigenschaft „ nearPlane “.
Siehe auch ` nearPlane()`.
[slot] void QCamera::setPosition(const QVector3D &position)
Stellt die Position der Kamera im 3D-Raum auf „ position “ ein.
Hinweis: Setter -Funktion für die Eigenschaft „ position “.
Siehe auch position().
[slot] void QCamera::setProjectionMatrix(const QMatrix4x4 &projectionMatrix)
Setzt die Projektionsmatrix der Kamera auf „ projectionMatrix “.
Hinweis: Setter -Funktion für die Eigenschaft ` projectionMatrix`.
Siehe auch projectionMatrix().
[slot] void QCamera::setProjectionType(Qt3DRender::QCameraLens::ProjectionType type)
Stellt den Projektionstyp der Kamera auf „ type “ ein.
Hinweis: Setter -Funktion für die Eigenschaft „ projectionType “.
Siehe auch „ projectionType()“.
[slot] void QCamera::setRight(float right)
Setzt das Recht der Kamera auf „ right “.
Hinweis: Setter -Funktion für die Eigenschaft „ right “.
Siehe auch right().
[slot] void QCamera::setTop(float top)
Setzt die Oberkante der Kamera auf „ top “.
Hinweis: Setter -Funktion für die Eigenschaft „ top “.
Siehe auch „ top()“.
[slot] void QCamera::setUpVector(const QVector3D &upVector)
Setzt den Aufwärtsvektor der Kamera auf „ upVector “.
Hinweis: Setter -Funktion für die Eigenschaft upVector.
Siehe auch upVector().
[slot] void QCamera::setViewCenter(const QVector3D &viewCenter)
Setzt den Blickpunkt der Kamera auf viewCenter.
Hinweis: Setter -Funktion für die Eigenschaft ` viewCenter`.
Siehe auch viewCenter().
[invokable] void QCamera::tilt(float angle)
Passt den Neigungswinkel der Kamera um angle in Grad an.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] void QCamera::tiltAboutViewCenter(float angle)
Passt die Neigung der Kamera um den Blickpunkt um angle in Grad an.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] QQuaternion QCamera::tiltRotation(float angle) const
Gibt die berechnete Neigungsdrehung in Grad in Bezug auf das angle zurück, die zur Anpassung der Neigung oder der Drehung der Kamera um die X-Achse (nach oben/unten) herangezogen wird.
Hinweis: Diese Funktion kann über das Metaobjekt-System und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
Qt3DCore::QTransform *QCamera::transform() const
Gibt die Position der Kamera über die Transformation zurück.
Hinweis: Getter -Funktion für die Eigenschaft „transform“.
[invokable] void QCamera::translate(const QVector3D &vLocal, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)
Verschiebt die Position der Kamera und ihren Blickvektor um vLocal in lokale Koordinaten. Mit dem Parameter „ option “ kann festgelegt werden, ob der Blickpunkt mitverschoben werden soll.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[invokable] void QCamera::translateWorld(const QVector3D &vWorld, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)
Verschiebt die Position der Kamera und ihren Blickvektor um vWorld in Weltkoordinaten. Mit dem Parameter „ option “ kann festgelegt werden, ob der Blickpunkt mitverschoben werden soll.
Hinweis: Diese Funktion kann über das Metaobjektsystem und aus QML aufgerufen werden. Siehe Q_INVOKABLE.
[slot] void QCamera::viewAll()
Dreht und verschiebt die Kamera so, dass ihr „ viewCenter “ im Mittelpunkt des Begrenzungsvolumens der Szene liegt und die gesamte Szene in den Ansichtsbereich passt.
Hinweis: Funktioniertnur , wenn sich das Objektiv im perspektivischen oder orthogonalen Projektionsmodus befindet.
Siehe auch „ Qt3D.Render::Camera::projectionType “.
[slot] void QCamera::viewEntity(Qt3DCore::QEntity *entity)
Dreht und verschiebt die Kamera so, dass ihr „ viewCenter “ im Mittelpunkt des Begrenzungsvolumens des „ entity “ liegt und die gesamte Entität in den Ansichtsbereich passt.
Hinweis: Funktioniertnur , wenn sich das Objektiv im perspektivischen oder orthogonalen Projektionsmodus befindet.
Siehe auch „ Camera.projectionType “.
[slot] void QCamera::viewSphere(const QVector3D ¢er, float radius)
Dreht und verschiebt die Kamera so, dass ihr „ viewCenter “ auf „ center “ gesetzt ist und eine Kugel mit den Koordinaten „ radius “ in den Ansichtsbereich passt.
Hinweis: Funktioniertnur , wenn sich das Objektiv im perspektivischen oder orthogonalen Projektionsmodus befindet.
Siehe auch Qt3D.Render::Camera::projectionType.
© 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.