En esta página

Qt3DRender::QCamera Class

class Qt3DRender::QCamera

La clase QCamera define un punto de vista a través del cual se renderizará la escena. Más...

Cabecera: #include <Qt3DRender/QCamera>
CMake: find_package(Qt6 REQUIRED COMPONENTS 3drender)
target_link_libraries(mytarget PRIVATE Qt6::3drender)
qmake: QT += 3drender
En QML: Camera
Hereda: Qt3DCore::QEntity
Status: Obsoleto

Tipos públicos

enum CameraTranslationOption { TranslateViewCenter, DontTranslateViewCenter }

Propiedades

Funciones públicas

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

Ranuras públicas

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)

Señales

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)

Descripción detallada

Documentación de los tipos de miembros

enum QCamera::CameraTranslationOption

Este enum especifica cómo se traslada el centro de vista de la cámara

ConstanteValorDescripción
Qt3DRender::QCamera::TranslateViewCenter0Traslada el centro de la vista haciendo que la dirección de la vista permanezca igual
Qt3DRender::QCamera::DontTranslateViewCenter1No traslada el centro de la vista haciendo que la dirección de la vista cambie

Documentación de la propiedad

aspectRatio : float

Mantiene la relación de aspecto actual.

Funciones de acceso:

float aspectRatio() const
void setAspectRatio(float aspectRatio)

Señal de aviso:

void aspectRatioChanged(float aspectRatio)

bottom : float

Mantiene el fondo actual de la cámara.

Esta propiedad sólo es relevante cuando projectionType es QCameraLens::OrthographicProjection.

Funciones de acceso:

float bottom() const
void setBottom(float bottom)

Señal del notificador:

void bottomChanged(float bottom)

exposure : float

Mantiene la exposición actual de la cámara.

El valor por defecto es 0.0.

El MetalRoughMaterial en Qt 3D Extras es actualmente el único material proporcionado que hace uso de la exposición de la cámara. Valores negativos harán que el material sea más oscuro, y valores positivos harán que sea más claro.

Los materiales personalizados pueden elegir interpretar el valor de forma diferente.

Funciones de acceso:

float exposure() const
void setExposure(float exposure)

Señal de aviso:

void exposureChanged(float exposure)

farPlane : float

Mantiene el plano lejano actual de la cámara. Los objetos que estén más lejos de la cámara que el farPlane no se renderizarán.

Funciones de acceso:

float farPlane() const
void setFarPlane(float farPlane)

Señal del notificador:

void farPlaneChanged(float farPlane)

fieldOfView : float

Indica el campo de visión vertical actual en grados.

Junto con aspectRatio, esta propiedad determina qué parte de la escena es visible para la cámara. En este sentido, puede considerarse análoga a la elección de un objetivo gran angular (amplio campo de visión horizontal) o teleobjetivo (estrecho campo de visión horizontal) en función de la parte de la escena que se desee capturar.

fieldOfView sólo es relevante cuando projectionType es QCameraLens::PerspectiveProjection.

Funciones de acceso:

float fieldOfView() const
void setFieldOfView(float fieldOfView)

Señal del notificador:

void fieldOfViewChanged(float fieldOfView)

left : float

Mantiene la izquierda actual de la cámara.

Esta propiedad sólo es relevante cuando projectionType es QCameraLens::OrthographicProjection.

Funciones de acceso:

float left() const
void setLeft(float left)

Señal del notificador:

void leftChanged(float left)

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

Contiene el componente Qt3DRender::QCameraLens de la cámara.

Funciones de acceso:

Qt3DRender::QCameraLens *lens() const

nearPlane : float

Mantiene el plano cercano a la cámara actual. Los objetos que estén más cerca de la cámara que el nearPlane no se renderizarán.

Funciones de acceso:

float nearPlane() const
void setNearPlane(float nearPlane)

Señal del notificador:

void nearPlaneChanged(float nearPlane)

position : QVector3D

Mantiene la posición de la cámara en coordenadas relativas a la entidad padre.

Funciones de acceso:

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

Señal del notificador:

void positionChanged(const QVector3D &position)

projectionMatrix : QMatrix4x4

Mantiene la matriz de proyección actual de la cámara.

Funciones de acceso:

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

Señal del notificador:

void projectionMatrixChanged(const QMatrix4x4 &projectionMatrix)

projectionType : Qt3DRender::QCameraLens::ProjectionType

Indica el tipo de proyección de la cámara. El valor por defecto es QCameraLens::PerspectiveProjection.

Funciones de acceso:

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

Señal de aviso:

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

Véase también Qt3DRender::QCameraLens::ProjectionType.

right : float

Mantiene la derecha actual de la cámara.

Esta propiedad sólo es relevante cuando projectionType es QCameraLens::OrthographicProjection.

Funciones de acceso:

float right() const
void setRight(float right)

Señal del notificador:

void rightChanged(float right)

top : float

Mantiene el tope actual de la cámara.

Esta propiedad sólo es relevante cuando projectionType es QCameraLens::OrthographicProjection.

Funciones de acceso:

float top() const
void setTop(float top)

Señal del notificador:

void topChanged(float top)

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

Contiene el componente Qt3DCore::QTransform de la cámara.

Funciones de acceso:

Qt3DCore::QTransform *transform() const

upVector : QVector3D

Mantiene el vector superior de la cámara en coordenadas relativas a la entidad padre.

El vector superior indica en qué dirección está orientada la parte superior de la cámara. Piense en hacer una foto: después de posicionarse y apuntar con la cámara a su objetivo, puede girar la cámara a la izquierda o a la derecha, obteniendo un retrato o un paisaje (¡o un ángulo!). upVector le permite controlar este tipo de movimiento.

Funciones de acceso:

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

Señal de aviso:

void upVectorChanged(const QVector3D &upVector)

viewCenter : QVector3D

Mantiene el centro de vista de la cámara en coordenadas relativas a la entidad padre.

Intuitivamente, el viewCenter es la ubicación a la que apunta la cámara.

Funciones de acceso:

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

Señal del notificador:

void viewCenterChanged(const QVector3D &viewCenter)

[read-only] viewVector : QVector3D

Contiene el vector de vista de la cámara en coordenadas relativas a la entidad padre.

Este vector describe el desplazamiento desde la cámara (position) hasta su objetivo (viewCenter).

Funciones de acceso:

QVector3D viewVector() const

Señal notificadora:

void viewVectorChanged(const QVector3D &viewVector)

Documentación de la función miembro

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

Crea una nueva instancia de QCamera con la dirección parent especificada.

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

Devuelve la lente actual.

Nota: Función Getter para la propiedad lens.

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

Ajusta el ángulo panorámico de la cámara en angle en grados.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Ajusta el ángulo panorámico de la cámara mediante angle en grados en un axis elegido.

Nota: Esta función puede ser invocada a través del sistema de meta-objetos y desde QML. Véase Q_INVOKABLE.

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

Ajusta la panorámica de la cámara respecto al centro de la vista en angle en grados.

Nota: Esta función puede ser invocada a través del sistema de meta-objetos y desde QML. Véase Q_INVOKABLE.

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

Ajusta la panorámica de la cámara respecto al centro de la vista en angle en grados en axis.

Nota: Esta función puede ser invocada a través del sistema de meta-objetos y desde QML. Véase Q_INVOKABLE.

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

Devuelve la rotación panorámica calculada en relación con angle en grados tomados para ajustar la rotación panorámica o izquierda/derecha de la cámara en el eje Y.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Ajusta el rollo de la cámara en angle en grados.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Ajusta el giro de la cámara alrededor del centro de la vista en angle en grados.

Nota: Esta función puede ser invocada a través del sistema de meta-objetos y desde QML. Véase Q_INVOKABLE.

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

Devuelve la rotación de balanceo calculada en relación a angle en grados tomados para ajustar la rotación de balanceo o inclinación izquierda/derecha de la cámara en el eje Z.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Rota la cámara con el uso de un Quaternion en q.

Nota: Esta función puede ser invocada a través del sistema de meta-objetos y desde QML. Véase Q_INVOKABLE.

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

Rota la cámara alrededor del centro de la vista con el uso de un Quaternion en q.

Nota: Esta función puede ser invocada a través del sistema de meta-objetos y desde QML. Véase Q_INVOKABLE.

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

Devuelve la rotación calculada en relación a la angle en grados y elegida axis tomada en.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Establece la relación de aspecto de la cámara en aspectRatio.

Nota: Función Setter para la propiedad aspectRatio.

Véase también aspectRatio().

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

Establece la parte inferior de la cámara en bottom.

Nota: Función Setter para la propiedad bottom.

Véase también bottom().

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

Fija la exposición de la cámara en exposure.

Nota: Función Setter para la propiedad exposure.

Véase también exposure().

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

Establece el plano lejano de la cámara en farPlane

Nota: Función Setter para la propiedad farPlane.

Véase también farPlane().

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

Establece el campo de visión de la cámara en fieldOfView en grados.

Nota: Función Setter para la propiedad fieldOfView.

Véase también fieldOfView().

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

Establece la izquierda de la cámara en left.

Nota: Función Setter para la propiedad left.

Véase también left().

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

Establece el plano cercano de la cámara en nearPlane.

Nota: Función Setter para la propiedad nearPlane.

Véase también nearPlane().

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

Establece la posición de la cámara en el espacio 3D en position.

Nota: Función Setter para la propiedad position.

Véase también position().

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

Establece la matriz de proyección de la cámara en projectionMatrix.

Nota: Función Setter para la propiedad projectionMatrix.

Véase también projectionMatrix().

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

Establece el tipo de proyección de la cámara en type.

Nota: Función Setter para la propiedad projectionType.

Véase también projectionType().

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

Establece la derecha de la cámara en right.

Nota: Función Setter para la propiedad right.

Véase también right().

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

Establece la parte superior de la cámara en top.

Nota: Función Setter para la propiedad top.

Véase también top().

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

Establece el vector ascendente de la cámara en upVector.

Nota: Función Setter para la propiedad upVector.

Véase también upVector().

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

Establece el centro de vista de la cámara en viewCenter.

Nota: Función Setter para la propiedad viewCenter.

Véase también viewCenter().

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

Ajusta el ángulo de inclinación de la cámara en angle en grados.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Ajusta la inclinación de la cámara respecto al centro de la vista en angle en grados.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Devuelve la rotación de inclinación calculada en relación con angle en grados tomados para ajustar la inclinación de la cámara o la rotación arriba/abajo en el eje X.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Devuelve la posición de la cámara mediante transform.

Nota: Función Getter para la propiedad transform.

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

Traslada la posición de la cámara y su vector de vista en vLocal en coordenadas locales. El option permite alternar si el centro de vista debe ser trasladado.

Nota: Esta función puede invocarse a través del sistema de metaobjetos y desde QML. Véase Q_INVOKABLE.

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

Traslada la posición de la cámara y su vector de vista en vWorld en coordenadas globales. El option permite conmutar si el centro de vista debe ser trasladado.

Nota: Esta función puede ser invocada a través del sistema de meta-objetos y desde QML. Véase Q_INVOKABLE.

[slot] void QCamera::viewAll()

Rota y mueve la cámara para que su viewCenter sea el centro del volumen de la escena y toda la escena quepa en el puerto de vista.

Nota: Sólo funciona si el objetivo está en modo perspectiva o proyección ortográfica.

Ver también Qt3D.Render::Camera::projectionType.

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

Rota y mueve la cámara para que su viewCenter sea el centro del volumen delimitador de entity y toda la entidad quepa en el puerto de vista.

Nota: Sólo funciona si el objetivo está en modo perspectiva o proyección ortográfica.

Véase también Camera.projectionType.

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

Rota y mueve la cámara para que su viewCenter sea center y una esfera de radius quepa en el puerto de visión.

Nota: Sólo funciona si el objetivo está en modo perspectiva o proyección ortográfica.

Ver también 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.