Sur cette page

Qt3DRender::QCamera Class

class Qt3DRender::QCamera

La classe QCamera définit un point de vue à travers lequel la scène sera rendue. Plus d'informations...

En-tête : #include <Qt3DRender/QCamera>
CMake : find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake : QT += 3drender
En QML : Camera
Hérite : Qt3DCore::QEntity
Statut : Déclassé

Types publics

enum CameraTranslationOption { TranslateViewCenter, DontTranslateViewCenter }

Propriétés

Fonctions publiques

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

Emplacements publics

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 &center, float radius)

Signaux

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)

Description détaillée

Documentation des types de membres

enum QCamera::CameraTranslationOption

Cette énumération spécifie la façon dont le centre de la vue de la caméra est translaté.

ConstanteValeurDescription
Qt3DRender::QCamera::TranslateViewCenter0Traduire le centre de la vue pour que la direction de la vue reste la même
Qt3DRender::QCamera::DontTranslateViewCenter1Ne pas traduire le centre de la vue, ce qui entraîne un changement de la direction de la vue

Documentation sur les propriétés

aspectRatio : float

Maintient le rapport d'aspect actuel.

Fonctions d'accès :

float aspectRatio() const
void setAspectRatio(float aspectRatio)

Signal de notification :

void aspectRatioChanged(float aspectRatio)

bottom : float

Détient le bas actuel de la caméra.

Cette propriété n'est pertinente que lorsque projectionType est QCameraLens::OrthographicProjection.

Fonctions d'accès :

float bottom() const
void setBottom(float bottom)

Signal de notification :

void bottomChanged(float bottom)

exposure : float

Indique l'exposition actuelle de l'appareil photo.

La valeur par défaut est 0,0.

Le site MetalRoughMaterial dans Qt 3D Extras est actuellement le seul matériel fourni qui utilise l'exposition de la caméra. Les valeurs négatives assombrissent le matériau et les valeurs positives l'éclaircissent.

Les matériaux personnalisés peuvent choisir d'interpréter la valeur différemment.

Fonctions d'accès :

float exposure() const
void setExposure(float exposure)

Signal de notification :

void exposureChanged(float exposure)

farPlane : float

Détient le plan éloigné de la caméra actuelle. Les objets qui sont plus éloignés de la caméra que le plan éloigné ne seront pas rendus.

Fonctions d'accès :

float farPlane() const
void setFarPlane(float farPlane)

Signal de notification :

void farPlaneChanged(float farPlane)

fieldOfView : float

Indique le champ de vision vertical actuel en degrés.

Avec aspectRatio, cette propriété détermine la partie de la scène visible par la caméra. À cet égard, vous pouvez la considérer comme analogue au choix d'un objectif grand angle (champ de vision horizontal large) ou d'un téléobjectif (champ de vision horizontal étroit) en fonction de la partie de la scène que vous souhaitez capturer.

fieldOfView n'est pertinent que lorsque projectionType est QCameraLens::PerspectiveProjection.

Fonctions d'accès :

float fieldOfView() const
void setFieldOfView(float fieldOfView)

Signal de notification :

void fieldOfViewChanged(float fieldOfView)

left : float

Détient la gauche actuelle de la caméra.

Cette propriété n'est pertinente que lorsque projectionType est QCameraLens::OrthographicProjection.

Fonctions d'accès :

float left() const
void setLeft(float left)

Signal de notification :

void leftChanged(float left)

[read-only] lens : Qt3DRender::QCameraLens* const

Contient le composant Qt3DRender::QCameraLens de la caméra.

Fonctions d'accès :

Qt3DRender::QCameraLens *lens() const

nearPlane : float

Détient le plan proche de la caméra actuelle. Les objets qui sont plus proches de la caméra que le plan proche ne seront pas rendus.

Fonctions d'accès :

float nearPlane() const
void setNearPlane(float nearPlane)

Signal du notificateur :

void nearPlaneChanged(float nearPlane)

position : QVector3D

Détient la position de la caméra en coordonnées par rapport à l'entité mère.

Fonctions d'accès :

QVector3D position() const
void setPosition(const QVector3D &position)

Signal de notification :

void positionChanged(const QVector3D &position)

projectionMatrix : QMatrix4x4

Indique la matrice de projection actuelle de la caméra.

Fonctions d'accès :

QMatrix4x4 projectionMatrix() const
void setProjectionMatrix(const QMatrix4x4 &projectionMatrix)

Signal de notification :

void projectionMatrixChanged(const QMatrix4x4 &projectionMatrix)

projectionType : Qt3DRender::QCameraLens::ProjectionType

Indique le type de projection de la caméra. La valeur par défaut est QCameraLens::PerspectiveProjection.

Fonctions d'accès :

Qt3DRender::QCameraLens::ProjectionType projectionType() const
void setProjectionType(Qt3DRender::QCameraLens::ProjectionType type)

Signal de notification :

void projectionTypeChanged(Qt3DRender::QCameraLens::ProjectionType projectionType)

Voir aussi Qt3DRender::QCameraLens::ProjectionType.

right : float

Détient la droite actuelle de la caméra.

Cette propriété n'est pertinente que lorsque projectionType est QCameraLens::OrthographicProjection.

Fonctions d'accès :

float right() const
void setRight(float right)

Signal de notification :

void rightChanged(float right)

top : float

Indique le sommet actuel de la caméra.

Cette propriété n'est pertinente que lorsque projectionType est QCameraLens::OrthographicProjection.

Fonctions d'accès :

float top() const
void setTop(float top)

Signal de notification :

void topChanged(float top)

[read-only] transform : Qt3DCore::QTransform* const

Contient le composant Qt3DCore::QTransform de la caméra.

Fonctions d'accès :

Qt3DCore::QTransform *transform() const

upVector : QVector3D

Contient le vecteur haut de la caméra en coordonnées relatives à l'entité mère.

Le vecteur haut indique la direction dans laquelle le haut de l'appareil photo est orienté. Imaginez que vous preniez une photo : après vous être positionné et avoir pointé l'appareil photo vers votre cible, vous pouvez faire pivoter l'appareil vers la gauche ou vers la droite, ce qui vous donne un portrait ou un paysage (ou un angle !). upVector vous permet de contrôler ce type de mouvement.

Fonctions d'accès :

QVector3D upVector() const
void setUpVector(const QVector3D &upVector)

Signal de notification :

void upVectorChanged(const QVector3D &upVector)

viewCenter : QVector3D

Détient le centre de vue de la caméra en coordonnées relatives à l'entité mère.

Intuitivement, le viewCenter est l'endroit vers lequel pointe la caméra.

Fonctions d'accès :

QVector3D viewCenter() const
void setViewCenter(const QVector3D &viewCenter)

Signal du notificateur :

void viewCenterChanged(const QVector3D &viewCenter)

[read-only] viewVector : QVector3D

Contient le vecteur de vue de la caméra en coordonnées relatives à l'entité mère.

Ce vecteur décrit le déplacement de la caméra (position) vers sa cible (viewCenter).

Fonctions d'accès :

QVector3D viewVector() const

Signal de notification :

void viewVectorChanged(const QVector3D &viewVector)

Member Function Documentation

[explicit] QCamera::QCamera(Qt3DCore::QNode *parent = nullptr)

Crée une nouvelle instance de QCamera avec l'adresse parent spécifiée.

Qt3DRender::QCameraLens *QCamera::lens() const

Renvoie l'objectif actuel.

Remarque : fonction Getter pour la propriété lens.

[invokable] void QCamera::pan(float angle)

Ajuste l'angle panoramique de la caméra par angle en degrés.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] void QCamera::pan(float angle, const QVector3D &axis)

Ajuste l'angle panoramique de la caméra par angle en degrés sur un site choisi axis.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] void QCamera::panAboutViewCenter(float angle)

Ajuste le panoramique de la caméra par rapport au centre de la vue en angle en degrés.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] void QCamera::panAboutViewCenter(float angle, const QVector3D &axis)

Ajuste le panoramique de la caméra par rapport au centre de la vue en angle en degrés sur axis.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] QQuaternion QCamera::panRotation(float angle) const

Renvoie la rotation panoramique calculée par rapport à angle, en degrés, pour ajuster le panoramique ou la rotation gauche/droite de la caméra sur l'axe Y.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] void QCamera::roll(float angle)

Ajuste le rouleau de la caméra par angle en degrés.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] void QCamera::rollAboutViewCenter(float angle)

Ajuste le roulis de la caméra par rapport au centre de la vue en angle en degrés.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] QQuaternion QCamera::rollRotation(float angle) const

Renvoie la rotation de roulis calculée par rapport à angle, en degrés, pour ajuster le roulis ou la rotation gauche/droite de la caméra sur l'axe Z.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] void QCamera::rotate(const QQuaternion &q)

Fait pivoter la caméra à l'aide d'un quaternion dans q.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] void QCamera::rotateAboutViewCenter(const QQuaternion &q)

Fait pivoter la caméra autour du centre de la vue à l'aide d'un quaternion dans q.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] QQuaternion QCamera::rotation(float angle, const QVector3D &axis) const

Renvoie la rotation calculée par rapport à angle en degrés et le choix de axis pris en compte.

Note : Cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[slot] void QCamera::setAspectRatio(float aspectRatio)

Définit le rapport hauteur/largeur de la caméra sur aspectRatio.

Remarque : fonction de définition de la propriété aspectRatio.

Voir également aspectRatio().

[slot] void QCamera::setBottom(float bottom)

Fixe le bas de la caméra à bottom.

Remarque : fonction de définition de la propriété bottom.

Voir également bottom().

[slot] void QCamera::setExposure(float exposure)

Règle l'exposition de l'appareil photo sur exposure.

Remarque : fonction de réglage pour la propriété exposure.

Voir également exposure().

[slot] void QCamera::setFarPlane(float farPlane)

Définit le plan éloigné de la caméra à farPlane

Remarque : fonction de définition de la propriété farPlane.

Voir également farPlane().

[slot] void QCamera::setFieldOfView(float fieldOfView)

Définit le champ de vision de la caméra à fieldOfView en degrés.

Remarque : fonction de définition de la propriété fieldOfView.

Voir également fieldOfView().

[slot] void QCamera::setLeft(float left)

Fixe la gauche de la caméra à left.

Remarque : fonction de définition de la propriété left.

Voir également left().

[slot] void QCamera::setNearPlane(float nearPlane)

Définit le plan proche de la caméra à nearPlane.

Remarque : fonction de définition de la propriété nearPlane.

Voir également nearPlane().

[slot] void QCamera::setPosition(const QVector3D &position)

Définit la position de la caméra dans l'espace 3D à position.

Remarque : fonction de définition de la propriété position.

Voir également position().

[slot] void QCamera::setProjectionMatrix(const QMatrix4x4 &projectionMatrix)

Définit la matrice de projection de la caméra à projectionMatrix.

Remarque : fonction de définition de la propriété projectionMatrix.

Voir également projectionMatrix().

[slot] void QCamera::setProjectionType(Qt3DRender::QCameraLens::ProjectionType type)

Définit le type de projection de la caméra sur type.

Remarque : fonction de définition de la propriété projectionType.

Voir également projectionType().

[slot] void QCamera::setRight(float right)

Fixe la droite de la caméra à right.

Remarque : fonction de définition de la propriété right.

Voir également right().

[slot] void QCamera::setTop(float top)

Fixe le sommet de la caméra à top.

Remarque : fonction de définition de la propriété top.

Voir également top().

[slot] void QCamera::setUpVector(const QVector3D &upVector)

Définit le vecteur haut de la caméra à upVector.

Remarque : fonction de définition de la propriété upVector.

Voir également upVector().

[slot] void QCamera::setViewCenter(const QVector3D &viewCenter)

Définit le centre de vision de la caméra sur viewCenter.

Remarque : fonction de définition de la propriété viewCenter.

Voir également viewCenter().

[invokable] void QCamera::tilt(float angle)

Règle l'angle d'inclinaison de la caméra par angle en degrés.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] void QCamera::tiltAboutViewCenter(float angle)

Règle l'inclinaison de la caméra par rapport au centre de la vue en angle en degrés.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] QQuaternion QCamera::tiltRotation(float angle) const

Renvoie la rotation de l'inclinaison calculée par rapport à l'adresse angle, en degrés, pour ajuster l'inclinaison ou la rotation haut/bas de la caméra sur l'axe X.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

Qt3DCore::QTransform *QCamera::transform() const

Renvoie la position de la caméra via transform.

Remarque : fonction Getter pour la propriété transform.

[invokable] void QCamera::translate(const QVector3D &vLocal, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)

Traduit la position de la caméra et son vecteur de vue par vLocal en coordonnées locales. L'adresse option permet de basculer si le centre de la vue doit être translaté.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[invokable] void QCamera::translateWorld(const QVector3D &vWorld, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)

Traduit la position de la caméra et son vecteur de vue par vWorld en coordonnées mondiales. L'adresse option permet de basculer si le centre de la vue doit être translaté.

Remarque : cette fonction peut être invoquée via le système de méta-objets et à partir de QML. Voir Q_INVOKABLE.

[slot] void QCamera::viewAll()

Fait pivoter et déplace la caméra de façon à ce que viewCenter soit le centre du volume délimité de la scène et que la scène entière tienne dans le port de visualisation.

Remarque : ne fonctionne que si l'objectif est en mode perspective ou projection orthographique.

Voir également Qt3D.Render::Camera::projectionType.

[slot] void QCamera::viewEntity(Qt3DCore::QEntity *entity)

Fait pivoter et déplace la caméra de manière à ce que son site viewCenter soit au centre du volume délimité de entity et que l'entité entière tienne dans le port de visualisation.

Remarque : ne fonctionne que si l'objectif est en mode perspective ou projection orthographique.

Voir également Camera.projectionType.

[slot] void QCamera::viewSphere(const QVector3D &center, float radius)

Fait pivoter et déplace la caméra de façon à ce que son adresse viewCenter soit center et qu'une sphère de radius s'insère dans la fenêtre de visualisation.

Remarque : ne fonctionne que si l'objectif est en mode perspective ou projection orthographique.

Voir également 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.