Qt3DRender::QCamera Class
class Qt3DRender::QCameraLa 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 ¢er, 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) |
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
| Constante | Valor | Descripción |
|---|---|---|
Qt3DRender::QCamera::TranslateViewCenter | 0 | Traslada el centro de la vista haciendo que la dirección de la vista permanezca igual |
Qt3DRender::QCamera::DontTranslateViewCenter | 1 | No 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.
- QCameraLens::OrthographicProjection - Las líneas paralelas aparecen paralelas. Los objetos aparecen del mismo tamaño independientemente de la distancia.
- QCameraLens::PerspectiveProjection - Las líneas paralelas parecen encontrarse en la distancia. Los objetos parecen encogerse cuanto más lejos están de la cámara.
- QCameraLens::FrustumProjection
- QCameraLens::CustomProjection
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 ¢er, 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.