Qt3DRender::QCamera Class
class Qt3DRender::QCameraLa 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 ¢er, 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) |
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é.
| Constante | Valeur | Description |
|---|---|---|
Qt3DRender::QCamera::TranslateViewCenter | 0 | Traduire le centre de la vue pour que la direction de la vue reste la même |
Qt3DRender::QCamera::DontTranslateViewCenter | 1 | Ne 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.
- QCameraLens::OrthographicProjection - Les lignes parallèles apparaissent parallèles. Les objets ont la même taille quelle que soit la distance.
- QCameraLens::PerspectiveProjection - Les lignes parallèles semblent se rejoindre au loin. Les objets semblent rétrécir à mesure qu'ils s'éloignent de la caméra.
- QCameraLens::FrustumProjection
- QCameraLens::CustomProjection
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 ¢er, 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.