Qt3DRender::QCamera Class
class Qt3DRender::QCameraLa classe QCamera définit un point de vue à partir duquel la scène sera affichée. En savoir plus...
| 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 de : | Qt3DCore::QEntity |
| Statut : | Obsolète |
Cette classe est obsolète. Nous déconseillons fortement de l’utiliser dans du nouveau code.
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 sur les types de membres
enum QCamera::CameraTranslationOption
Cette énumération spécifie comment le centre de la vue de la caméra est déplacé
| Constante | Valeur | Description |
|---|---|---|
Qt3DRender::QCamera::TranslateViewCenter | 0 | Déplace le centre de la vue tout en conservant la même direction de vue |
Qt3DRender::QCamera::DontTranslateViewCenter | 1 | Ne pas décaler le centre de la vue, ce qui entraîne un changement de la direction de la vue |
Documentation de la propriété
aspectRatio : float
Conserve le format d'image actuel.
Fonctions d'accès :
| float | aspectRatio() const |
| void | setAspectRatio(float aspectRatio) |
Signal de notification :
| void | aspectRatioChanged(float aspectRatio) |
bottom : float
Contient la position actuelle du bas de la caméra.
Cette propriété n'est pertinente que lorsque la propriété « projectionType » est définie sur « QCameraLens::OrthographicProjection ».
Fonctions d'accès :
| float | bottom() const |
| void | setBottom(float bottom) |
Signal de notification :
| void | bottomChanged(float bottom) |
exposure : float
Contient l'exposition actuelle de l'appareil photo.
La valeur par défaut est 0,0.
Le matériau MetalRoughMaterial, disponible dans la section « Extras » d'Qt 3D, est actuellement le seul matériau fourni qui utilise l'exposition de la caméra. Les valeurs négatives assombrissent le matériau, tandis que les valeurs positives l'éclaircissent.
Les matériaux personnalisés peuvent choisir d'interpréter cette valeur différemment.
Fonctions d’accès :
| float | exposure() const |
| void | setExposure(float exposure) |
Signal de notification :
| void | exposureChanged(float exposure) |
farPlane : float
Contient le plan lointain actuel de la caméra. Les objets situés plus loin de la caméra que le plan lointain ne seront pas affichés.
Fonctions d'accès :
| float | farPlane() const |
| void | setFarPlane(float farPlane) |
Signal de notification :
| void | farPlaneChanged(float farPlane) |
fieldOfView : float
Définit le champ de vision vertical actuel en degrés.
Avec la propriété 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 l'équivalent du choix d'un objectif grand angle (champ de vision horizontal large) ou d'un téléobjectif (champ de vision horizontal étroit), selon la partie de la scène que vous souhaitez capturer.
La propriété `fieldOfView` n'est pertinente que lorsque ` projectionType ` est défini sur ` QCameraLens::PerspectiveProjection`.
Fonctions d’accès :
| float | fieldOfView() const |
| void | setFieldOfView(float fieldOfView) |
Signal de notification :
| void | fieldOfViewChanged(float fieldOfView) |
left : float
Contient la coordonnée « left » actuelle de la caméra.
Cette propriété n'est pertinente que lorsque la valeur de « 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éfinit le plan proche actuel de la caméra. Les objets situés plus près de la caméra que le plan proche ne seront pas affichés.
Fonctions d'accès :
| float | nearPlane() const |
| void | setNearPlane(float nearPlane) |
Signal de notification :
| void | nearPlaneChanged(float nearPlane) |
position : QVector3D
Conserve la position de la caméra en coordonnées par rapport à l'entité parente.
Fonctions d'accès :
| QVector3D | position() const |
| void | setPosition(const QVector3D &position) |
Signal de notification :
| void | positionChanged(const QVector3D &position) |
projectionMatrix : QMatrix4x4
Contient 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
Contient 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 apparaissent de la même taille, quelle que soit leur 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
Contient le droit actuel de la caméra.
Cette propriété n'est pertinente que lorsque la propriété « projectionType » a la valeur « QCameraLens::OrthographicProjection ».
Fonctions d'accès :
| float | right() const |
| void | setRight(float right) |
Signal de notification :
| void | rightChanged(float right) |
top : float
Contient la position actuelle de la caméra.
Cette propriété n'est pertinente que lorsque la propriété « projectionType » est définie sur « 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 « up » de la caméra en coordonnées relatives à l'entité parente.
Le vecteur « up » indique la direction vers laquelle est orientée la partie supérieure de la caméra. Imaginez que vous prenez une photo : après vous être positionné et avoir pointé la caméra vers votre sujet, vous pouvez faire pivoter la caméra vers la gauche ou vers la droite pour obtenir une photo en portrait, en paysage (ou en oblique !). 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
Stocke le centre de la vue de la caméra en coordonnées relatives à l'entité parente.
Intuitivement, le viewCenter correspond à l'emplacement vers lequel la caméra est orientée.
Fonctions d'accès :
| QVector3D | viewCenter() const |
| void | setViewCenter(const QVector3D &viewCenter) |
Signal de notification :
| void | viewCenterChanged(const QVector3D &viewCenter) |
[read-only] viewVector : QVector3D
Contient le vecteur de vue de la caméra en coordonnées relatives à l'entité parente.
Ce vecteur décrit le déplacement entre la caméra (position) et sa cible (viewCenter).
Fonctions d'accès :
| QVector3D | viewVector() const |
Signal de notification :
| void | viewVectorChanged(const QVector3D &viewVector) |
Documentation des fonctions membres
[explicit] QCamera::QCamera(Qt3DCore::QNode *parent = nullptr)
Crée une nouvelle instance de QCamera avec l'parent spécifiée.
Qt3DRender::QCameraLens *QCamera::lens() const
Renvoie le « lens » actuel.
Remarque : fonctiongetter pour la propriété lens.
[invokable] void QCamera::pan(float angle)
Règle l'angle de panoramique de la caméra de angle en degrés.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] void QCamera::pan(float angle, const QVector3D &axis)
Règle l’angle de panoramique de la caméra de angle en degrés sur une valeur choisie axis.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] void QCamera::panAboutViewCenter(float angle)
Règle le panoramique de la caméra autour du centre de la vue de angle en degrés.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] void QCamera::panAboutViewCenter(float angle, const QVector3D &axis)
Règle le panoramique de la caméra autour du centre de la vue de angle en degrés sur axis.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] QQuaternion QCamera::panRotation(float angle) const
Renvoie la rotation en panoramique calculée par rapport à l'angle, exprimée en degrés, qui est utilisée pour ajuster le panoramique ou la rotation gauche/droite de la caméra sur l'axe Y.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] void QCamera::roll(float angle)
Règle le roulis de la caméra de angle en degrés.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] void QCamera::rollAboutViewCenter(float angle)
Permet de décaler le roulis de la caméra autour du centre de la vue de angle en degrés.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] QQuaternion QCamera::rollRotation(float angle) const
Renvoie la rotation de roulis calculée par rapport à l'angle, exprimée en degrés, utilisée pour ajuster la rotation de roulis ou l'inclinaison gauche/droite de la caméra sur l'axe Z.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] void QCamera::rotate(const QQuaternion &q)
Permet de faire pivoter la caméra à l'aide d'un quaternion dans q.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] void QCamera::rotateAboutViewCenter(const QQuaternion &q)
Permet de faire pivoter la caméra autour du centre de la vue à l'aide d'un quaternion dans q.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] QQuaternion QCamera::rotation(float angle, const QVector3D &axis) const
Renvoie la rotation calculée par rapport à l’ angle, en degrés, et selon l’ axis e sélectionnée.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[slot] void QCamera::setAspectRatio(float aspectRatio)
Définit le format d'image de la caméra sur aspectRatio.
Remarque : fonctionde définition de la propriété aspectRatio.
Voir également aspectRatio().
[slot] void QCamera::setBottom(float bottom)
Définit le bas de la caméra sur bottom.
Remarque : fonctionde définition de la propriété bottom.
Voir également bottom().
[slot] void QCamera::setExposure(float exposure)
Définit l'exposition de la caméra sur exposure.
Remarque : fonctionde définition de la propriété exposure.
Voir également exposure().
[slot] void QCamera::setFarPlane(float farPlane)
Définit le plan lointain de la caméra sur farPlane
Remarque : fonctionde 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 sur fieldOfView en degrés.
Remarque : fonctionde définition de la propriété fieldOfView.
Voir aussi fieldOfView().
[slot] void QCamera::setLeft(float left)
Définit le côté gauche de la caméra sur left.
Remarque : fonctionde 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 sur nearPlane.
Remarque : fonctionde 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 à l'adresse position.
Remarque : fonctionde définition de la propriété position.
Voir aussi position().
[slot] void QCamera::setProjectionMatrix(const QMatrix4x4 &projectionMatrix)
Définit la matrice de projection de la caméra sur projectionMatrix.
Remarque : fonctionde 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 : fonctionde définition de la propriété projectionType.
Voir également ` projectionType()` .
[slot] void QCamera::setRight(float right)
Définit la propriété « right » de la caméra sur « right ».
Remarque : fonctionde définition de la propriété right.
Voir également right().
[slot] void QCamera::setTop(float top)
Définit le haut de la caméra sur top.
Remarque : fonctionde définition de la propriété top.
Voir aussi top().
[slot] void QCamera::setUpVector(const QVector3D &upVector)
Définit le vecteur d'orientation de la caméra sur upVector.
Remarque : fonctionde définition de la propriété upVector.
Voir aussi upVector().
[slot] void QCamera::setViewCenter(const QVector3D &viewCenter)
Définit le centre de la vue de la caméra sur viewCenter.
Remarque : fonctionde 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 de angle en degrés.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] void QCamera::tiltAboutViewCenter(float angle)
Règle l'inclinaison de la caméra autour du centre de la vue de angle en degrés.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] QQuaternion QCamera::tiltRotation(float angle) const
Renvoie, en degrés, la rotation d'inclinaison calculée par rapport à l'angle, utilisée pour ajuster l'inclinaison de la caméra ou sa rotation vers le haut ou vers le bas sur l'axe X.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
Qt3DCore::QTransform *QCamera::transform() const
Renvoie la position de la caméra via la transformation.
Remarque : fonctiongetter pour la propriété « transform ».
[invokable] void QCamera::translate(const QVector3D &vLocal, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)
Translate la position de la caméra et son vecteur de vue d'vLocal dans les coordonnées locales. L'option permet de choisir si le centre de la vue doit être déplacé ou non.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[invokable] void QCamera::translateWorld(const QVector3D &vWorld, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)
Translate la position de la caméra et son vecteur de vue d'vWorld dans les coordonnées mondiales. L'option permet de choisir si le centre de la vue doit être déplacé ou non.
Remarque : cette fonction peut être appelée via le système de méta-objets et depuis QML. Voir Q_INVOKABLE.
[slot] void QCamera::viewAll()
Fait pivoter et déplace la caméra de manière à ce que s viewCenter e coïncide avec le centre du volume englobant de la scène et que celle-ci tienne entièrement dans la fenêtre d'affichage.
Remarque : ne fonctionneque si l'objectif est en mode de projection en perspective ou orthographique.
Voir aussi Qt3D.Render::Camera::projectionType.
[slot] void QCamera::viewEntity(Qt3DCore::QEntity *entity)
Fait pivoter et déplace la caméra de manière à ce que s viewCenter e coïncide avec le centre du volume englobant de l'entity, et que l'entité entière tienne dans la fenêtre d'affichage.
Remarque : ne fonctionneque si l'objectif est en mode de projection en perspective ou orthographique.
Voir aussi Camera.projectionType.
[slot] void QCamera::viewSphere(const QVector3D ¢er, float radius)
Fait pivoter et déplace la caméra de manière à ce que son axe d'viewCenter e soit center et qu'une sphère de radius tienne dans la fenêtre d'affichage.
Remarque : ne fonctionneque si l'objectif est en mode de projection en perspective ou 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.