Sur cette page

Qt3DRender::QCamera Class

class Qt3DRender::QCamera

La 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 &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 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é

ConstanteValeurDescription
Qt3DRender::QCamera::TranslateViewCenter0Déplace le centre de la vue tout en conservant la même direction de vue
Qt3DRender::QCamera::DontTranslateViewCenter1Ne 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 ».

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 &center, 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.