QCamera Class
class Qt3DRender::QCameraQCamera 클래스는 씬을 렌더링할 뷰 포인트를 정의합니다. 더 보기...
Header: | #include <Qt3DRender/QCamera> |
CMake: | find_package(Qt6 REQUIRED COMPONENTS 3drender) target_link_libraries(mytarget PRIVATE Qt6::3drender) |
qmake: | QT += 3drender |
QML에서: | Camera |
상속합니다: | Qt3DCore::QEntity |
상태: | Deprecated |
공용 유형
enum | CameraTranslationOption { TranslateViewCenter, DontTranslateViewCenter } |
속성
|
|
공용 기능
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 |
공용 슬롯
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) |
신호
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) |
멤버 유형 문서
enum QCamera::CameraTranslationOption
이 열거형은 카메라 뷰 센터가 변환되는 방식을 지정합니다.
Constant | 값 | 설명 |
---|---|---|
Qt3DRender::QCamera::TranslateViewCenter | 0 | 뷰 중심을 이동시켜 뷰 방향이 동일하게 유지되도록 합니다. |
Qt3DRender::QCamera::DontTranslateViewCenter | 1 | 뷰 중심을 변환하지 않아 뷰 방향이 변경됩니다. |
프로퍼티 문서
aspectRatio : float
현재 종횡비를 유지합니다.
기능에 액세스합니다:
float | aspectRatio() const |
void | setAspectRatio(float aspectRatio) |
알림 신호:
void | aspectRatioChanged(float aspectRatio) |
bottom : float
카메라의 현재 하단을 유지합니다.
이 속성은 projectionType 가 QCameraLens::OrthographicProjection 일 때만 관련됩니다.
기능에 액세스합니다:
float | bottom() const |
void | setBottom(float bottom) |
알림 신호:
void | bottomChanged(float bottom) |
exposure : float
카메라의 현재 노출을 유지합니다.
기본값은 0.0입니다.
Qt 3D Extras의 MetalRoughMaterial 는 현재 카메라 노출을 사용하는 유일한 제공 자료입니다. 음수 값은 머티리얼을 더 어둡게, 양수 값은 더 밝게 만듭니다.
사용자 정의 머티리얼은 값을 다르게 해석하도록 선택할 수 있습니다.
기능에 액세스합니다:
float | exposure() const |
void | setExposure(float exposure) |
알림 신호:
void | exposureChanged(float exposure) |
farPlane : float
현재 카메라 원거리 평면을 유지합니다. 원거리 평면보다 카메라에서 멀리 떨어져 있는 오브젝트는 렌더링되지 않습니다.
함수에 액세스합니다:
float | farPlane() const |
void | setFarPlane(float farPlane) |
알림 신호:
void | farPlaneChanged(float farPlane) |
fieldOfView : float
현재 수직 시야를 도 단위로 유지합니다.
이 속성은 aspectRatio 와 함께 카메라에 표시되는 장면의 범위를 결정합니다. 이 점에서 캡처하려는 장면의 크기에 따라 광각(넓은 수평 시야) 또는 망원(좁은 수평 시야) 렌즈를 선택하는 것과 비슷하다고 생각할 수 있습니다.
fieldOfView는 projectionType 가 QCameraLens::PerspectiveProjection 일 때만 관련이 있습니다.
기능에 액세스합니다:
float | fieldOfView() const |
void | setFieldOfView(float fieldOfView) |
알림 신호:
void | fieldOfViewChanged(float fieldOfView) |
left : float
카메라의 현재 왼쪽을 유지합니다.
이 속성은 projectionType 가 QCameraLens::OrthographicProjection 일 때만 관련됩니다.
기능에 액세스합니다:
float | left() const |
void | setLeft(float left) |
알림 신호:
void | leftChanged(float left) |
[read-only]
lens : Qt3DRender::QCameraLens* const
카메라의 Qt3DRender::QCameraLens 컴포넌트를 보유합니다.
기능에 액세스합니다:
Qt3DRender::QCameraLens * | lens() const |
nearPlane : float
현재 카메라를 평면에 가깝게 유지합니다. 니어 플레인보다 카메라에 더 가까운 오브젝트는 렌더링되지 않습니다.
함수에 액세스합니다:
float | nearPlane() const |
void | setNearPlane(float nearPlane) |
알림 신호:
void | nearPlaneChanged(float nearPlane) |
position : QVector3D
상위 엔티티를 기준으로 카메라의 위치를 좌표로 유지합니다.
기능에 액세스합니다:
QVector3D | position() const |
void | setPosition(const QVector3D &position) |
알림 신호:
void | positionChanged(const QVector3D &position) |
projectionMatrix : QMatrix4x4
카메라의 현재 투사 매트릭스를 보유합니다.
기능에 액세스합니다:
QMatrix4x4 | projectionMatrix() const |
void | setProjectionMatrix(const QMatrix4x4 &projectionMatrix) |
알림 신호:
void | projectionMatrixChanged(const QMatrix4x4 &projectionMatrix) |
projectionType : Qt3DRender::QCameraLens::ProjectionType
카메라 투사 유형을 보유합니다. 기본값은 QCameraLens::PerspectiveProjection 입니다.
- QCameraLens::OrthographicProjection - 평행선은 평행하게 나타납니다. 개체는 거리에 관계없이 같은 크기로 나타납니다.
- QCameraLens::PerspectiveProjection - 평행선은 멀리서 만나는 것처럼 보입니다. 객체는 카메라에서 멀어질수록 축소되어 나타납니다.
- QCameraLens::FrustumProjection
- QCameraLens::CustomProjection
기능에 액세스합니다:
Qt3DRender::QCameraLens::ProjectionType | projectionType() const |
void | setProjectionType(Qt3DRender::QCameraLens::ProjectionType type) |
알림 신호:
void | projectionTypeChanged(Qt3DRender::QCameraLens::ProjectionType projectionType) |
Qt3DRender::QCameraLens::ProjectionType 를참조하세요 .
right : float
카메라의 현재 오른쪽을 유지합니다.
이 속성은 projectionType 이 QCameraLens::OrthographicProjection 일 때만 관련됩니다.
기능에 액세스합니다:
float | right() const |
void | setRight(float right) |
알림 신호:
void | rightChanged(float right) |
top : float
카메라의 현재 상단을 유지합니다.
이 속성은 projectionType 이 QCameraLens::OrthographicProjection 일 때만 관련됩니다.
기능에 액세스합니다:
float | top() const |
void | setTop(float top) |
알림 신호:
void | topChanged(float top) |
[read-only]
transform : Qt3DCore::QTransform* const
카메라의 Qt3DCore::QTransform 컴포넌트를 보유합니다.
기능에 액세스합니다:
Qt3DCore::QTransform * | transform() const |
upVector : QVector3D
카메라의 위쪽 벡터를 부모 엔티티를 기준으로 한 좌표로 유지합니다.
위쪽 벡터는 카메라의 위쪽이 어느 방향을 향하고 있는지를 나타냅니다. 사진을 찍는다고 생각해보세요. 자신의 위치를 정하고 카메라를 대상에 맞춘 후 카메라를 왼쪽이나 오른쪽으로 회전하여 인물 또는 풍경(또는 앵글!) 사진을 찍을 수 있습니다. upVector를 사용하면 이러한 유형의 움직임을 제어할 수 있습니다.
기능에 액세스하세요:
QVector3D | upVector() const |
void | setUpVector(const QVector3D &upVector) |
알림 신호:
void | upVectorChanged(const QVector3D &upVector) |
viewCenter : QVector3D
카메라의 뷰 중심을 부모 엔티티를 기준으로 한 좌표로 유지합니다.
직관적으로 뷰센터는 카메라가 가리키고 있는 위치입니다.
함수에 액세스합니다:
QVector3D | viewCenter() const |
void | setViewCenter(const QVector3D &viewCenter) |
알림 신호:
void | viewCenterChanged(const QVector3D &viewCenter) |
[read-only]
viewVector : const QVector3D
카메라의 뷰 벡터를 상위 엔티티를 기준으로 한 좌표로 유지합니다.
이 벡터는 카메라(position)에서 대상(viewCenter)으로의 변위를 나타냅니다.
액세스 함수:
QVector3D | viewVector() const |
알림 신호:
void | viewVectorChanged(const QVector3D &viewVector) |
멤버 함수 문서
[explicit]
QCamera::QCamera(Qt3DCore::QNode *parent = nullptr)
지정된 parent 으로 새 QCamera 인스턴스를 생성합니다.
Qt3DRender::QCameraLens *QCamera::lens() const
현재 렌즈를 반환합니다.
참고: 프로퍼티 렌즈의 겟터 함수입니다.
[invokable]
void QCamera::pan(float angle)
카메라의 팬 각도를 angle 도 단위로 조정합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
void QCamera::pan(float angle, const QVector3D &axis)
선택한 axis 에서 카메라의 팬 각도를 angle 도 조정합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
void QCamera::panAboutViewCenter(float angle)
보기 중심을 기준으로 카메라 팬을 angle 각도 단위로 조정합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
void QCamera::panAboutViewCenter(float angle, const QVector3D &axis)
axis 에서 카메라 팬을 뷰 중심을 향해 angle 도 조정합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
QQuaternion QCamera::panRotation(float angle) const
카메라의 팬 또는 Y축의 좌우 회전을 조정하기 위해 입력된 각도( angle )를 기준으로 계산된 팬 회전을 반환합니다.
참고: 이 함수는 메타 오브젝트 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
void QCamera::roll(float angle)
카메라 롤을 angle 각도만큼 조정합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
void QCamera::rollAboutViewCenter(float angle)
보기 중심을 중심으로 카메라 롤을 각도( angle )로 조정합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
QQuaternion QCamera::rollRotation(float angle) const
카메라의 롤 또는 Z축의 왼쪽/오른쪽 회전을 조정하기 위해 입력된 각도( angle )를 기준으로 계산된 롤 회전을 반환합니다.
참고: 이 함수는 메타 오브젝트 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
void QCamera::rotate(const QQuaternion &q)
q 에서 쿼터니언을 사용하여 카메라를 회전합니다.
참고: 이 함수는 메타 오브젝트 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
void QCamera::rotateAboutViewCenter(const QQuaternion &q)
q 에서 쿼터니언을 사용하여 뷰 중심을 중심으로 카메라를 회전합니다.
참고: 이 함수는 메타 오브젝트 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하십시오.
[invokable]
QQuaternion QCamera::rotation(float angle, const QVector3D &axis) const
입력된 angle 및 선택된 axis 에 대해 계산된 회전을 도 단위로 반환합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[slot]
void QCamera::setAspectRatio(float aspectRatio)
카메라의 종횡비를 aspectRatio 로 설정합니다.
참고: 속성에 대한 세터 함수 aspectRatio.
aspectRatio()도 참조하세요 .
[slot]
void QCamera::setBottom(float bottom)
카메라 하단을 bottom 로 설정합니다.
참고: 속성에 대한 세터 함수 bottom.
bottom()도 참조하세요 .
[slot]
void QCamera::setExposure(float exposure)
카메라의 노출을 exposure 으로 설정합니다.
참고: exposure 속성에 대한 세터 함수.
exposure()도 참조하세요 .
[slot]
void QCamera::setFarPlane(float farPlane)
카메라의 원거리 평면을 다음과 같이 설정합니다. farPlane
참고: 프로퍼티의 세터 함수 farPlane.
farPlane()도 참조하세요 .
[slot]
void QCamera::setFieldOfView(float fieldOfView)
카메라의 시야각을 fieldOfView (도)로 설정합니다.
참고: 속성의 세터 함수 fieldOfView.
fieldOfView()도 참조하세요 .
[slot]
void QCamera::setLeft(float left)
카메라 왼쪽을 left 로 설정합니다.
참고: 속성에 대한 세터 함수 left.
left()도 참조하세요 .
[slot]
void QCamera::setNearPlane(float nearPlane)
카메라의 근거리 평면을 nearPlane 로 설정합니다.
참고: 속성에 대한 세터 함수 nearPlane.
nearPlane()도 참조하세요 .
[slot]
void QCamera::setPosition(const QVector3D &position)
3D 공간에서 카메라의 위치를 position 로 설정합니다.
참고: 속성에 대한 세터 함수 position.
position()도 참조하세요 .
[slot]
void QCamera::setProjectionMatrix(const QMatrix4x4 &projectionMatrix)
카메라의 투사 매트릭스를 projectionMatrix 로 설정합니다.
참고: 속성의 세터 함수 projectionMatrix.
projectionMatrix()도 참조하세요 .
[slot]
void QCamera::setProjectionType(Qt3DRender::QCameraLens::ProjectionType type)
카메라의 투사 유형을 type 로 설정합니다.
참고: 속성에 대한 세터 함수 projectionType.
projectionType()도 참조하세요 .
[slot]
void QCamera::setRight(float right)
카메라 오른쪽을 right 로 설정합니다.
참고: 속성에 대한 세터 함수 right.
right()도 참조하세요 .
[slot]
void QCamera::setTop(float top)
카메라 상단을 top 로 설정합니다.
참고: 속성에 대한 세터 함수 top.
top()도 참조하세요 .
[slot]
void QCamera::setUpVector(const QVector3D &upVector)
카메라의 업 벡터를 upVector 로 설정합니다.
참고: 속성에 대한 세터 함수 upVector.
upVector()도 참조하세요 .
[slot]
void QCamera::setViewCenter(const QVector3D &viewCenter)
카메라의 뷰 중심을 viewCenter 으로 설정합니다.
참고: 속성에 대한 세터 함수 viewCenter.
viewCenter()도 참조하세요 .
[invokable]
void QCamera::tilt(float angle)
카메라의 기울기 각도( angle )를 각도 단위로 조정합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
void QCamera::tiltAboutViewCenter(float angle)
보기 중심을 기준으로 카메라 기울기를 angle 정도 조정합니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
QQuaternion QCamera::tiltRotation(float angle) const
카메라의 기울기 또는 X축의 위/아래 회전을 조정하기 위해 입력된 각도( angle )를 기준으로 계산된 기울기 회전을 반환합니다.
참고: 이 함수는 메타 오브젝트 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
Qt3DCore::QTransform *QCamera::transform() const
트랜스폼을 통해 카메라의 위치를 반환합니다.
참고: 프로퍼티 트랜스폼용 게터 함수입니다.
[invokable]
void QCamera::translate(const QVector3D &vLocal, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)
카메라의 위치와 뷰 벡터를 로컬 좌표( vLocal )로 변환합니다. option 을 통해 뷰 중심을 변환할지 여부를 전환할 수 있습니다.
참고: 이 함수는 메타 객체 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[invokable]
void QCamera::translateWorld(const QVector3D &vWorld, Qt3DRender::QCamera::CameraTranslationOption option = TranslateViewCenter)
카메라의 위치와 뷰 벡터를 vWorld 으로 세계 좌표로 변환합니다. option 을 통해 뷰 중심을 변환할지 여부를 전환할 수 있습니다.
참고: 이 함수는 메타 오브젝트 시스템과 QML을 통해 호출할 수 있습니다. Q_INVOKABLE 을 참조하세요.
[slot]
void QCamera::viewAll()
viewCenter 이 씬의 바운딩 볼륨의 중심이 되고 전체 씬이 뷰 포트에 맞도록 카메라를 회전하고 이동합니다.
참고: 렌즈가 원근 또는 직교 투영 모드인 경우에만 작동합니다.
Qt3D.Render::Camera::projectionType 를참조하십시오 .
[slot]
void QCamera::viewEntity(Qt3DCore::QEntity *entity)
viewCenter 이 entity 의 바운딩 볼륨의 중심이 되고 전체 엔티티가 뷰 포트에 맞도록 카메라를 회전하고 이동합니다.
참고: 렌즈가 원근 또는 직교 투영 모드인 경우에만 작동합니다.
Camera.projectionType 를참조하세요 .
[slot]
void QCamera::viewSphere(const QVector3D ¢er, float radius)
viewCenter 이 center 이 되고 radius 의 구가 뷰포트에 맞도록 카메라를 회전하고 이동합니다.
참고: 렌즈가 원근 또는 직교 투영 모드인 경우에만 작동합니다.
Qt3D.Render::Camera::projectionType도 참조하세요 .
© 2025 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.